问题:
视频:https://streamable.com/797e5
1)使用需要身份验证的卡(例如4000002760003184或pm_card_authenticationRequired)提交Stripe.js表单会导致3D安全弹出窗口出现,但客户无法执行任何操作,因为单击提交后页面会自动刷新,这意味着客户无法及时正确地进行身份验证。需要通过让客户先完成身份验证来减慢此过程的方法。
2)不知道如何用用户在Stripe.js表单中键入的卡号替换“ pm_card_visa”。
3)表单动作应该是什么? {{checkout}}是否正确?
4)每当我尝试提交不希望的成功付款时,都会运行except statement错误消息。也没有用于显示付款成功的代码。
5)提交Stripe.js表单不会像以前的Stripe令牌代码那样将数据存储在Django数据库中。
注意:创建订阅和付款方式会导致成功收取订阅费用以及付款方式,从而导致客户被收取双倍费用。我更新了代码,以便可以试用订阅,从而避免了重复收费。
工作较早的令牌代码:
https://github.com/justdjango/video-membership/blob/master/memberships/templates/memberships/membership_payment.html
https://github.com/justdjango/video-membership/blob/master/memberships/views.py
https://github.com/justdjango/video-membership/blob/master/static/js/checkout.js
旧令牌代码说明:
https://www.youtube.com/watch?v=zu2PBUHMEew
付款意图代码更新尝试:
https://pastebin.com/5wEkEjbq (stripe.js / checkout.js)
https://pastebin.com/7JXB4K4j (views.py)
https://pastebin.com/Kf0MeQ42 (membership_payment.html)
我想采用旧的Stripe令牌代码,并使用新的Payment Intent API对其进行更新,而旧令牌代码的所有主要功能/结果均保持不变,但以更新的方式进行。
结果:
1)客户将其信用卡键入Stripe.js表单
2)如果信用卡有效且不是SCA,则将其处理为Stripe和Django数据库
3)如果信用卡有效但需要SCA,则对客户进行身份验证
4)一旦客户通过身份验证,然后处理付款并将数据发送到Stripe和Django数据库。
5)客户应该有按月或按年支付的Stripe订阅(取决于Stripe仪表板中的计划设置)。
6)客户的付款意图应得到确认/成功,并且付款方式(信用卡)应可再次用于每月/每年的自动付款。