Judopay Swift SDK
Judopay Swift SDK 是一个框架,用于将快速、安全地集成支付的框架放入您的应用程序中,使用 Judopay。它包含一个详尽的内置支付和安全工具包,使集成变得简单快捷。如果您在 Objective-C 中集成应用程序,我们强烈建议您使用 JudoKitObjC 版本。
使用我们的 UI 组件,为信用卡数据捕获提供无缝的用户体验。通过可定制的 UI(可主题定制以匹配应用程序的外观和感觉),将您的 PCI 范围 降至最低。
要求
8.1+ 版本需要 Xcode 10.3 和 Swift 5
8.0+ 版本需要 Xcode 10 和 Swift 4.2
7.0+ 版本需要 Xcode 9 和 Swift 4
6.2.5+ 版本需要 Xcode 8 和 Swift 3
6.2.4 版本是最后一个支持 Xcode 7.3.1 和 Swift 2.2 的版本
开始
1. 集成
如果你的集成基于 Carthage,请访问 我们的 GitHub Wiki。
如果您是手动集成 SDK,请遵循 此处 的指南。
如果您使用 CocoaPods 进行集成,请按照以下步骤操作。
- 您可以使用 Homebrew 或以下命令安装 CocoaPods
$ gem install cocoapods
- 将 JudoKit 添加到您的
Podfile
以将其集成到 Xcode 项目中
platform :ios, '10.0'
target 'YourApp' do
use_frameworks!
pod 'JudoKit', '~> 8.1.0'
end
- 然后运行以下命令
$ pod install
-
请注意,始终使用新生成的 `.xcworkspace` 文件,而不是项目的 `.xcodeproj` 文件。
-
在您的 Xcode 环境中,转到名为
Pods
的Project Navigator
(蓝色项目图标),选择JudoKit
目标并打开名为Build Phases
选项卡。 -
添加一个新的
Run Script Phase
并将其拖至Compile Sources
构建阶段之上。 -
在 shell 脚本中,粘贴以下行
sh "${PODS_ROOT}/DeviceDNA/Framework/strip-frameworks-cocoapods.sh"
2. 设置
将 import JudoKit
添加到您希望使用 SDK 的文件顶部。
您需要在初始化 JudoKit 时设置您的令牌和密钥。
// initialize the SDK by setting it up with a token and a secret
var judoKit = JudoKit(token: "<TOKEN>", secret: "<SECRET>")
要指示 SDK 与沙盒环境通信,请在应启动支付的 ViewController 中包含以下行
// setting the SDK to Sandbox Mode - once this is set, the SDK wil stay in Sandbox mode until the process is killed
judoKit.sandboxed(true)
当您准备上线时,可以删除此行。
3. 进行支付
func paymentOperation() {
guard let ref = Reference(consumerRef: "<CONSUMER_REFERENCE>") else { return }
try! judoKit.invokePayment(judoId, amount: Amount(decimalNumber: 0.01, currency: currentCurrency), reference: ref, completion: { (response, error) in
self.dismiss(animated: true, completion: nil)
if let error = error {
if error.code == .userDidCancel {
self.dismiss(animated: true, completion: nil)
return
}
var errorTitle = "Error"
if let errorCategory = error.category {
errorTitle = errorCategory.stringValue()
}
self.alertController = UIAlertController(title: errorTitle, message: error.message, preferredStyle: .alert)
self.alertController!.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
self.dismiss(animated: true, completion:nil)
return
}
if let resp = response, let receipt = resp.items.first {
self.cardDetails = receipt.cardDetails
self.paymentToken = receipt.paymentToken()
}
let sb = UIStoryboard(name: "Main", bundle: nil)
let viewController = sb.instantiateViewController(withIdentifier: "detailviewcontroller") as! DetailViewController
viewController.response = response
self.navigationController?.pushViewController(viewController, animated: true)
})
}
注意:请确保为每位不同的消费者使用唯一的消费者参考。
下步操作
Judopay的Swift SDK支持一系列自定义选项。有关如何在iOS中使用Judopay的更多信息,请参阅我们的wiki文档或API参考。