【问题标题】:Creating stripe customer with subscription and anchor via checkout通过结账创建具有订阅和锚点的条带客户
【发布时间】:2021-09-29 19:25:28
【问题描述】:

我在后端使用 PHP(但我的问题与语言无关)。

我想创建一个带有订阅和用于开票日期的锚定日期以及卡付款方式的条带客户。主播让我头疼。

我相信一般步骤是:在服务器端,我可以创建一个客户,然后是一个会话,然后在浏览器代码中调用 stripe.redirectToCheckout(),并传入会话 ID。这在没有锚的情况下工作,订阅和卡片创建正常。

但是我不知道在哪里指定锚点。在https://stripe.com/docs/api/checkout/sessions/create,我没有找到锚定日期的输入参数。

由于会话创建函数有一个订阅的输入参数,我尝试创建一个客户,然后是订阅,然后是会话。但是创建订阅失败,原因是客户没有付款方式。

如果我执行以下工作步骤:创建客户、会话、调用 redirectToCheckout() 那么我无法更改订阅的锚点(除非将其更改为我不想要的现在)所以我需要一种方法来创建一个与锚订阅。

有人可以告诉我我错过了什么吗?

谢谢

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    创建结帐会话时,您可以使用subscription_data 哈希传递订阅特定参数。遗憾的是,在创建 Checkout Session 时不能使用 billing_cycle_anchor 参数。

    作为一种解决方法,您可以使用trial period 将计费锚定为您需要的特定日期。

    【讨论】:

    • 谢谢你。试用期结束对我来说不是一个好的解决方案,因为我不想有试用期。我开始研究 stripe.createPaymentMethod()。这是一条可行的道路还是一条死胡同?
    • 您在使用 Checkout 时的订阅灵活性非常有限。如果您需要更复杂的订阅集成,则需要build this yourself
    • 感谢您的链接。我设法使用stripe.createPaymentMethod() 从javascript 创建了一个支付方法。我还没有尝试过,但我希望在 php 中我现在可以创建一个客户,将其支付方式设置为我在 javascript 中获得的 ID,然后创建订阅,设置其锚定日期,也许就是这样。另一方面,我不知道这如何与 SCA 一起工作。我用的是SCA测试卡号,银行模拟窗口没有弹出。您知道此解决方案是否符合 SCA 标准?如果没有,有没有办法使它符合 SCA?谢谢。
    • 所以我有一个来自 stripe.createPaymentMethod() 的支付方法 ID,在服务器端我创建了一个设置意图,在 javascript 中我用 setupintent 和 SCA 的秘密调用 stripe.confirmCardSetup()出现模拟对话框。我希望这意味着这是一个符合 SCA 的解决方案。如果计划的服务器端步骤可行,我会通知您。
    • 是的,我上面描述的步骤有效;我希望它符合 SCA。感谢您发布的链接和建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2013-09-05
    • 1970-01-01
    • 2020-01-17
    • 2014-07-11
    • 2020-12-26
    • 2020-04-12
    相关资源
    最近更新 更多