Как внедрить способ оплаты razorpay на сайте, используя javascript - PullRequest
0 голосов
/ 02 мая 2020
  var razorpay = new Razorpay({
key: "rzp_test_7Cox79AHI5xh6w",
}); 
razorpay.once('ready', function(response) {
console.log(response.methods);

  })

 var options = {
amount: 50000, 
currency: "INR",
receipt: "order_rcptid_11",
payment_capture: '0'
};
razorpay.orders.create(options, function(err, order) {
console.log(order);
});

razorpay.createPayment(options);

razorpay.on('payment.success', function(resp) {
console.log(resp.razorpay_payment_id),
console.log(resp.razorpay_order_id),
console.log(resp.razorpay_signature)}); 

 razorpay.on('payment.error', function(resp){alert(resp.error.description)}); 

Я применил этот код для реализации платежной системы razorpay, но я получаю ошибку Uncaught TypeError: Невозможно прочитать свойство 'create' из неопределенного. Пожалуйста, помогите мне решить эту проблему

Ответы [ 3 ]

0 голосов
/ 02 мая 2020

Поток платежей Razorpay заключается в том, что интерфейс вызывает этот

var razorpay = new Razorpay(options);
razorpay.open();

взгляд на этот https://razorpay.com/docs/payment-gateway/web-integration/standard/#manual -checkout_

, который вызывает обработчик, который вы передать options, в вашей функции обработчика вы получите razorpay_payment_id и другие вещи. Вы отправляете это в свой бэкэнд и создаете объект заказа, а затем проверяете, если платеж использует razorpay_payment_id, и соответственно обновляете объект заказа.

Примечание. Вам не нужно создавать заказ во внешнем интерфейсе для осуществления платежа через Razorpay. вы создадите заказ на бэкэнде, используя razorpay_payment_id и другую информацию, полученную в функции handler, которую вы передаете в options.

0 голосов
/ 02 мая 2020

Прежде чем вызывать конструктор Razorpay, убедитесь, что скрипт загружен .

const script = document.createElement('script');
script.src = 'https://checkout.razorpay.com/v1/checkout.js';
script.async = true;
document.body.appendChild(script);

ИЛИ добавьте его в HTML

<script src="https://checkout.razorpay.com/v1/checkout.js"/>

Также, вам нужно будет реализовать внутренний код, как указано в документации

Razorpay документы

0 голосов
/ 02 мая 2020

Создание заказов должно происходить на стороне сервера. Это указано в документации. Клиентская библиотека не предназначена для этого, и поэтому orders не существует на razorpay объекте и появляется как undefined.

Пожалуйста, перейдите по следующей ссылке для получения более подробной информации: -

https://razorpay.com/docs/payment-gateway/web-integration/custom/#step -4 --- создайте заказ в вашем

...