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?