从javascript代码访问json函数变量到Angular6

时间:2018-11-17 03:42:32

标签: javascript json angular

我只是在尝试实施Razorpay结帐,它会像这样处理payid的响应:

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'
    }
};

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

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>

已针对角度用途进行了如下修改:

How to Integrate Razorpay in Angular 2?

你有什么主意吗?

0 个答案:

没有答案