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”。请帮我解决这个问题
答案 0 :(得分:0)
订单的创建需要在服务器端进行。在文档中有说明。客户端库不是用于此目的的,这就是orders
对象上不存在razorpay
且正以undefined
出现的原因。
请参考以下链接以获取更多详细信息:-
https://razorpay.com/docs/payment-gateway/web-integration/custom/#step-4---create-an-order-in-your
答案 1 :(得分:0)
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
函数获得的其他信息在后端创建订单。
答案 2 :(得分:0)
在调用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"/>
此外,您将需要实现文档中提到的后端代码