Razorpay 订阅处理程序未发送 response.razorpay_subcription_id 和 response.razorpay_signature

Razorpay subscription handler not sending response.razorpay_subcription_id and response.razorpay_signature

我正在尝试实施一个模型,在该模型中,如果用户是第一次付款,他将根据他选择的计划注册订阅。

我使用 ReactJs 作为前端,使用 NodeJs 作为后端。

我目前面临 2 个问题 -

这是用于创建订阅并返回 subscriptionId 以供进一步处理的 Nodejs 代码。

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);

这是我打开razorpay进行支付的反应代码。当它打开时,我确实在控制台中收到错误消息,即 serviceworker must be a dictionary in your web app manifest.

注意 - 出于安全原因,我已经替换了下面的密钥。

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,但在支付金额时,我只被要求支付 Rs。 1. 根据 Razorpay 文档,此 rs 1 是用户订阅计划的授权,一旦订阅成功,计划金额将根据计划从用户帐户中扣除。但是没有这样的事情发生。此外,在 Razorpay 仪表板中,此付款被视为 授权 而不是 已捕获

所以,第一个问题是代码错误。我没有发送正确的订阅 ID,因此我没有收到任何预期的回复。

就 'serviceworker' 错误而言,我收到了来自 razorpay 团队的以下回复。