如何在 Razorpay 交易结束后重定向回我的网站。注意:如果 "redirect=true" 作为选项传递
How to Redirect back to my website after transaction ends on Razorpay . Note: if "redirect=true" is passed as an option
首先,我使用 React 和 NodeJs 进行此集成。
我知道可以在处理函数中使用 location.href 重定向回网站。
但是如果我们使用 redirect=true 作为选项呢?
还提到我们可以将 callback_url 传递给选项对象。这将使 razorpay 在交易成功后重定向到此 URL,但这将是一个 POST 请求。所以,我们不能在这里给出我们网站的URL。
示例:
const options = {
key: "razorpay_key",
currency: data.currency,
amount: data.amount.toString(),
order_id: data.id,
handler: function (response) {
alert(response.razorpay_payment_id);
alert(response.razorpay_order_id);
alert(response.razorpay_signature);
},
prefill: {
name,
email: "abcd@xyz.com",
contact: "9999999999",
method: "netbanking",
},
redirect: true, // this redirects to the bank page from my website without opening a new window
callback_url: "not sure what to do with it",
};
有什么方法可以在交易完成后使用params (razorpay_payment_id、razorpay_order_id、razorpay_signature)中的这些参数返回到cart/website页面.
在这里您可以检查结帐选项的所有参数:https://razorpay.com/docs/payments/server-integration/nodejs/payment-gateway/build-integration/#checkout-options
Razorpay 网络结帐文档 link:https://razorpay.com/docs/payments/payment-gateway/web-integration/standard/
您应该有另一个数据库来存储您订单的所有价值。
因此,您的 callback_url 将是 -
Api到数据库+唯一order_id为您提供订单详情。
var options = {
... // existing options
callback_url: 'https://localhost:3000/cart'+order_id,
redirect: true
}
最终,我找到了同样的方法。
当我使用 SSR 时,我在我的服务器上创建了一个 POST 路由,然后简单地从那里重定向到我的网页。
喜欢,
app.post('/verification', asyncHandler((req, res) => {res.redirect(301, `webpage_url?query_param=${req.body.razorpay_payment_id}`}))
因此,结帐选项对象如下所示
const options = {
... // existing options
redirect: true,
callback_url: "server_address/verification",
};
希望它能帮助遇到同样问题的人:)
首先,我使用 React 和 NodeJs 进行此集成。
我知道可以在处理函数中使用 location.href 重定向回网站。
但是如果我们使用 redirect=true 作为选项呢?
还提到我们可以将 callback_url 传递给选项对象。这将使 razorpay 在交易成功后重定向到此 URL,但这将是一个 POST 请求。所以,我们不能在这里给出我们网站的URL。
示例:
const options = {
key: "razorpay_key",
currency: data.currency,
amount: data.amount.toString(),
order_id: data.id,
handler: function (response) {
alert(response.razorpay_payment_id);
alert(response.razorpay_order_id);
alert(response.razorpay_signature);
},
prefill: {
name,
email: "abcd@xyz.com",
contact: "9999999999",
method: "netbanking",
},
redirect: true, // this redirects to the bank page from my website without opening a new window
callback_url: "not sure what to do with it",
};
有什么方法可以在交易完成后使用params (razorpay_payment_id、razorpay_order_id、razorpay_signature)中的这些参数返回到cart/website页面.
在这里您可以检查结帐选项的所有参数:https://razorpay.com/docs/payments/server-integration/nodejs/payment-gateway/build-integration/#checkout-options
Razorpay 网络结帐文档 link:https://razorpay.com/docs/payments/payment-gateway/web-integration/standard/
您应该有另一个数据库来存储您订单的所有价值。
因此,您的 callback_url 将是 -
Api到数据库+唯一order_id为您提供订单详情。
var options = {
... // existing options
callback_url: 'https://localhost:3000/cart'+order_id,
redirect: true
}
最终,我找到了同样的方法。 当我使用 SSR 时,我在我的服务器上创建了一个 POST 路由,然后简单地从那里重定向到我的网页。
喜欢,
app.post('/verification', asyncHandler((req, res) => {res.redirect(301, `webpage_url?query_param=${req.body.razorpay_payment_id}`}))
因此,结帐选项对象如下所示
const options = {
... // existing options
redirect: true,
callback_url: "server_address/verification",
};
希望它能帮助遇到同样问题的人:)