FRAMEIos
要求
- 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 中可用的方法
您可以在 用法指南 中找到更多示例。
CheckoutAPIClient
创建 API 客户端 // 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 了解更多详情。