iOS SDK 使用说明¶
SDK 版本记录¶
版本 |
日期 |
说明 |
v1.0.3 |
2019-08-29 |
优化查询 |
v1.0.2 |
2019-08-22 |
支持反扫 |
v1.0.1 |
2019-08-13 |
支持 Test模式 |
v1.0.0 |
2019-08-08 |
Adapay 初版 |
版本要求¶
iOS SDK 要求 iOS 9.0 及以上版本。
接入方法¶
1.下载 iOS SDK 到本地
下载文件里包含 SDK 和 Demo 两个目录。SDK 目录下为待添加到项目中的文件,Demo 目录下为示例项目,供接入时参考使用。
2.导入 Framework

在您的工程中,选择工程对应的 TARGET 。
点击 General 选项卡 。
在 Embedded Binaries 选项中,添加 AdaPaySDK.framework 库文件。
使用方法¶
发起支付,当您的 APP 从服务端获取到 Charge对象 后您可以按照以下方法调用发起支付交易
1.获取实例,调用支付方法前请先实例化 SDK 对象,并传入必要参数:
//获取实例
Adapay *adaPay = [Adapay shareInstance];
// 设置接收支付结果的代理
adaPay.delegate = self;
// 查询支付结果的超时时间
adaPay.queryTimeout = 180;
参数说明
参数 |
描述 |
delegate |
支付结果处理代理(需继承 AdaPayDelegate 协议) |
queryTimeout |
订单查询超时时间(默认为 180 秒) |
scheme |
Test模式下,支付宝支付,支付后回调应用 scheme,需在 URL Types 里配置 |
2.发起支付
您 App 通过服务端下单后,将从服务端返回 Charge对象 传入 SDK 发起支付,通过 SDK 进而获取支付结果。
如使用二维码扫码支付,您的 App 需要通过解析 Charge对象 中的二维码字段 url (qrcode_url 字段),生成二维码后展示给用户,用户通过微信或者支付宝扫码支付。
如使用微信或者支付宝 App 支付,直接调用如下方法:
// 获取实例
Adapay *Adapay = [Adapay shareInstance];
// 设置接收支付结果的代理
AdaPay.delegate = self;
// 发起支付
[Adapay doPay:charge];
3.获取支付结果(扫码支付与 App 支付)
本方法同时支持扫码支付与 App 支付两种业务模式。在获取实例时传入的 delegate 对象中实现如下方法,根据业务需求替换代理方法内代码。
交易结果以后端为准,前端返回结果仅供参考
- (void)handlePayResult:(nonnull ResultCode)result_code orderInfo:(nonnull NSDictionary *) order_info
{
// result_code 交易结果码
NSLog(@"result_code,,,,,,%@", result_code)
// 订单信息 order_info
NSLog(@"order_info,,,,,,%@", order_info);
}
参数说明
属性 |
描述 |
---|---|
result_code |
交易结果返回码,具体详见 参数附表 中 result_code |
order_info |
服务端返回的交易结果信息,具体详见 参数附表 中 order_info |
参数附表¶
order_info
交易结果信息说明
类型 |
描述 |
---|---|
id |
Adapay 订单号 |
order_amount |
订单金额(元) |
result_code |
返回码 |
result_message |
返回结果描述 |
result_code
返回码说明
类型 |
描述 |
---|---|
ResultSuccess |
订单支付成功 |
ResultFailed |
订单支付失败 |
ResultPending |
订单支付中 |
ResultOutTime |
订单支付超时 |
ResultCancel |
用户取消 |
ResultParamError |
参数错误 |
ResultError |
其他错误 |
注意事项¶
1.使用微信支付必须要求用户安装微信客户端。
2.请勿直接使用客户端支付结果作为最终判定订单状态的依据。 支付状态以服务端为准:在收到客户端同步返回结果时,请向自己的服务端发起请求来查询订单状态。
3.如果编译失败,遇到错误信息为:
XXXXXXX does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
请到 Xcode 项目的 Build Settings 标签页搜索 bitcode,将 Enable Bitcode 设置为 NO。