首页 > 解决方案 > 从javascript代码访问json函数变量到Angular6

问题描述

我只是想在哪里实现 Razorpay 结帐,它会像这样处理 paymentid 的响应:

options = {
    'key': 'rzp_test_xxxxxxxxxx',
    'amount': 0, // 2000 paise = INR 20
    'name': 'JJJJ',
    'description': 'Purchase Description',
    'image': '../../../../assets/img/jiffylogo.png',
    'display_currency': 'USD',
    'display_amount': 0,
    'handler': function (response) {
      return response.razorpay_payment_id;
    },
    'prefill': {
        'name': '',
        'email': ''
    },
    'notes': {
        'address': ''
    },
    'theme': {
        'color': '#AF8AC0'
    }
};

现在,我希望razorpay_payment_id从 Angular 函数访问以进一步将其发送到服务器端进行如下处理:

const payid = this.rzp1.open();

但这并没有返回支付ID。

我尝试了不同的方法来完成它,例如在函数中而不是返回,我尝试将值分配给组件范围变量。但是由于明显的原因,这返回未定义。

这是来自 Razorpay 的原始代码:

<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>

已针对这样的角度目的进行了修改:

如何在 Angular 2 中集成 Razorpay?

你有什么主意吗?

标签: javascriptjsonangular

解决方案


推荐阅读