如何在 Vue.js 中集成 razorpay

How to integrate razorpay in Vue.js

我正在使用 Vue js Cdn 而不是使用节点。所以我想知道如何在 Vue 中集成 Razorpay,因为 Vue 模板脚本标签是不允许的。谁能帮我解决这个问题

您必须按照 Razorpay 文档中的说明实施手动结帐。阅读 this 以供参考。您可以在 index.html.

中包含脚本标签
<button id="rzp-button1">Pay</button>
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script>
var options = {
    "key": "YOUR_KEY_ID",
    "amount": "2000", // 2000 paise = INR 20
    "name": "Merchant Name",
    "description": "Purchase Description",
    "image": "/your_logo.png",
    "handler": function (response){
        alert(response.razorpay_payment_id);
    },
    "prefill": {
        "name": "Gaurav Kumar",
        "email": "test@test.com"
    },
    "notes": {
        "address": "Hello World"
    },
    "theme": {
        "color": "#F37254"
    }
};
var rzp1 = new Razorpay(options);

document.getElementById('rzp-button1').onclick = function(e){
    rzp1.open();
    e.preventDefault();
}
</script> 

这个有效

添加 ref 元素

<div ref="rzpform"></div>

然后以编程方式将脚本标记附加到 mounted 事件。

var form = document.createElement("form");
var rzpScript = document.createElement("script");
rzpScript['src']="https://cdn.razorpay.com/static/widget/subscription-button.js";
rzpScript.setAttribute('data-subscription_button_id', "pl_IXOuwF4EldEpc5");
rzpScript.setAttribute('async', true);
form.appendChild(rzpScript);
this.$refs.rzpform.appendChild(form);