stripe-payments - 使用 Stripe,暂停付款并在订阅开始时确认
问题描述
我们正在开发一项可以在未来晚些时候开始订阅的服务:用户今天说他们想要该服务,但实际上它会在几天后开始。
我们现在通过 a 收集付款方式SetupIntent
,它允许用户验证他们自己的卡,但它实际上并没有验证信用可用性。当我们收集付款方式时,我们会使用经过验证的付款方式创建预定订阅;然后,当订阅开始时,Stripe 使用该付款方式来收款。
有时,用户在订阅开始时没有足够的信用来支付服务费用。否则,也会发生这样的情况,当 Stripe 试图取款时,客户的银行需要 3D 安全验证。由于我们的订阅从午夜开始,我们希望避免让用户再次参与付款过程。
因此,我们想:是否可以通过暂停 a 立即收取付款方式,PaymentIntent
并仅在订阅开始时确认该暂停?我找不到使用 Stripe 的方法(不知道它是否存在)。使用 Stripe 似乎不可能为预定订阅生成 PaymentIntent(capture_method
设置为)。manual
您对我们如何在订阅开始时避免支付问题有什么想法吗?
解决方案
否则,也会发生这样的情况,当 Stripe 试图取款时,客户的银行需要 3D 安全验证。
如果您在SetupIntent确认流程中完成任何必需的 3DS 身份验证,则不应出现这种情况。在用户在场时拨打电话confirmCardSetup
,这样付款方式就会成功验证,并可用于根据需要为您的订阅处理非会话付款。
您可以使用 Stripe 对卡片进行保留,但这通常不适用于您描述的用例。
推荐阅读
- solidity - 我想修改一些变量状态但返回一个视图
- javascript - 如何在D3中旋转图形?
- python-3.x - Python S3 文件上传显示权限错误
- ansible - 如何为跳过的播放禁用 vars_prompt?
- java - Android Java:在 Webview 上提交表单(帖子)时出错
- windows - Rust 程序需要存在 libusb DLL,即使它是静态链接的
- hadoop - 如何将 mapreduce 临时工作目录 /tmp 更改为其他文件夹
- java - OpenCV 在 System.loadLibrary() 上使用 SIGSEGV 崩溃;
- gradle - 如何管理 gradle 传递依赖冲突?
- asp.net - ASP.NET Core Web API:按方法名称路由?