Я реализую razorPay
платеж в проекте angular7
. Я пытаюсь открыть форму оплаты, создав отдельный экземпляр Razorpay и получив доступ к его функции open()
. Но вместо этого он выбрасывает ошибку "не является функцией". Я не смог найти надлежащей документации по этому поводу.
Однако, если я попытаюсь просто создать платеж, используя razorpay, он откроет окно, но у пользователя нет возможности выбрать какой-либо метод, и, следовательно, он снова выдаст ошибку, потому что непосредственное создание платежа не добавит карты (если метод это «карта»). Поэтому необходимо открыть форму оформления заказа.
Вот моя функция, которую я использую, сначала я создаю заказ на сервере для генерации идентификатора, а затем приступаю к оплате.
buyPlan() {
let postdata = {
amount: 1000,
currency: "INR",
receipt: "1",
notes: {},
payment_capture: true
}
this.common.createOrder(postdata).subscribe(
(result: any) => {
console.log(result)
var razorpay = new this.winRef.nativeWindow.Razorpay({
key: 'dashboard_key_id',
image: 'assets/images/logo-1.png',
});
var data = {
amount: 1000,
currency: "INR",
email: 'abc@example.com',
contact: '9874563210',
notes: {
address: 'Sector 65 Delhi',
},
method: 'card',
order_id: result.data.id,
handler: function (response) {
alert(response.razorpay_payment_id);
}
};
razorpay.open();
}, (err: HttpErrorResponse) => {
}
);
}