我正在努力在网站上实施支付流程。要使用 Stripe 向客户收费,我是否需要同时使用 SetupIntent 和 PaymentIntent?我想在付款时保存客户的卡信息,以便将来可以使用它向客户收费。
我目前正在使用stripe进行用户支付。因此,我们为用户提供了一个注册页面,用户可以在其中输入密码并确认密码,然后单击提交。提交用户信息后,我正在执行以下流程
该流程正确吗?或者有没有其他方法可以提高效率?以及如何处理这里的失败案例,例如点击“支付”按钮后,如果在保存卡信息或向客户收费时出现故障,那么如何处理这些案例?
您不需要同时使用 SetupIntent 和 PaymentIntent - SetupIntent 用于保存卡无需付款。
要在付款期间保存卡,您可以使用 PaymentIntents。保存卡的 PaymentIntent 设置为
setup_future_usage='off_session'
,而使用保存的卡的 PaymentIntent 设置为 `off_session=true'。
这是此流程的指南:
https://docs.stripe.com/ payments/save-during- payment
setup_future_usage
),它返回 clientsecret,使用该 clientsecret 向用户显示 paymentelement。confirmPayment
将用户的卡信息保存在条带中。off_session
) 向客户收取特定金额。之后,将该方法设置为默认方法。 <- NOT TRUE
除了您自己(如果需要)之外,没有任何其他方式将 payment_method 设置为客户的默认值。在您的情况下,您实际上不需要这样做,因为您需要在定期 PaymentIntents 的
payment_method
参数中硬设置 payment_method_id。
如果付款成功,那么每个月我的系统都会使用发票 API 向客户收费。因为,我没有使用基于订阅的模型。 <- NOT TRUE
不会自动收费,您必须执行该操作。如果您想要自动收费,您可以使用 Stripe 订阅,但正如您所确认的,这不是您正在做的事情。