将数据条订阅迁移为符合SCA标准

时间:2019-07-23 16:24:19

标签: stripe-payments

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

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

  1. 收集卡的详细信息时,off_session的付款意图必须first be setup
  2. 每个月底,必须触发调度程序以尝试向the registered card收费。

是这种情况吗?我现在负责安排付款吗?

1 个答案:

答案 0 :(得分:1)

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

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

  • 订阅为active,并且付款成功,因此您可以继续向客户提供服务。
  • 订阅为incomplete-出于SCA的目的,这是因为第一次付款需要3D安全身份验证。在这种情况下,订阅的latest_invoice会暴露一个PaymentIntent property,您可以使用该PaymentIntent与您的带有stripe.js的前端代码结合使用,以引导客户通过authenticating the payment,并激活订阅。
  • 订阅为trialing-如果订阅doesn't involve an initial payment(例如使用试用期时),您还可以检查订阅是否具有pending_setup_intent。您可以在前端使用此功能,使客户完成3D安全身份验证,以便将来的付款(如试用后的第一笔付款)更有可能成功申请豁免,而无需在那时进行用户身份验证。 / li>

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

对于定期付款,“结算”可以为您处理。如果在定期付款中遇到automatically email the customer to complete 3D Secure,则可以将设置配置为{{3}}。因此,您可以使用Stripe上的订阅API绝对构建可用于SCA的解决方案。