【问题标题】:Ho to implement razorpay payment method in website using javascript如何使用 javascript 在网站中实现 razorpay 支付方式
【发布时间】:2020-08-16 17:31:40
【问题描述】:
  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: Cannot read property 'create' of undefined。请帮我解决这个问题

【问题讨论】:

    标签: javascript razorpay


    【解决方案1】:

    订单的创建需要在服务器端进行。它在文档中说明。客户端库不是为此而设计的,这就是为什么ordersrazorpay 对象上不存在并且以undefined 的形式出现的原因。

    更多详情请参考以下链接:-

    https://razorpay.com/docs/payment-gateway/web-integration/custom/#step-4---create-an-order-in-your

    【讨论】:

    • 你能举个例子解释一下吗
    • 嘿Divyanshu。我刚刚浏览了razorpay 的文档。我还没有实现它。但是很可能您可以尝试从客户端到服务器的 api 调用,其中服务器具有 GET 端点,其中有一个函数,其中 razorpay 实例用于创建订单并返回订单对象。现在您可以返回订单对象作为响应,并使用必要的字段在客户端为 createPayment 填充数据。
    【解决方案2】:

    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 和在您传入optionshandler 函数中获得的其他信息在后端创建订单。

    【讨论】:

      【解决方案3】:

      确保在调用 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 docs

      【讨论】:

        猜你喜欢
        • 2020-02-01
        • 2021-02-23
        • 2017-02-28
        • 2022-01-14
        • 2020-09-26
        • 2020-05-15
        • 2021-10-03
        • 2018-06-06
        • 2020-10-23
        相关资源
        最近更新 更多