中的
我正在使用一个支付网关(razorpay),我通过一定的金额,然后支付金额,但在它的金额是固定的按钮内,如所示
<script
id="myScript"
src="https://checkout.razorpay.com/v1/checkout.js"
data-amount="20000"
data-buttontext="Payment"
></script>
现在我想做的是允许用户输入任何值(以Rs为单位)通过输入如下所示
<?php
$data = array(
'id'=>"myInput",
'type'=>'text',
'class' => "form-control",
'name'=>'value',
'autocomplete'=>'off',
'placeholder'=>'Amount for wallet'
);
?>
<?php echo form_input($data); ?>
输入的金额应该被转换为paise,然后将其传递到razor pay脚本中。
为此,我使用了keyup功能,并将data-amount
留空,如下所示
<script
id="myScript"
src="https://checkout.razorpay.com/v1/checkout.js"
data-amount=""
data-buttontext="Payment"
></script>
<script>
$('#myInput').on('keyup',function(e){
$('#myScript').data('amount', $(this).val());
});
</script>
但问题是,如果我留下的值空白,razorpay按钮消失,如果它不是空白,那么它不会选择所需的值。
谁能告诉我如何将用户输入的值传递到razorpay
data-amount
您需要在更改时删除包含的脚本,并以新的数量重新包含脚本。
支付网关API DOC link
$(document).ready(function() {
$('#myInput').on('keyup', function(e) {
/* Remove Old amount script */
$(document).find("#myScript").remove();
/* Include new amount script */
$('head').append('<script type="text/javascript" src="https://checkout.razorpay.com/v1/checkout.js" id="myScript" data-amount="' + $(this).val() + '" data-buttontext="Payment" ></script>');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myInput" value="" />