iOS SDK 使用文档

简介

目前 Adapay 的 iOS SDK 支持的渠道包含:支付宝 App 支付(alipay)、微信支付宝当面付(主扫)。具体可参考 API文档

下载地址

SDK下载

SDK 版本记录

版本

日期

说明

v1.0.5

2020-06-24

适配苹果审核

v1.0.4

2020-01-07

优化调用

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

_images/1.jpeg
  • 在您的工程中,选择工程对应的 TARGET 。

  • 点击 General 选项卡 。

  • 在 Embedded Binaries 选项中,添加 AdaPaySDK.framework 库文件。

使用方法

发起支付,当您的 APP 从服务端获取到 Payment对象 后您可以按照以下方法调用发起支付交易

1.获取实例,调用支付方法前请先实例化 SDK 对象,并传入必要参数:

//获取实例
Adapay *adaPay = [Adapay shareInstance];
//  设置接收支付结果的代理
adaPay.delegate = self;
//  查询支付结果的超时时间
adaPay.queryTimeout = 180;
  • 参数说明

参数

描述

delegate

支付结果处理代理(需继承 AdaPayDelegate 协议)

queryTimeout

订单查询超时时间(默认为 180 秒)

scheme

Test模式下,支付宝支付,支付后回调应用 scheme,需在 URL Types 里配置

2.发起支付

您 App 通过服务端下单后,将从服务端返回 Payment对象 传入 SDK 发起支付,通过 SDK 进而获取支付结果。

如使用二维码扫码支付,您的 App 需要通过解析 Payment对象 中的二维码字段 url (qrcode_url 字段),生成二维码后展示给用户,用户通过微信或者支付宝扫码支付。

如使用微信或者支付宝 App 支付,直接调用如下方法:

//  获取实例
Adapay *Adapay = [Adapay shareInstance];
//  设置接收支付结果的代理
AdaPay.delegate = self;
//  发起支付
[Adapay doPay:payment];

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

返回码说明

类型

描述

0000

支付成功

0001

交易失败

0010

查询超时

0020

参数错误

注意事项

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。