存入0.0.40

存入 0.0.40

Jamal Issouquaein (管理员)KristinaRicardo Ruiz Lopez维护。



存入 0.0.40

  • 作者:
  • 存入

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讨论您想更改的内容。