AdyenInternal 2.8.6

AdyenInternal 2.8.6

mohamedeJoost van DijkAdyen Cocoapods Manager维护。



  • 作者
  • Adyen

Adyen SDK for iOS

使用 Adyen SDK,您可以帮您的消费者使用他们选择的支付方式支付,这些支付方式来自动态生成的可用支付方式列表。支付方式可用性基于购物者的位置、交易货币和交易金额。

您可以通过两种方式集成 SDK:要么利用 Adyen 预配置的默认 UI 组件和流程(快速集成),要么实现您自己的 UI 和结账体验(自定义集成)。

                    

安装

Adyen SDK 可以通过 CocoaPodsCarthage 获取。

CocoaPods

  1. pod 'Adyen' 添加到您的 Podfile 中。
  2. 运行 pod install

如果您的 Podfile 中没有使用 use_frameworks!,请参阅我们的维基,以防止当使用 Adyen 作为静态框架时出现问题。

Carthage

  1. github "adyen/adyen-ios"添加到您的Cartfile中。
  2. 运行carthage update
  3. 按照Carthage Readme中的说明,将框架链接到您的目标。

快速集成

如果您希望快速集成Adyen,可以使用我们提供的默认UI元素来选择支付方式、输入付款信息和完成付款。

为此,请使用您的视图控制器实例化一个CheckoutController,并调用start()来呈现结账UI。

var checkoutController: CheckoutController?

func startCheckout() {
    checkoutController = CheckoutController(presentingViewController: self, delegate: self)
    checkoutController?.start()
}

CheckoutControllerDelegate

应实现以下CheckoutControllerDelegate方法

func requestPaymentSession(withToken token: String, for checkoutController: CheckoutController, responseHandler: @escaping (String) -> Void)

此方法需要您通过我们的/paymentSession端点获取一个支付会话,并传递给completion处理器。在接收到有效的支付会话后,SDK将显示可用的支付方式列表。

func didFinish(with result: Result<PaymentResult>, for checkoutController: CheckoutController)

当结账流程完成时,会调用此方法。结果包含PaymentResultError。您可以将PaymentResultpayload属性提交给我们的/payments/result端点,以在您的服务器上验证支付。

处理重定向

为了正确处理重定向到外部网站,确保在您的UIApplicationDelegate中实现以下操作,以便在购物者返回您的应用时通知我们的SDK

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any] = [:]) -> Bool {
    Adyen.applicationDidOpen(url)

    return true
}

有关实现细节,请参阅快速集成指南

自定义集成

使用自定义集成,您可以完全控制支付流程,并能够实现独特的结账体验。

此方法需要创建并启动一个 PaymentController,并实施 PaymentControllerDelegate 协议以进行处理回调。 PaymentControllerDelegate 回调将为您提供一系列可用的支付方式、需要外部流程的支付方式的网址以及支付处理的结果。

有关实现细节,请参阅 自定义集成指南

示例

您可以在本存储库的示例文件夹中找到快速和自定义集成的示例。

也见

许可

此存储库是开源的,可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。