Razorpay Django интеграция
Я использую Razorpay на моем сайте Django. После любого успешного платежа он перенаправляет на локальный хост / покупку, но я хочу отправить его на мой URL. Как этого добиться?
4 ответа
Существует два способа создания формы оформления заказа. Автоматический и ручной. Я всегда предпочитаю Manual.U будет иметь больше контроля. Javascript проверки передает детали платежа функции обработчика JavaScript (обработчик). Затем вы можете использовать идентификатор платежа, отправить его на свой сервер и проверить платеж по своему желанию и перенаправить на нужную страницу, в основном это делается с помощью вызова ajax.
<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);
// do an ajax call to backend and capture and verify the payment then
//redirect to payment success page.
},
"prefill": {
"name": "Harshil Mathur",
"email": "harshil@razorpay.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>
источник: Razorpay Docs
Вместо использования значения по умолчанию в теге формы в теге формы action="/purchase"
добавьте свой собственный URL в действии, например, action = "http: // {yoururl}"
Надеюсь, что это работает для вас.
Я только начал использовать razorpay, и, по моему мнению, вы запрашиваете перенаправление на определенный URL после успешной оплаты. Вы можете добавить веб-крючок в razorpay, в котором razorpay отправит вам статус и детали платежа, а после проверки статуса ответа в указанном URL-адресе в веб-крючке вы сможете перенаправить пользователя туда, куда вы хотите, из своей функции. если это то, о чем вы спрашивали и у вас все еще есть сомнения, не стесняйтесь спрашивать.
Вы можете достичь двумя способами
- Добавьте window.location = «URL» в код параметров.
var options = { .... "handler": function (response){ alert(response.razorpay_payment_id); alert(response.razorpay_order_id); alert(response.razorpay_signature); window.location = "URL" }, ... };
- Вы можете добавить URL обратного звонка в настройках.
*> var options = { ....
"callback_url":"https://eneqd3r9zrjok.x.pipedream.net/", .... };*
Дополнительную информацию см. в этой документации [https://razorpay.com/docs/pays/server-integration/python/pay-gateway/build-integration/#code-to-add-pay-button][1]