CheckoutSdkIos 0.3.1

CheckoutSdkIos 0.3.1

Checkout.com Integration 维护。



  • Checkout.com Integration

CheckoutSdkIos - 测试版本

测试版本 - 在联系 [email protected] 之前不要使用

Build Status CocoaPods Compatible Carthage Compatible Platform codecov codebeat badge license

要求

  • iOS 10.0+
  • Xcode 9.0+
  • Swift 4.1+

文档

您可以在本网站上找到 CheckoutSdkIos 的文档 此处

安装

CocoaPods

CocoaPods 是用于 Cocoa 项目的依赖管理器。您可以使用以下命令安装它:

$ gem install cocoapods

CocoaPods 1.1+ 是构建 CheckoutSdkIos 1.0+ 所必需的。

要使用 CocoaPods 将 CheckoutSdkIos 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'CheckoutSdkIos', :git => 'https://github.com/floriel-fedry-cko/frames-ios.git'
end

然后,运行以下命令:

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并提供二进制框架。

您可以使用以下命令通过 Homebrew 安装 Carthage:

$ brew update
$ brew install carthage

要使用 Carthage 将 CheckoutSdkIos 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它:

github "floriel-fedry-cko/frames-ios" ~> 0.2

运行 carthage update 来构建框架,并将构建的 CheckoutSdkIos 拖入您的 Xcode 项目中。

使用方法

导入 SDK

import CheckoutSdkIos

使用 CardViewController

class ViewController: UIViewController, CardViewControllerDelegate {

    let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14",
                                              environment: .sandbox)
    let cardViewController = CardViewController(cardHolderNameState: .hidden, billingDetailsState: .hidden)

    override func viewDidLoad() {
        super.viewDidLoad()
        // set the card view controller delegate
        cardViewController.delegate = self
        // replace the bar button by Pay
        cardViewController.rightBarButtonItem = UIBarButtonItem(title: "Pay", style: .done, target: nil, action: nil)
        // specified which schemes are allowed
        cardViewController.availableSchemes = [.visa, .mastercard]

        navigationController?.pushViewController(cardViewController, animated: false)
    }

    func onTapDone(card: CkoCardTokenRequest) {
        checkoutAPIClient.createCardToken(card: card, successHandler: { cardToken in
            print(cardToken.id)
        }, errorHandler: { error in
            print(error)
        })
    }

}

使用 CheckoutSdkIos 中的可用方法

您可以在使用指南中找到更多示例。

创建 API 客户端 CheckoutAPIClient

// replace "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14" by your own public key
let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_test_6ff46046-30af-41d9-bf58-929022d2cd14",
                                          environment: .sandbox)

创建 CardUtils 实例

let cardUtils = CardUtils()

使用 CardUtils 验证卡号

/// verify card number
let cardNumber = "4242424242424242"
let isCardValid = cardUtils.isValid(cardNumber: cardNumber)

创建卡口通告 CardTokenRequest

// create the phone number
let phoneNumber = CkoPhoneNumber(countryCode:number:)
// create the address
let address = CkoAddress(name:addressLine1:addressLine2:city:state:postcode:country:phone:)
// create the card token request
let cardTokenRequest = CkoCardTokenRequest(number:expiryMonth:expiryYear:cvv:name:billingAddress:)

创建卡口通告

let checkoutAPIClient = CheckoutAPIClient(publicKey: "pk_......", environment: .live)
// create the phone number
let phoneNumber = CkoPhoneNumber(countryCode:number:)
// create the address
let address = CkoAddress(name:addressLine1:addressLine2:city:state:postcode:country:phone:)
// create the card token request
let cardTokenRequest = CkoCardTokenRequest(number:expiryMonth:expiryYear:cvv:name:billingAddress:)
checkoutAPIClient.createCardToken(card: cardTokenRequest, successHandler: { cardTokenResponse in
    // success
}, errorHandler { error in
    // error
})

成功处理程序接受一个 CkoCardTokenResponse 数组作为参数。错误处理程序接受一个 ErrorResponse 作为参数。

协议

CheckoutSdkIos 根据 MIT 许可证发布。查看 LICENSE 获取详细信息