如何展示 Stripe 客户的卡片列表?
Posted
技术标签:
【中文标题】如何展示 Stripe 客户的卡片列表?【英文标题】:How do I present a Stripe Customer's list of cards? 【发布时间】:2017-12-24 05:28:37 【问题描述】:我只想在 ios 应用中显示用户的默认 Stripe 付款方式。
我正在尝试将 STPPaymentMethodsViewController
推送到 viewController
。 Stripe 明确声明我必须创建一个STPCustomerContext
。我是否也必须创建一个STPPaymentContext
?我不想创建 STPPaymentContext
,因为它需要 4 种我不会在我的应用程序的这一部分中使用的方法...这是我拥有的,但没有骰子。
此外,Stripe 的文档会指导您创建一个 customerContext,但不要说它是如何传递给 STPPaymentMethodsViewController
的。我错过了什么?
https://stripe.com/docs/mobile/ios/custom
//AppDelegate.swift
var customerContext: STPCustomerContext?
func setupStripe()
self.customerContext = STPCustomerContext(keyProvider: MyAPIClient.sharedClient)
从用户的 settingsVC 我正在尝试执行以下操作:
func paymentMethodsButtonTapped()
let paymentMethodsViewController = STPPaymentMethodsViewController()
paymentMethodsViewController.delegate = self // ERROR HERE: Cannot assign to property: 'delegate' is get only
let navigationController = UINavigationController(rootViewController: paymentMethodsViewController)
self.present(navigationController, animated: true, completion: nil)
【问题讨论】:
你好@Charles,你有解决办法吗 我想做同样的事情,但是在查看 STPPaymentMethodsViewController 之后我没有找到列表或表格视图或任何东西...... 【参考方案1】:确保你的班级确认STPPaymentMethodsViewControllerDelegate
。
【讨论】:
【参考方案2】:let customerContext = STPCustomerContext(keyProvider: StripeClient.shared)
let paymentMethodsViewController = STPPaymentMethodsViewController(configuration: STPPaymentConfiguration.shared(), theme: STPTheme.default(), customerContext: customerContext, delegate: self as STPPaymentMethodsViewControllerDelegate)
let navigationController = UINavigationController(rootViewController: paymentMethodsViewController)
present(navigationController, animated: true)
【讨论】:
从哪里获得 StripeClient.shared?请你分享完整的代码 我将它命名为 StripeClient 但实际上您可以随意命名,该客户端应该由您创建,并且它应该包含 Stripe 使用的一些方法,您可以在此处获取示例:github.com/stripe/stripe-ios/blob/master/Example/…跨度>以上是关于如何展示 Stripe 客户的卡片列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何监听Stripe cardElement 的输入事件,判断卡片是不是无效并禁用按钮?
如何在 IOS 中使用 STRIPE API 创建 STRIPE 客户?