未定义 Razorpay
Razorpay is not defined
我是第一次集成支付网关。我发现了一些使用网关文档的代码,代码类似于
<form action="/purchase" method="POST">
<!--Note that the amount is in paise = 50 INR -->
<script
src="https://checkout.razorpay.com/v1/checkout.js"
data-key="************"
data-amount="100"
data-buttontext="proceed to payment"
data-name="test"
data-description="Purchase Description"
data-image="logo"
data-prefill.name="mnbvc"
data-prefill.email="adsdasdd"
data-theme.color="#F37254"
></script>
<input type="hidden" value="Hidden Element" name="hidden">
</form>
如果我点击 proceed to payment
按钮,它会正常工作。
现在我做了什么,我更改了代码并添加了一个名为
的按钮
<input type="button" id="proceedToPayment" name="proceedToPayment" value="Proceed To Payment">
如果任何用户单击该按钮,它将调用下面的函数,但它不起作用。在控制台中,我收到错误 Razorpay is not defined
.
$("#proceedToPayment").click(function(e){
payeeamount = $("#totalDetails").val();
var options = {
"key": "*******",
"amount":payeeamount, // 2000 paise = INR 20
"name": "dasd",
"description": "Purchase Description",
"image": "logo",
"handler": function (response){
/*.razorpay_payment_id*/
confirmpayment(response);
},
"prefill": {
"name": "",
"email": ""
},
"theme": {
"color": "#F37254"
}
};
var rzp1 = new Razorpay(options);
rzp1.open();
e.preventDefault();
});
function confirmpayment(response){
response['action']='processSessionReq';
$.ajax({
type:"POST",
url:"processpage.php",
data: response,
success: function (data) {
window.location = "TransactionSuccess.php";
}
});
}
您的代码没有任何问题。只需确保在点击事件之前添加了 checkout js。在 javascript 代码之前的脚本标记中使用“https://checkout.razorpay.com/v1/checkout.js”。
您可以像这样添加 Razorpay 源
`
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script
data-key="************"
data-amount="100"
data-buttontext="proceed to payment"
data-name="test"
data-description="Purchase Description"
data-image="logo"
data-prefill.name="mnbvc"
data-prefill.email="adsdasdd"
data-theme.color="#F37254"
></script>
`
然后你可以像上面一样添加剩余的包含数据的脚本标签(试试看)。
我是第一次集成支付网关。我发现了一些使用网关文档的代码,代码类似于
<form action="/purchase" method="POST">
<!--Note that the amount is in paise = 50 INR -->
<script
src="https://checkout.razorpay.com/v1/checkout.js"
data-key="************"
data-amount="100"
data-buttontext="proceed to payment"
data-name="test"
data-description="Purchase Description"
data-image="logo"
data-prefill.name="mnbvc"
data-prefill.email="adsdasdd"
data-theme.color="#F37254"
></script>
<input type="hidden" value="Hidden Element" name="hidden">
</form>
如果我点击 proceed to payment
按钮,它会正常工作。
现在我做了什么,我更改了代码并添加了一个名为
的按钮<input type="button" id="proceedToPayment" name="proceedToPayment" value="Proceed To Payment">
如果任何用户单击该按钮,它将调用下面的函数,但它不起作用。在控制台中,我收到错误 Razorpay is not defined
.
$("#proceedToPayment").click(function(e){
payeeamount = $("#totalDetails").val();
var options = {
"key": "*******",
"amount":payeeamount, // 2000 paise = INR 20
"name": "dasd",
"description": "Purchase Description",
"image": "logo",
"handler": function (response){
/*.razorpay_payment_id*/
confirmpayment(response);
},
"prefill": {
"name": "",
"email": ""
},
"theme": {
"color": "#F37254"
}
};
var rzp1 = new Razorpay(options);
rzp1.open();
e.preventDefault();
});
function confirmpayment(response){
response['action']='processSessionReq';
$.ajax({
type:"POST",
url:"processpage.php",
data: response,
success: function (data) {
window.location = "TransactionSuccess.php";
}
});
}
您的代码没有任何问题。只需确保在点击事件之前添加了 checkout js。在 javascript 代码之前的脚本标记中使用“https://checkout.razorpay.com/v1/checkout.js”。
您可以像这样添加 Razorpay 源 `
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script
data-key="************"
data-amount="100"
data-buttontext="proceed to payment"
data-name="test"
data-description="Purchase Description"
data-image="logo"
data-prefill.name="mnbvc"
data-prefill.email="adsdasdd"
data-theme.color="#F37254"
></script>
` 然后你可以像上面一样添加剩余的包含数据的脚本标签(试试看)。