FRAMEIos 2.0.0

FRAMEIos 2.0.0

Checkout.com Integration 维护。



FRAMEIos 2.0.0

  • 作者:
  • Checkout.com Integration

FRAMEIos

Build Status CocoaPods Compatible Carthage Compatible Platform codecov codebeat badge license

Demo frames ios

要求

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

文档

您可以在本网站上找到 FramesIos 文档 [在此](https://checkout.github.io/frames-ios/index.html)。

安装

CocoaPods

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

$ gem install cocoapods

需要 CocoaPods 1.1+ 来构建 1.0+ 的 FramesIos。

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

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

target '<Your Target Name>' do
    pod 'FramesIos', :git => 'https://github.com/checkout/frames-ios.git'
end

然后,运行以下命令:

$ pod install

Cartage

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

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

$ brew update
$ brew install carthage

要使用 Cartage 将 FramesIos 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它。

github "checkout/frames-ios" ~> 2.0

运行 carthage update 命令构建框架,并将构建好的 FramesIos 拖动到您的 Xcode 项目中。

用法

导入 SDK

import FramesIos

使用 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)
        })
    }

}

使用 FramesIos 中可用的方法

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

创建 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 作为参数。

许可证

FramesIos 在 MIT 许可证下发布。请参阅 LICENSE 了解更多详情。