如何展示 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 为同一客户创建多张卡片

卡片列表项缓缓往下展示 效果实现

如何监听Stripe cardElement 的输入事件,判断卡片是不是无效并禁用按钮?

如何在 IOS 中使用 STRIPE API 创建 STRIPE 客户?

Stripe——confirmCardPayment 后,如何将新卡附加给客户?

如何挂载单个卡片元素 stripe.js?