我正在制作一个SaaS,它允许客户订阅计划,并在结帐阶段使用优惠券。优惠券为客户提供X% off for X months
,默认情况下,每个人订阅时都会获得7天的试用期。
使我感到困惑的是文档。在一个部分中,它说您应该创建SetupIntents来进行付款,而在其他地方说它要使用令牌。
我正在对付款流程进行编码,但我只是想检查一下我的逻辑和理解是否正确。谁能验证以下内容?
现在发生的是尝试进行授权。如果需要SCA,则订阅状态为不完整,并且需要采取最新的发票付款意向状态。
这时,我可以使用handleCardPayment()
将用户重定向到SCA Flow,以提示3DS,并在完成订阅状态后将其激活。
如果发票付款由于任何原因失败,则订阅状态不完整,并且付款意图要求具有付款动作要求状态。此时,我应该再次向我的客户展示React Elements表单,并使用新的卡令牌调用stripe.invoices.pay
端点
展望未来,所有订阅费用都不需要获得SCA的进一步批准,但是,如果客户更改计划或银行提出要求,那么我可以通过SCA Flow流程指出我的用户
流程图如下:绿色是UI,橙色是服务器,蓝色是条纹
这里有什么我想念或误解的东西吗?我一直在阅读有关创建SetupIntents和PaymentIntents的信息,但不确定是否需要此信息?
答案 0 :(得分:2)
如果您要使用Stripe Billing产品创建订阅,则它们将处理创建PaymentIntent(如果您要立即付款)或SetupIntent(如果您要设置试用或计量计费)。您真正需要做的所有不同就是handleCardPayment(用于付款)或handleCardSetup(用于设置试用版和计量计费)。文档中的This部分非常好。
如果您不使用计费,则他们的Stripe Developers Youtube频道上会有一个video,这可能有助于消除任何混乱。
希望这会有所帮助:)
答案 1 :(得分:1)
在Stripe Charges API which is not SCA compilant中实施欢迎患者,卡片和令牌。如果要在欧盟内部使用Stripe进行付款,则应使用付款方式。
还可以使用卡令牌创建付款意图。
但是,如果要减少必要身份验证的数量,则应使用设置意图(带有usage = "off-session"
)来创建付款方式,而不是卡令牌。
我有很多老客户仍在使用Charges API注册。我使用以下策略:
当然,客户不会注意到很多。
总而言之,我将始终为新客户和卡更新使用付款方式和设置意图。只有按照设置的意图,您才能确保客户必须尽可能少地进行身份验证。
编辑:关键点是订阅期间的会话外付款。条带过程在此处进行描述:https://stripe.com/docs/payments/cards/saving-cards#saving-card-without-payment