首页 > 解决方案 > 总金额为 0$ 的条带支付请求

问题描述

当我尝试使用付款请求按钮进行付款时,我需要在为其创建付款意向时设置 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

标签: reactjsstripe-payments

解决方案


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

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


另一方面,如果这是订阅,那么为什么不使用subscriptionapi 甚至更好的sessions. 我建议使用会话,因为它处理事务期间可能出现的各种问题,您需要做的就是等待会话完成,一切都会得到处理。

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

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


推荐阅读