当在试用模式元素中创建的订阅不接受来自订阅对象的秘密密钥时,如何创建带试用的条带订阅

问题描述 投票:0回答:2

我正在尝试在我的网络应用程序上实现条纹支付,Node 和 React 是堆栈。

  • 在后端创建条带订阅
      newSubscription = await stripe.subscriptions.create({
        customer: {{customerid},
        items: [
          {
            price: {{price}},
          },
        ],
        payment_behavior: 'default_incomplete',
        expand: ['pending_setup_intent'],
        trial_period_days: 7,
        off_session: true,
      });
  • 当我添加跟踪期时,我会让客户秘密一些类似“seti_XXXXX”的内容。
  • 当没有线索时,我将客户端秘密为“pi_XXX”。
  • 当我使用支付意图时,秘密密钥条元素正在工作并且交易正在发生。
  • 当我使用设置意图客户端秘密时,当试用活动不与条纹元素一起使用时,我会得到该信息。它显示一些错误,指出未找到付款意图。

我尝试将两个客户端机密传递给元素,但是当跟踪处于活动状态时。在这种情况下,我将设置意图客户端秘密,以便该元素出现一些错误。 `

{
  "error": {
    "code": "resource_missing",
    "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
    "message": "No such payment_intent: 'seti_XXXXXXXXXXXXX'",
    "param": "intent",
    "request_log_url": "https://dashboard.stripe.com/test/logs/req_XXXXXXXXXXX",
    "type": "invalid_request_error"
  }
}

` 如何解决这个问题,我想要跟踪激活订阅,当跟踪结束时,用户必须记入该金额。

node.js reactjs stripe-payments
2个回答
2
投票

当您在订阅中包含试用期时,最初会生成 0 美元的发票,无需付款。这样您就可以创建一个SetupIntent,而不是PaymentIntent。您可以在 ID 前缀中看到它:

seti_…
。由于不会立即发生付款,SetupIntent 允许您存储付款详细信息,反过来,订阅可以将其用于定期付款。

因此,当用户提交表单时,您应该使用 confirmSetup 方法


0
投票

您可以关注此文档。 github 文档

© www.soinside.com 2019 - 2024. All rights reserved.