我在React Native Razorpay支付网关集成工作。我正在使用react-native-razorpay。
代码如下:
发送参数为:-
var options = {
description: "Credits towards consultation",
image: "https://i.imgur.com/3g7nmJC.png",
currency: "INR",
key: "a-----b----ccc-dd",
amount: Math.round(Number(order_total).toFixed(2) * 100),
name: "Product",
prefill: {
email: email ? email : "v@razorpay.com",
contact: mobile ? mobile : "1111111111",
name:
firstname && lastname
? `${firstname} ${lastname}`
: "Razorpay Software"
},
theme: { color: theme.colors.primaryColor },
payment_capture: 1
};结帐方法:-
RazorpayCheckout.open(options)
.then(data => {
// handle success
console.log("payment success", data);
if (data && data.razorpay_payment_id) {
orderData.payment = data.razorpay_payment_id;
this.props.payMyOrder(orderData);
}
})
.catch(error => {
// handle failure
this.toast.show(error.description);
});我得到的响应只有razorpay_payment_id,但缺少razorpay_payment_id和razorpay_signature。此外,在Razorpay后端缺少Razorpay订单Id和订单Id。
发布于 2020-04-22 17:22:19
嘿,正如我们在上面的代码options对象中看到的,你正在传递结账,你没有传递order_id,你也应该传递order_id。由于您没有通过order_id,因此在付款完成后也不会返回给您。请参阅以下链接,了解如何在您的服务器端创建订单。https://razorpay.com/docs/api/orders/如果您将请求参数中的order_id传递给结帐,您将在支付响应中获得order_id和签名。
发布于 2020-09-13 15:33:41
请查看我们通过order_id所需的文档,here。
根据文档,一旦你通过了order_id,那么只有在支付成功后,razorpay才会返回razorpay_order_id,razorpay_payment_id和razorpay_signature。
之后,您可以通过比较签名来确认支付成功。
https://stackoverflow.com/questions/59931655
复制相似问题