【问题标题】:How to authorize funds with PaymentIntent (Stripe)?如何使用 PaymentIntent (Stripe) 授权资金?
【发布时间】:2020-01-19 02:55:14
【问题描述】:
当我使用费用时,这很容易,只需创建费用而不捕获资金,并且资金被授权(当然,如果有足够的钱)。
但在切换到 PaymentIntent 后,在创建 PaymentIntent 时没有产生任何费用,因此没有资金被授权。当我致电paymentIntent.confirm() 时,如果卡上有足够的资金,费用会立即创建和捕获。如果不是,则抛出 CardException。
我需要一种授权资金的方式,或其他方式来检查卡上是否有足够的资金,但之前我打电话确认。
有什么办法吗?
【问题讨论】:
标签:
java
angular
spring-boot
stripe-payments
【解决方案1】:
我设法通过将 paymentIntent 的 capture_method 设置为手动来做到这一点。默认是自动的,所以确认后,相关费用将被创建和捕获。但如果这是手动设置的,则会创建确认费用(如果余额正常),我们需要调用 paymentIntent.capture() 来进行实际支付。
所以流程是
- 创建 paymentIntent 并将
capture_method 设置为手动
- 致电
paymentIntent.confirm()授权资金
- 准备付款时致电
paymentIntent.capture()付款
如果卡上没有足够的资金,第二步会抛出 CardException。