【问题标题】:With Stripe, make an hold on a payment and confirm it when the subscription starts使用 Stripe,暂停付款并在订阅开始时确认
【发布时间】:2021-08-19 16:48:14
【问题描述】:

我们正在开发一项可以在未来晚些时候开始订阅的服务:用户今天说他们想要该服务,但实际上几天后才开始。

我们现在正在通过SetupIntent 收集付款方式,它允许用户验证他们自己的卡,但它实际上并没有验证信用可用性。当我们收集付款方式时,我们会使用经过验证的付款方式创建预定订阅;然后,当订阅开始时,Stripe 会使用该付款方式来收款。

有时,用户在订阅开始时没有足够的信用来支付服务费用。否则,也会发生这样的情况,当 Stripe 试图取款时,客户的银行需要 3D 安全验证。 由于我们的订阅从午夜开始,因此我们希望避免让用户再次参与付款流程。

所以,我们想:是否可以通过暂停PaymentIntent 立即收取付款方式,并仅在订阅开始时确认暂停?我找不到使用 Stripe 的方法(不知道它是否存在)。使用 Stripe 似乎不可能为预定订阅生成 PaymentIntent(capture_method 设置为 manual)。

您对我们如何避免订阅开始时出现付款问题有什么想法吗?

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:

    否则,也会发生这样的情况,当 Stripe 试图赚钱时, 客户的银行需要 3D 安全验证。

    如果您在SetupIntent 确认流程中完成任何必需的 3DS 身份验证,则不应出现这种情况。在用户在场时致电confirmCardSetup,这样付款方式就成功验证,并可用于根据需要为您的订阅处理off-session payments

    您可以使用 Stripe 放置 hold on a card,但这通常不适用于您描述的用例。

    【讨论】:

    • 我们通过 stripe.confirmSetupIntent() 确认 SetupIntent(在 Android 上)。确认正确,但是,当订阅在几个小时后开始时,它会在订阅后一小时后进入状态“past_due”开始(我们使用的是 Stripe 的测试卡“4000 0027 6000 3184”)。
    • @Massimo 我相信该卡将始终需要身份验证,无论它是否与 SetupIntents 一起使用。相反,您应该在确认您的 SetupIntent 时尝试使用这张卡:4000 0025 0000 3155。有大量 3DS 测试卡列表here
    猜你喜欢
    • 2022-08-12
    • 2023-02-04
    • 2022-12-16
    • 2017-06-19
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 2015-01-10
    相关资源
    最近更新 更多