JudoKit 8.1.0

JudoKit 8.1.0

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布最新发布2021年1月
SPM支持 SPM

James LappinMichael HancockZeno FoltinJudopay 维护。



 
依赖
DeviceDNA~> 0.1
TrustKit~> 1.6.2
 

JudoKit 8.1.0

  • Judopay

CocoaPods Compatible Carthage Compatible License Platform

Twitter

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 环境中,转到名为 PodsProject 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参考