我试图实现一个模型,如果一个用户第一次付费,他是根据计划注册的订阅,他选择。
我使用ReactJ作为forntend和NodeJs作为后端。
我目前面临两个问题-
这是Nodejs代码,用于创建订阅并返回subscriptionId以供进一步处理。
const plans = await instance.plans.all();
let i;
for (i = 0; i < plans.count; i++) {
if (plans.items[i].item.name === "Test plan - Weekly") break;
}
const planId = plans.items[i].id;
const subscriptionData = {
plan_id: planId,
total_count: 1,
quantity: 1,
customer_notify: 1,
};
const response = await instance.subscriptions.create(subscriptionData);
res.send(response.id);这是我的反应代码,打开剃刀支付。当打开时,我确实在控制台中得到一个错误,即服务工作者必须是web应用程序清单中的字典。
注意-由于安全原因,我已经替换了下面的密钥。
axios.get("http://localhost:5000/razorpay").then((subscriptionId) => {
var options = {
key: "Test_Key",
subscription_id: subscriptionId,
name: "Consuma",
description: "Monthly Test Plan",
handler: function (response) {
console.log(response);
},
};
var razorpay = new window.Razorpay(options);
razorpay.open();
razorpay.on("payment.failed", function (response) {
alert(response.error.code);
alert(response.error.description);
alert(response.error.source);
alert(response.error.step);
alert(response.error.reason);
alert(response.error.metadata.order_id);
alert(response.error.metadata.payment_id);
});
});我应该期待razorpay_subscription_id和razorpay_signature进行验证,但是这些字段缺失了。
下面是我得到的回应。
checkout_logo: "https://cdn.razorpay.com/logo.png"
custom_branding: false
org_logo: ""
org_name: "Razorpay Software Private Ltd"
razorpay_payment_id: "pay_HS0u4wIhrQavw我上面使用的计划是Rs。每周收费699英镑,但在支付金额时,我只被要求支付卢比。1.根据Razorpay文件,这rs 1是用户授权订阅该计划,一旦成功,计划金额将根据计划从用户帐户中扣除。但没发生过这样的事。此外,在Razorpay仪表板中,此付款被视为授权的,而不是捕获的。
发布于 2021-06-28 12:49:55
因此,第一个问题是代码中的错误。我没有发送正确的订阅id,因此我没有收到任何预期的响应。
至于“服务型工人”的错误被认为是我收到的反应后,弗拉佐尔薪酬小组。

https://stackoverflow.com/questions/68149260
复制相似问题