TokenExMobileAPI 1.0.0

TokenExMobileAPI 1.0.0

IXOPAYPatrick Marschik 维护。



  • TokenEx

TokenEx iOS SDK

CocoaPods Carthage compatible License Platform

TokenEx iOS SDK 可以使任何 Swift 或 Objective-C 项目的开发者能够轻松访问 TokenEx Mobile API。

入门指南

添加框架

将框架添加到你的项目中

  • Swift Package Manager (SPM, SwiftPM): 将此仓库的 URL 添加为包依赖

    1. 在项目导航器中选择你的 XCode 项目。
    2. 确保在编辑器中选择项目,并切换到“包依赖”选项卡。
    3. 在右上角单击“+”并输入 https://github.com/ixopay/tokenex-ios.git
    4. 单击“添加包”
  • CocoaPods

    1. 创建一个 Podfile: pod init
    2. 编辑 Podfile 以添加依赖项
    target 'MyExampleProject' do
      use_frameworks!
    
      pod 'TokenExMobileAPI', '~> 1.0.0'
    end
    1. 安装项目依赖项
    pod install
    1. 重新打开你的 XCode 项目
    open ./MyExampleProject.xcworkspace
  • Carthage

    1. 在项目目录中创建一个 Cartfile
    github "ixopay/tokenex-ios.git" ~> 1.0.0
    
    1. 运行
    carthage update --use-xcframeworks
    1. 将构建好的包添加到 ./Carthage/Build/TokenExMobileAPI.xcframework 中,作为框架依赖项添加到你的应用程序中。

集成

  1. 提供你的 TokenEx ID

    // Make sure the environment matches your TokenEx ID
    // i.e. for test IDs use the test environment, the default is the production environment
    TokenExMobileAPI.defaultEnvironment = TokenExMobileAPIEnvironment.production
    TokenExMobileAPI.defaultTokenExID = "YourTokenExID"
  2. 实现协议 TXAuthenticationKeyProvider。实现应该调用你的后端服务器以获取一个验证密钥。

    internal class MyMerchantBackendAuthenticationKeyProvider : TXAuthenticationKeyProvider {
      internal func fetchAuthenticationKey(tokenExID: String, tokenSchemeOrToken: String) throws -> TXAuthentication {
        // Call your backend server with the tokenSchemeOrToken (and optionally your TokenEx ID to help you identify the client secret key)
        // For example code for your backend see https://docs.tokenex.com/docs/generating-the-authentication-key-1
    
        return TXAuthentication(key: "HMAC_RETURNED_BY_YOUR_SERVER", timestamp: TIMESTAMP_RETURNED_BY_YOUR_SERVER)
      }
    }

    然后配置 API 客户端以使用它

    TokenExMobileAPI.defaultAuthenticationKeyProvider = MyMerchantBackendAuthenticationKeyProvider()
    1. 使用 TXMobileAPIClient
    let tokenResponse = try await TXMobileAPIClient.shared.tokenizeWithCVV(
      TXTokenizeCVVRequest(
        data: "5454545454545454",
        tokenScheme: TXTokenScheme.PCI,
        cvv: "123"
      )
    )
    
    print(tokenResponse.token)

可选地,你也可以提供一个实现 TXTokenHMACProviderTokenExMobileAPI.defaultTokenHMACProvider,它使用你的后端生成 HMAC 以验证 TokenEx 响应。有关更多详细信息,请参阅 验证 Token HMAC

注意:你也可以不使用 TokenExMobileAPI 中的默认值来实例化 TXMobileAPIClient

示例

本项目包含一个示例 iOS 应用,在 TokenExMobileSample 中。

要使用演示应用程序,你需要以两种方式之一提供你的 TokenEx ID 和客户密钥

  1. 编辑你的 XCode 建议方案 以包括环境变量
    APP_ENVIRONMENT="local"
    TOKENEX_ID="YourTokenExID"
    TOKENEX_ENVIRONMENT="test" # or production
    TOKENEX_CUSTOMER_SECRET="Customer secret from portal"
  2. 在应用程序的设置标签内输入您的登录凭据。

代码风格

  • 我们使用 swiftlint 来强制执行代码风格。
  • 使用 brew install swiftlint 安装 switflint
  • 安装 just

许可证

MIT