Невозможно интегрировать razorpay в угловой 4
Я пытаюсь интегрировать платежный шлюз razorPay.
payNow( ) {
var options = {
"key": "rzp_test_dveDexCQKoGszl",
"amount":((this.buyNow==1)?this.shared.totalAmountWithDisocuntBuyNow:this.shared.totalAmountWithDisocunt)*100, // 2000 paise = INR 20
"name": " MARKET",
"description": "Order #",
"handler": function (response){
console.log(response);
alert(response.razorpay_payment_id);
this.paid();
this.shared.addOrder(this.buyNow,response.razorpay_payment_id);
},
"prefill": {
"name": this.shared.orderDetails.billing_firstname + " " + this.shared.orderDetails.billing_lastname,
"email": this.shared.customerData.customers_email_address,
"contact": this.shared.customerData.customers_telephone,
},
"notes": {
"address": this.shared.orderDetails.billing_street_address+', '+this.shared.orderDetails.billing_city+', '+this.shared.orderDetails.billing_state+' '+this.shared.orderDetails.billing_postcode+', '+this.shared.orderDetails.billing_country
},
"theme": {
"color": "blue"
}
};
var rzp1 = new Razorpay(options);
rzp1.open();
// body...
}
paid()
{alert();}
Я определил в обработчике функцию обратного вызова. Но проблема в том, что он успешно регистрирует ответ и предупреждает его, но он не вызывает this.paid()
или же this.shared.addOrder(this.buyNow,response.razorpay_payment_id);
Там нет ошибок консоли ничего. Он просто не вызывает ни одной из перечисленных выше метионированных функций.
1 ответ
Решение
Вы можете вызвать функцию-обработчик, привязав ее к функции, используя следующий синтаксис
"handler":this.shared.addOrder.bind(this,this.buyNow) ,
Это сработало для меня.