我希望允许客户更新用于订阅的付款详细信息,例如,他们的卡可能过期或他们可能希望使用新卡。
如果他们有一个活跃的订阅,我不想从他们那里收取新的付款,那么在这种情况下,使用Payment Method: Create来添加新的付款方式是否足够,并将3DS丰富的随机数传递给它?
我知道他们将被收取的金额,因此我可以将此金额传递给3DS挑战。
1.假设收取的金额不高于传递给3DS质询的金额,那么对于此订阅的任何未来费用,这种支付方法在3DS方面是否安全?
1.我是否需要以任何方式使用Subscription: Update,或者将新的支付方法设置为默认值(在创建支付方法时使用makeDefault参数)是否可以保证它将用于订阅的下一次支付?
1条答案
按热度按时间oxosxuxt1#
弄清楚这一点后回答我自己的问题。
使用Subscription.Update是必需的,并且您应该将3DS丰富的nonce传递给它。
不必使用“付款方法”:创建时,更新订阅的建议流程通常为:
1.保险库新付款方式(无3DS)
1.从新存储的令牌创建随机数
1.对随机数运行verifyCard,以获取3DS随机数
1.使用3DS随机数(引用存储的令牌)运行Subscription.update()
值得一提的是,我仍然使用了Dropin UI,在第1-2步中,我在代码中使用了verifyCard来初始化3DS挑战。