【问题标题】:stripe paymentRequest with total amount 0$总金额为 0$ 的条带支付请求
【发布时间】:2021-11-18 14:28:40
【问题描述】:

当我尝试使用付款请求按钮进行付款时,我需要在为其创建付款意向时设置 0$ 金额,但我不能,因为创建付款意向条需要至少 0.50$。我需要它,因为我将它用于计量订阅类型,并且在订阅时不必向客户收费。我找到了订阅成功后退款的解决方案,但我不喜欢它。 我正在用这个 api 创建 payment_intent

app.post('/api/client-secret', async (req, res) => {
  try {
    const { currency, amount } = req.body;
    console.log(req.body)
    const paymentIntent = await stripe.paymentIntents.create({
      amount,
      currency: 'usd',
      payment_method_types: ['card'],
    });
  
    res.json({ clientSecret: paymentIntent.client_secret });
  } catch (error) {
    console.log("error1", error)
  }
});

也许还有其他方式或方法可以为 stripe.paymentRequest() 创建 client_secret

【问题讨论】:

    标签: reactjs stripe-payments


    【解决方案1】:

    payment_intent 对象有一个名为 capture_method 的字段。您可以设置此manual,在这种情况下,付款不会立即被条带捕获。注意括号:

    并非所有支付方式都支持此功能


    另一方面,如果这是订阅,那么为什么不使用subscription api 甚至更好的sessions。我建议使用会话,因为它处理交易过程中可能出现的各种问题,您只需等待session to complete,一切都会得到处理。

    另请注意,price 对象(表示您正在销售的商品)带有一个名为 usage_type 的字段,它允许您指定该商品是计量的,因此 stripe 可以处理如果有人购买了该商品,则为您计费。

    stripe api 非常庞大且有据可查,所以我希望这个答案可以帮助您快速找到解决方案。

    【讨论】:

    • 感谢您的回复。我正在使用订阅 api,我发现我错了。当我创建 paymentRequest 时,我正在制作 confirmCardPayment() 然后创建订阅,但我根本不需要 confirmCardPayment。我从一个例子中得到它,并没有意识到我不需要它。
    【解决方案2】:

    如果您不预先向用户收费,您应该使用 SetupIntents 保存卡详细信息并将其附加给客户,以便将来在他们离线时向他们收费:https://stripe.com/docs/payments/save-and-reuse

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 2021-07-18
      • 2015-10-11
      相关资源
      最近更新 更多