条纹:为3d安全认证的未来付款设置卡

时间:2020-09-22 12:37:06

标签: javascript python django stripe-payments payment

我已经实现了本Stripe教程中描述的有关如何保存卡信息以备后用(以后付款)的步骤:

https://stripe.com/docs/payments/save-during-payment

这已经实现并且可以正常工作。

我正在对卡收取0.5美元的费用,以触发3d安全身份验证过程。它的工作方式是先检查什么是PaymentIntent状态,如果它是“ action_required”,然后将其重定向到我在JS中实现了以下内容的HTML:

;

这也很好用,如果卡需要,它可以进行3D安全认证。我只在测试条纹卡。然后我的想法是,我退还了用于验证卡的0.5美元。

但是,在我的产品中,之后会收取费用。只有一个包含用户和付款信息的注册页面,然后在用户使用我的产品时收费。这对于不需要3D安全身份验证的卡效果很好,但是对于需要身份验证的卡,我以后将无法创建费用,并且在PaymentIntent上获得“需要3D安全身份验证”状态。并且客户无法对其进行身份验证,因为在此期间他们不在网站中(“关闭会话”)。

这种3d安全行为是仅在Stripe测试卡上吗,还是我该如何在需要3d身份验证的卡上实现以后的卡付款?

1 个答案:

答案 0 :(得分:1)

交易是否需要3D Secure是完全取决于持卡人银行的决定。由于法规(例如SCA)要求使用3D Secure时,Stripe将在可能的情况下申请豁免,以限制需要身份验证的交易的可能性,但不能保证。因此,是的,当您开始生产时,您的客户可能(但不太可能)在每次交易中都需要3D Secure。

对于需要认证的卡,我无法创建 稍后收费,并获得“需要3D安全身份验证” PaymentIntent上的状态。而且客户无法 对他们进行身份验证,因为在此期间他们不在网站中(“关闭” 会话”)。

如果要在会话外进行付款,则应在创建付款意图时将off_session属性设置为true

https://stripe.com/docs/api/payment_intents/create#create_payment_intent-off_session

这样做可以告诉Stripe在您生活在生产环境中时申请休会期付款豁免。您可以使用此表中的第一个监管测试卡来测试这些付款方式的行为:

https://stripe.com/docs/testing#regulatory-cards

在大多数情况下,免税额应该足够,付款不需要身份验证,但是持卡人的银行仍有机会为交易请求3D安全。在这种情况下,您需要在一端编写逻辑,以将失败的交易通知您的客户,并使他们回到会话中以处理付款。

相关问题