昨天我为iOS添加了stripe sdk,并使用其教程来实现添加付款选项,并且一切正常。今天,经过一些代码重构(没有做任何关键的更改),paymentContext.selectedPaymentOption
在委托方法中为零
func paymentContextDidChange(_ paymentContext: STPPaymentContext) {
}
当我初始化paymentContext
两次时,昨天第一次paymentContext.selectedPaymentOption
为nil,但是第二次它选择了默认值,今天两次我都为nil,知道为什么吗?
这就是我初始化paymentContext
的方式:
let customerContext = STPCustomerContext(keyProvider: StripeClient.sharedClient)
paymentContext = STPPaymentContext(customerContext: customerContext)
客户还可以,因为它可以创建和读取条纹仪表板上的卡,唯一的问题是未选择默认卡。
答案 0 :(得分:1)
自v16.0.2起,此功能由Stripe框架本地管理。
您应将最后一个付款方式ID存储在用户默认的任何位置,然后在实例化font-size: 16px
font-size: 14px
etc.
STPPaymentContext.defaultPaymentMethod
请务必遵循注释STPPaymentContext
答案 1 :(得分:0)
发生这种情况的原因是,起初我使用的是Pod版本15.0.1,后来又更新为16.0.0。我得到了他们开发人员的回应,因此总之,不再支持默认卡。
这是完整的答复:
这是故意的,并且是PaymentMethods API的更改 不再存在默认的PaymentMethod这样的概念。您的 集成必须保持这一点,并明确传递 您要收费的PaymentMethod,根本就没有客户级别 默认