reactjs - 总金额为 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
解决方案
payment_intent对象有一个名为 的字段capture_method
。您可以设置此项manual
,在这种情况下,条带不会立即捕获付款。注意括号:
(并非所有付款方式都支持此功能)
另一方面,如果这是订阅,那么为什么不使用subscription
api 甚至更好的sessions
. 我建议使用会话,因为它处理事务期间可能出现的各种问题,您需要做的就是等待会话完成,一切都会得到处理。
另请注意,该price
对象(代表您正在销售的商品)带有一个名为的字段,该字段usage_type
允许您指定该商品是计量的,因此如果有人购买该商品,stripe 可以为您处理帐单。
stripe api 是庞大且有据可查的,所以我希望这个答案可以帮助您快速找到解决方案。
推荐阅读
- python - 清理 LexisNexis txt 文件,ZeroDivisionError
- r - 使用列中的变量在 ggplot 中绘制折线图
- javascript - HTML5 视频:使用 Blob URL 的流式视频
- php - 如何使用 fetch() 获得与 fetchAll() 相同的结果?
- java - StanfordCoreNLP 作为线程
- c# - Asp.Net Core 2.0 Web Api:结合 jwt 令牌使用 asp.net 身份 cookie 来实现记住我的功能
- git - 如何像快照一样在一个分支中 git 回滚/重做工作字典文件?
- c# - .NET:如何使用 exe 和 pdb 文件查找一行代码的源代码
- xml - POSTMAN 在 XML 请求正文中设置变量
- c++ - 如何创建具有用于捕获上下文的额外参数的 boost::range::transform 版本