2016-11-03 4 views
3

Я использую платежный шлюз (razorpay), где я пройти определенную сумму, а затем заплатить сумму, однако в нем сумма фиксируется внутри кнопки, как показаноне в состоянии передать значение в сценарии

<script 
    id="myScript" 
    src="https://checkout.razorpay.com/v1/checkout.js" 
    data-amount="20000" 
    data-buttontext="Payment" 
></script> 

Теперь то, что я пытаюсь сделать, это позволить пользователю ввести любое значение (в РТС) через вход, как приведено ниже

<?php 
    $data = array(
     'id'=>"myInput", 
     'type'=>'text', 
     'class' => "form-control", 
     'name'=>'value', 
     'autocomplete'=>'off', 
     'placeholder'=>'Amount for wallet' 
     ); 
?> 
<?php echo form_input($data); ?> 

и что когда-либо сумма вводится должна преобразуются в Paise, а затем передать его в бритве оплаты скрипт.

Для этого я использовал 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 исчезает, и если его не пустым, то это не выбрав желаемое значение.

Может кто-нибудь, пожалуйста, как я могу передать значение, введенное пользователем в data-amount в razorpay

ответ

0

вам нужно удалить включенный скрипт на изменениях и повторно включить скрипт с новой суммой.

Платежный шлюз 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="" />