Banked Checkout SDK
Banked SDK提供了一个接口来处理使用Banked API创建的PaymentSession。
您可以在我们的开发者文档中找到更多有关Banked的信息,包括如何设置Payment Session的指南。
安装
使用Cocoapods安装Banked Checkout SDK
要使用CocoaPods将Banked Checkout SDK集成到您的Xcode项目中,请在Podfile中指定它
pod ‘Banked’
用法
1. 为调用设置通用链接
用户在结账时从列表中选择了一家银行后,将被重定向到应用程序(如果已安装)或网站以授权付款。在完成授权(或失败)后,我们需要通过您提供的URL将用户返回到您的应用程序 - 目前我们通过通用链接来支持此功能
我们推荐使用通用链接的原因是,支付会话可能通过Checkout在iOS应用程序中处理,或者在桌面应用程序中处理(例如,如果您有Web版本) - 通用链接意味着您可以按需处理这两种场景。
一旦您设置了通用链接,该应用程序就能够恰当地处理传入的回调。
更多有关设置通用链接的详细信息,请参阅Apple开发者文档
2. 导入库
安装pod之后,导入库。
@import Banked
3. 初始化BankedCheckout
根据您是实施测试还是生产结账,输入在Banked控制台中找到的适当客户端密钥
BankedCheckout.shared.setUp(clientKey: "CLIENT KEY")
4. 生成 PaymentSession
使用 Banked API
来创建一个 PaymentSession
。请阅读 API 文档以了解更多详细信息 - Banked API - 生成 Payment Session
在创建 PaymentSession 时,无需提供回调 URL - 这将在向用户展示结账界面时在下一步进行处理。
5. 展示 PaymentSession 的 BankedCheckout
在指定的 ViewController 上展示结账界面。
您必须提供一个 Payment ID,这是您通过 API 创建的 PaymentSession 的一部分。这用于检索结账的正确详细信息。
根据网络速度,检索 PaymentSession 可能需要几秒钟才能展示用户界面。我们提供了 delegate 方法 bankedCheckoutIsLoading(_ isLoading: Bool),它返回加载状态 - 您可以使用它来在结账出现之前显示/隐藏加载界面
动作是 PaymentAction,用于适当地定制结账 - 例如,用于描述付款目的/意图的文本。四个可用的选项是:支付、捐赠、发送和转移。
您还需要指定一个 continueURL - 这将用于在支付成功或失败后将用户重定向到。
BankedCheckout.shared.presentCheckout(self, paymentId: "PAYMENT ID", action: .pay, continueURL: "example.com"){ (response) in
switch response {
case .success:
// Handle success
case .failure(let error):
// Handle failure with error
}
}
6. 处理银行授权后的回调
您的 Universal Links 会自动在您离开银行授权流程后打开应用,您需要在 App Delegate 中处理此操作。以下示例中,PaymentSession 设置的回调 URL 为 https://example.com。
一旦用户在支付授权后被重定向回您的应用,请获取他们被重定向的URL,并将其传递给BankedCheckout.shared.handlePaymentWithId("REDIRECT_URL", .pay)。第二个参数是步骤5中指定的支付动作。
BankedCheckout.shared.handlePaymentWithURL(url, action: .pay) { response in
switch response {
case .success:
// Handle success
case .failure(let error):
// Handle failure with error
}
}
可选 - 为BankedCheckout设置代理
您可以实现BankedCheckoutDelegate协议并指定代理。该代理包含一个方法,用于指示检索PaymentSession的Checkout '加载'状态。
贡献
请先开放一个issus讨论您想更改的内容。