Acrosure Swift SDK
用于连接 Acrosure 保险网关的 Swift SDK
安装
CocoaPods (iOS 8+)
您可以通过在 Podfile 中添加它来使用 CocoaPods 安装 AcrosureSDK。
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'AcrosureSDK', '~> 1.0'
end
Carthage (iOS 8+)
您可以通过将 AcrosureSDK 添加到 Cartfile 来使用 Carthage 安装 AcrosureSDK。
github "AcrosureSDK/acrosure-swift-sdk" ~> 1.0
如果您使用 Carthage 构建依赖项,请确保您将 AcrosureSDK.framework 添加到目标的“链接框架和库”部分,并在 Carthage 框架复制构建阶段中包含它们。
Swift Package Manager
您可以使用 Swift 包管理器通过在您的 Package.swift 文件中添加适当的描述来安装 AcrosureSDK。
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
dependencies: [
.package(url: "https://github.com/AcrosureSDK/acrosure-swift-sdk.git", from: "1.0.0"),
]
)
然后,在准备好后运行 swift build。
入门指南
将 AcrosureClient 导入您的项目。
import AcrosureSDK
使用来自 Acrosure仪表板 的 API 密钥进行实例化。
let client = AcrosureClient(token: '<YOUR_PUBLIC_TOKEN>')
基本用法
AcrosureClient 提供了诸如 application
、product
等多个对象及其关联的 API。
任何响应都将位于具有类型 AcrosureResponse
的响应对象中,其结构如下:
struct AcrosureResponse {
var status: String?
var data: JSON?
var message: String?
var pagination: JSON?
}
其中 data
字段是结果所在的位置。
函数使用 Swift 中的 闭包 处理响应。
依赖项
此 SDK 使用 SwiftyJSON 处理 JSON,并使用 Alamofire 进行 HTTP 请求。
应用
获取
通过指定 id 获取应用程序。
client.application.get(id: "appl_SAMPLE01") { response in
// ...
}
创建
创建一个应用程序。
client.application.create(productId: 'prod_ta') { response in
// ...
}
更新
更新应用程序。
client.application.update(
id: "appl_SAMPLE01",
basicData: {},
packageOptions: {},
additionalData: {},
packageCode: '<package_code>',
) { response in
// ...
}
获取包
获取当前应用程序的可用包。
client.application.getPackages(id: "appl_SAMPLE01") { response in
// ...
}
选择包
为当前应用程序选择包。
client.application.selectPackage(id: "appl_SAMPLE01", packageCode: '<package_code>) { response in
// ...
}
获取包
获取当前应用程序所选包。
client.application.getPackage(id: "appl_SAMPLE01") { response in
// ...
}
获取2C2P支付哈希
获取2C2P支付使用的哈希对象。
client.application.getHash(id: "appl_SAMPLE01", frontendUrl: "https://example.com") { response in
// ...
}
提交
提交当前应用程序。
client.application.submit(id: 'appl_SAMPLE01') { response in
// ...
}
列出
列出您应用程序(包括或不包括查询)。
client.application.list() { response in
// ...
}
产品
获取
获取指定ID的产品。
client.product.get(id: 'prod_ta') { response in
// ...
}
列表
列出您的产品(带或不带查询)。
client.product.list() { response in
// ...
}
策略
获取
获取指定ID的策略。
client.policy.get(id: 'plcy_SAMPLE01') { response in
// ...
}
列表
列出您的策略(带或不带查询)。
client.policy.list() { response in
// ...
}
数据
获取
获取处理器的值(有或没有依赖项,请参阅Acrosure API文档)。
// Without dependencies
client.data.get(handler: "province") { response in
// ...
}
// With dependencies
client.data.get(handler: "subdistrict", dependencies:["กรุงเทพมหานคร","วังทองหลาง"]) { response in
// ...
}
团队
获取信息
获取当前团队信息。
client.team.getInfo() { response in
// ...
}
高级用法
有关Acrosure API的更多详细信息,请参阅Acrosure API文档。
相关Acrosure API端点
应用程序
/applications/get
/applications/list
/applications/create
/applications/update
/applications/get-packages
/applications/get-package
/applications/select-package
/applications/submit
/applications/get-hash
产品
/products/get
/products/list
策略
/policies/get
/policies/list
数据
/data/get
团队
/teams/get-info
开发
先决条件
入门
pod install
测试
使用 xcode!
通过 CLI
推荐使用 xcpretty。
xcodebuild test -workspace AcrosureSDK.xcworkspace -scheme AcrosureSDKTests -destination 'platform=iOS Simulator,name=iPhone 6s,OS=12.0' | xcpretty
不使用 xcpretty
xcodebuild test -workspace AcrosureSDK.xcworkspace -scheme AcrosureSDKTests -destination 'platform=iOS Simulator,name=iPhone 6s,OS=12.0'