将条带订阅迁移为符合SCA

dav*_*ler 2 stripe-payments

我有一个订阅,我会在7天的试用期内注册时收集卡的详细信息,此后每月收取订阅费用。

据我了解,订阅API不符合SCA。代替

  1. 一个off_session支付意向必须先建立采集卡详细信息时。
  2. 在每个月末,必须触发调度程序以尝试为已注册的卡充值

是这样吗 我现在负责安排付款吗?


更新资料

对于那些想要一些入门代码的人,我在这里创建了一个工作场所,并在glitch上进行了订阅,前端(反应)和后端(表达)

edAUunAs5S

kar*_*kko 5

Stripe的Subscription API并非支持SCA是不正确的,而且您不必像这样设置自己的调度。您链接到的文档通常旨在处理一次性付款(例如保存客户的详细信息,然后让他们在重新访问您的网站以购买新商品时再次使用),而不是重复付款。

https://stripe.com/docs/billing/subscriptions/payment描述了如何以支持SCA的方式设置订阅。当客户在付款页面上工作期间,您可以收集卡的详细信息并为该客户创建订阅,该订阅通常会在第一个结算期尝试付款。然后,您在创建订阅后检查其状态,并处理结果:

  • 订阅active已成功且付款成功,因此您可以继续向客户提供服务。
  • 订阅是incomplete出于SCA的目的,这是因为第一次付款需要3D安全身份验证。在这种情况下,latest_invoice订阅的会公开PaymentIntent属性,然后将您使用该PaymentIntent与您的前端代码一起使用stripe.js来引导客户进行身份验证付款,然后激活订阅。
  • 订阅为trialing—如果订阅不涉及初始付款,例如使用试用期时,您还可以检查订阅中是否包含pending_setup_intent。您可以在前端使用此功能,让客户完成3D安全认证,这样以后的付款(如试用后的第一笔付款)更有可能成功申请豁免,而无需在那时要求用户进行认证。

您也可以改用Stripe Checkout轻松收集付款详细信息并为您设置客户和订阅,同时还处理所需的任何初始身份验证:https : //stripe.com/docs/payments/checkout/server#create-subscriptions

至于定期付款,帐单可以为您处理。您可以配置设置,以便在定期付​​款时自动向客户发送电子邮件以完成3D Secure。因此,您可以使用Stripe上的subscriptions API绝对构建可支持SCA的解决方案。