Razorpay 如何使用 firebase 调用函数生成 orderId?

Posted

技术标签:

【中文标题】Razorpay 如何使用 firebase 调用函数生成 orderId?【英文标题】:How to Razorpay generate orderId using firebase call function? 【发布时间】:2021-11-24 05:03:35 【问题描述】:

我已经尝试过了,但得到错误不是空的

 const instance = new Razorpay(
      key_id: "myKey",
      key_secret: "mySecret"
    );
     
    exports.generateOrder = functions.https.onCall((data, context) => 
        
         const options = 
          amount: data.amount,
          currency: "INR",
          receipt: "recipt by me"  //req.body.receipt
        ;
        
        instance.orders.create(options, (err, order) => 
            if(err !==  null)
                console.log("ORDERID null");
                return null;
            else
                console.log("ORDERID "+order);
                return order;
            
        );
        
    
    );

【问题讨论】:

能否在问题中添加错误截图? 我没有得到 orderId。控制台没有显示任何内容 如果你 console.log(err) 它应该记录错误。 现在我将控制台设置为:ORDERID [object Object]。如何从此对象中检索 orderId? 这似乎不是错误?试试console.log("ORDERID "+ JSON.stringify(order)); 【参考方案1】:

如果出现任何错误,您应该记录err 并检查。但是,如果创建了订单,您可以简单地返回 orderId,如下所示:

exports.generateOrder = functions.https.onCall((data, context) =>         
  const options = 
    amount: data.amount,
    currency: "INR",
    receipt: "recipt by me"  //req.body.receipt
  ;        
  return createOrder(options).then((orderId) => 
    return  orderId 
  ).catch(e => 
    return  error: e 
  )  
);


function createOrder(options) 
  return new Promise((resolve, reject) => 
    instance.orders.create(options, (err, order) => 
      if(err !==  null)
        console.log("failed to create order", err);
        return reject(err);
       else 
        console.log("ORDERID "+order.id);
        return resolve(order.id);
      
    );
  )

【讨论】:

以上是关于Razorpay 如何使用 firebase 调用函数生成 orderId?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 razorpay [firebase_functions/internal] 内部的 firebase 云函数中创建订单 ID

如何在 Flutter 中使用 Razorpay 订单 API?

如何使用 Razorpay PHP API 获取付款详情?

如何在 Vue.js 中集成 razorpay

如何在 codeigniter 中集成 razorpay 支付网关

如何在 Android Studio 中实现 razorpay 定期付款?