PaylineSDK 1.0.0

PaylineSDK 1.0.0

Payline 维护。



  • Payline

PaylineSDK

CI Status Version License Platform

描述

Payline SDK 是一个开发工具包,允许与 Payline 服务交互,以执行支付或查看钱包。

示例

要运行示例项目,只需克隆此仓库,然后在 Example 文件夹中运行以下命令:

安装

PaylineSDK 通过 CocoaPods 提供。

要安装

  1. 在你的 Podfile 中添加以下行:
pod 'PaylineSDK'
  1. 在项目根目录下运行以下命令: pod install

使用

初始化

为了初始化SDK,首先需要实例化一个PaymentController()和一个WalletController(),以及它们相关的代理。

lazy var paymentController: PaymentController = {
    return PaymentController(presentingViewController: UIViewController, delegate: PaymentControllerDelegate)
}()

lazy var walletController: WalletController = {
    return WalletController(presentingViewController: UIViewController, delegate: WalletControllerDelegate)
}()

初始化支付的函数需要两个参数:一个PaymentControllerDelegate和一个UIViewController。初始化钱包的函数也需要两个参数:一个WalletContrllerDelegate和一个UIViewController

为了让你的UIViewController作为代理工作,你需要实现PaymentControllerDelegateWalletControllerDelegate协议。

class ViewController: UIViewController, PaymentControllerDelegate, WalletControllerDelegate

进行支付

使用showPaymentForm方法来显示支付方式页面。

@IBAction func clickedPay(_ sender: Any?) {
    let url = URL(string: ...)
    paymentController.showPaymentForm(environment: url)
}

参数url的获取将根据你的实现方式来决定。更多详细信息,请参阅Payline文档,点击此处

访问钱包

使用showManageWallet方法来显示钱包页面。

@IBAction func clickedManageWallet(_ sender: Any?) {
    let url = URL(string: ...) {
    walletController.manageWebWallet(environment: url)
}

与进行支付类似,参数url的获取也将根据你的实现方式来决定。更多详细信息,请参阅Payline文档,点击此处

实现代理

PaymentControllerDelegate

PaymentControllerDelegate是一个接口,它定义了应用程序和PaymentController之间的通信。

它需要实现五个方法

  • paymentControllerDidShowPaymentForm(_:) : 当支付方式列表显示时调用的方法。

  • paymentControllerDidFinishPaymentForm(_:withState:) : 支付完成时调用的方法。此方法接收一个类型为 WidgetState 的对象作为参数,该对象是一个枚举,表示由小部件回调函数返回的状态属性的可能值。

  • paymentController(_:didGetIsSandbox:) : 当支付环境已知(测试环境或生产环境)时调用的方法。

  • paymentController(_:didGetLanguageCode:) : 当小部件的语言已知时调用的方法。

  • paymentController(_:didGetContextInfo:) : 当获取支付环境信息时调用的方法。

WalletControllerDelegate

WalletControllerDelegate 是一个定义了 WalletController 与应用程序之间通信的接口。

它需要实现一个方法

walletControllerDidShowWebWallet(_:) : 当管理钱包页面显示时调用的方法

使用示例

初始化

class ViewController: UIViewController {

lazy var paymentController: PaymentController = {
    return PaymentController(presentingViewController: self, delegate: self)
}()

lazy var walletController: WalletController = {
    return WalletController(presentingViewController: self, delegate: self)
}()

执行支付

@IBAction func clickedPay(_ sender: Any?) {
    let url = URL(string: ...)
    //On appelle la méthode showPaymentForm avec l'url du tunnel de paiement récupéré en fonction de votre implémentation
    paymentController.showPaymentForm(environment: url)
}

显示钱包

@IBAction func clickedManageWallet(_ sender: Any?) {
    let url = URL(string: ...)
    //On appelle la méthode manageWebWallet avec l'url du wallet récupéré en fonction de votre implémentation.
    paymentController.manageWebWallet(environment: url)
}

实现委托

extension ViewController: PaymentControllerDelegate {

    func paymentControllerDidShowPaymentForm(_ paymentController: PaymentController) {
        //Gérer l'action ici
    }

    func paymentControllerDidFinishPaymentForm(_ paymentController: PaymentController, withState state: WidgetState) {
        //Gérer le WidgetState ici
    }

    func paymentController(_ paymentController: PaymentController, didGetIsSandbox: Bool) {
        //Gérer l'action ici
    }

    func paymentController(_ paymentController: PaymentController, didGetLanguageCode: String) {
        //Gérer l'action ici
    }

    func paymentController(_ paymentController: PaymentController, didGetContextInfo: ContextInfoResult) {  
        //Gérer l'action ici
    }

}

extension ViewController: WalletControllerDelegate {

    func walletControllerDidShowWebWallet(_ walletController: WalletController) {
        //Gérer l'action ici
    }

}

Payline文档

Payline文档可在此处找到。它提供了关于系统的概述、详细信息和某些主题的解释。


作者

Payline,[email protected]

许可证

PaylineSDK在GPL许可证下可用。更多信息请参阅LICENSE文件。