【发布时间】:2020-01-16 16:07:49
【问题描述】:
我正在使用最新版本的 iOS Stripe SDK (1.27),其中 STPAddCardViewControllerDelegate 不再返回 STPToken,而是返回 PaymentMethod 对象。
func addCardViewController(_ addCardViewController: STPAddCardViewController, didCreatePaymentMethod paymentMethod: STPPaymentMethod, completion: @escaping STPErrorBlock) {
dismiss(animated: true, completion: { [weak self] in
// Send the paymentMethod.stripeId to my Server
})
}
在服务器端,我验证了我系统上的用户是否已经有一个客户对象并相应地创建或更新客户,例如:
Customer::create(['email'=> email, 'payment_method' => payment_method_id])
但在尝试创建订阅后,使用以下代码:
Subscription::create(['customer' => customer, 'plan' => plan_id])
它返回以下错误:
此客户没有附加付款来源
注意:作为一种解决方法,我可以在生成 STPToken 并用作源时返回到以前版本的 iOS SDK(以这种方式工作)。但我想使用新的 PaymentMethod API。
有没有办法将 PaymentMethod 转换为令牌? (或者将 PaymentMethod.stripeId 发送到服务器是否正确)?
缺少什么?
【问题讨论】:
标签: php swift stripe-payments