PHP SDK 使用文档

简介

目前 Adapay 的 PHP SDK 支持的交易模块包括 支付(Payment)、退款(Refund)、查询、关单功能、 企业用户创建和查询、用户创建、用户查询、用户更新、用户列表查询、结算账户创建、结算账户查询、结算账户删除, 具体可参考 API文档

下载地址

SDK下载

SDK 版本记录

版本

日期

说明

v1.1.3

2020-08-31

增加 MQTT 断开重连机制

v1.1.2

2020-07-21

增加取现结果查询功能

v1.1.1

2020-05-29

增加钱包收银台相关接口功能

v1.1.0

2020-02-28

增加钱包相关接口功能

v1.0.9

2020-01-17

增加余额查询以及取现功能

v1.0.8

2020-01-07

增加获取银联云闪付用户标识功能

v1.0.7

2019-12-11

优化接口调用

v1.0.6.1

2019-11-29

优化异步通知

v1.0.5

2019-10-24

增加延时分账功能

v1.0.4

2019-10-15

增加结算明细查询功能

v1.0.3

2019-09-19

增加分账功能

v1.0.2

2019-08-29

优化接口调用

v1.0.1

2019-08-22

优化接口调用

v1.0.0

2019-08-08

Adapay 初版

版本要求

PHP 版本 5.6 及以上

接入方法

  • 下载 SDK

下载文件里包含 SDK 和 Demo 两个目录。SDK 目录下为待添加到项目中的文件,Demo 目录下为示例项目,供接入时参考使用。

  • 上传 RSA 公钥

您需要在本地生成一对 RSA 公私钥,将生成的公钥内容上传到 「控制台」 ->「商户信息管理」->「证书管理」->「商户公钥」

证书生成方法具体详见帮助中心 证书生成

  • 下载配置文件

配置文件获取路径: 「控制台」 ->「商户信息管理」->「证书管理」->「导出配置文件」

_images/certManager.png
  • SDK 导入

在支付模块中引入 SDK, 参考如下:

// 加载基础 adapay 基础类
// SDK 初始化文件加载
include_once  dirname(__FILE__). "/../AdapaySdk/init.php";
// 在文件中设置 DEBUG 为 true 时, 则可以打印日志到指定的日志目录下 LOG_DIR
include_once  dirname(__FILE__). "/config.php";

使用方法

  • 初始化

加载 Adapay 基础类,导入配置文件

/**
  * 商户接入AdaPay SDK时需要设置的初始化参数
  * 设置配置从配置文件读取
  */

  \AdaPay\AdaPay::init(dirname(__FILE__). "/config/config.json", "live");

发起支付

当您想发起一次支付请求时需要通过 Adapay 提供的创建方法获取一个新的 Payment对象,您可使用此 Payment对象 发起支付。对于支付结果,Adapay 会发送 异步消息 告知。

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();

# 支付设置
$payment_params = array(
    "app_id"=> "app_P000002052092068",
    "order_no"=> date("YmdHis").rand(100000, 999999),
    "pay_channel"=> "alipay",
    "time_expire"=> "20200101000000",
    "pay_amt"=> "0.01",
    "goods_title"=> "subject",
    "goods_desc"=> "body",
    "description"=> "description"
);
# 发起支付
$payment->create($payment_params);

# 对支付结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 创建支付

支付订单查询

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();
#发起支付订单查询
$payment->orderQuery(["payment_id"=> "002112019091919132010020717028587851776"]);

# 对关单结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
# 加载SDK需要的文件
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 支付查询

创建支付撤销对象

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();
$payment_params = array(
    # 支付对象ID
    "payment_id"=> "10000000000000001",
    # 商户app_id
    "app_id"=> "app_P000002052092068",
    # 撤销订单号
    "order_no"=> "R".date("YmdHis").rand(100000, 999999),
    # 撤销金额
    "reverse_amt"=> "0.01",
    # 通知地址
    "notify_url"=> "",
    # 撤销原因
    "reason"=> "订单支金额错误",
    # 扩展域
    "expand"=> "",
    # 设备信息
    "device_info"=> "",
);
# 发起支付撤销
$payment->createReverse($payment_params);

# 对支付撤销结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 创建支付撤销对象

查询支付撤销对象

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();
# 支付撤销设置
$payment_params = array(
    "reverse_id"=> "1000000000001123333333"
);

# 发起支付撤销查询
$payment->queryReverse($payment_params);

# 对支付撤销结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 查询支付撤销对象

查询支付撤销对象列表

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();
# 支付撤销参数设置
$payment_params = array(
    # 商户app_id
    "app_id"=> "1231123123123131231",
    # 支付对象ID
    "payment_id"=> "10023123123101",
    # 当前页码,取值范围1~300000,默认值为1
    "page_index"=> "",
    # 页面容量,取值范围1~20,默认值为10
    "page_size"=> "",
    # 查询大于等于创建时间
    "created_gte"=> "",
    # 查询小于等于创建时间
    "created_lte"=> ""
);

 # 发起支付撤销查询
$payment->queryReverseList($payment_params);

# 对支付结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 查询支付撤销对象列表

创建支付确认对象

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();

# 支付确认参数设置
$payment_params = array(
    "payment_id"=> "123123123131231231",
    "order_no"=> date("YmdHis").rand(100000, 999999),
    "confirm_amt"=> "0.01",
    "description"=> "附件说明",
    "div_members"=> "" //分账参数列表 默认是数组List
);

# 发起支付确认创建
$payment->createConfirm($payment_params);

# 对支付确认创建结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 创建支付确认对象

查询支付确认对象

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();

# 查询支付确认参数设置
$payment_params = array(
    "payment_confirm_id"=> "100000000000012312344"
);

# 发起支付确认查询
$payment->queryConfirm($payment_params);

# 对支付确认查询结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 查询支付确认对象

查询支付确认对象列表

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();

# 支付确认列表参数设置
$payment_params = array(
    "app_id"=> "1231123123123131231",
    "payment_id"=> "10023123123101",
    "page_index"=> "",
    "page_size"=> "",
    "created_gte"=> "",
    "created_lte"=> ""
);

# 发起支付确认列表查询
$payment->queryConfirmList($payment_params);

# 对支付确认列表结果进行处理
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 查询支付确认对象列表

发起退款

当您的业务需要发起退款时,可通过 Adapay 系统提供的创建 Refund对象 方法创建一个退款对象,发起退款请求。

  • 调用示例

#初始化退款对象
$refund = new \AdaPaySdk\refund();
$refund_params = array(
    # 原交易支付对象ID
    "payment_id"=> "002112019091919132010020717028587851776",
    # 退款订单号
    "refund_order_no"=> "20190919073834683566123",
    # 退款金额
    "refund_amt"=> "0.01",
    # 退款描述
    "reason"=> "退款描述",
    # 扩展域
    "expend"=> "",
    # 设备静态信息
    "device_info"=> ""
);

# 发起退款
$refund->orderRefund($refund_params);

# 对退款结果进行处理
# $refund->result 类型为数组
if ($refund->isError()){
    //失败处理
    var_dump($refund->result);
} else {
    //成功处理
    var_dump($refund->result);
}
  • 参数说明

调用参数详见 创建退款

退款订单查询

通过 Refund对象 的 id 查询一个已创建的退款记录。

  • 调用示例

# 初始化退款对象
$refund = new \AdaPaySdk\refund();
# refund_id或charge_id二选一
# 发起退款查询
$refund->orderRefundQuery(["payment_id"=> "002112019091919132010020717028587851776"]);
# 对退款结果进行处理
# $refund->result 类型为数组
if ($refund->isError()){
    //失败处理
    var_dump($refund->result);
} else {
    //成功处理
    var_dump($refund->result);
}
  • 参数说明

调用参数详见 退款查询

关闭订单

针对已经创建的 Payment,您可以调用关单接口进行交易的关闭。

  • 调用示例

# 初始化支付类
$payment = new \AdaPaySdk\Payment();

$payment_params = array(
    # 设置支付对象ID
    "payment_id"=> "002112019091919132010020717028587851776",
    # 设置描述
    "reason"=> "关单描述",
    # 设置扩展域
    "expend"=> "{"key": "1233"}"
);

# 发起关单
$payment->orderClose($payment_params);

# 对关单结果进行处理
# $payment->result 类型为数组
if ($payment->isError()){
    //失败处理
    var_dump($payment->result);
} else {
    //成功处理
    var_dump($payment->result);
}
  • 参数说明

调用参数详见 关单

创建用户对象

创建用户对象用于将商户 member_id 与 Adapay 系统做关联,商户需要保证 member_id 在应用 app_id 下唯一。关联完成后,可以创建结算账户用于用户分账功能,也可以更新用户对象禁用用户状态,禁用用户所有交易功能。

  • 调用示例

$member = new \AdaPaySdk\Member();
$member_params = array(
    # app_id
    "app_id"=> "app_f8b14a77-dc24-433b-864f-98a62209d6c4",
    # 用户id
    "member_id"=> "hf_test_201999999999_1001",
    # 用户地址
    "location"=> "测试地址",
    # 用户邮箱
    "email"=> "123123@126.com",
    # 性别
    "gender"=> "MALE",
    # 用户手机号
    "tel_no"=> "18177722312",
    # 用户昵称
    "nickname"=> "test"
);
# 创建
$member->create($member_params);

# 对创建用户对象结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 创建用户对象

查询用户对象

查询已创建的单个用户对象

  • 调用示例

$member = new \AdaPaySdk\Member();

# 查询用户对象
$member->query(["app_id"=> "app_P000002052092068", "member_id"=> "hf_test_member_id_account2"]);

# 对查询用户对象结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 查询用户对象

更新用户对象

对创建完成用户对象更新用户基本信息,可对用户状态禁用,禁用后用户不能做其它交易。

  • 调用示例

$member = new \AdaPaySdk\Member();

# 更新用户对象设置
$member_params = array(
    # app_id
    "app_id"=> "app_P000002052092068",
    # 用户id
    "member_id"=> "hf_test_member_id_account5",
    # 用户地址
    "location"=> "上海市徐汇区",
    # 用户邮箱
    "email"=> "12389919@qq.com",
    # 性别
    "gender"=> "M",
    # 用户手机号
    "tel_no"=> "app_f8b14a77-dc24-433b-864f-98a62209d6c4",
    # 是否禁用该用户
    "disabled"=> "N",
    # 用户昵称
    "nickname"=> "test",
);
# 更新用户对象
$member->update($member_params);

# 对更新用户对象结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 更新用户对象

查询用户对象列表

对创建完成用户对象更新用户基本信息,可对用户状态禁用,禁用后用户不能做其它交易。

  • 调用示例

$member = new \AdaPaySdk\Member();
$member_params = array(
    "app_id"=> "app_P000002052092068"
);
# 查询用户对象
$member->query_list($member_params);

# 对查询用户对象结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 用户对象列表

创建企业用户对象

通过本接口您可以创建企业用户,企业用户需要人工审核,审核完成后会发送异步消息通知,若审核成功,则商户用户 member_id 与 Adapay 系统关联成功,若审核失败,则可再次调用本接口提交正确的资料信息。

  • 调用示例

$member = new \AdaPaySdk\CropMember();

$file_real_path = realpath('123.zip');
$member_params = array(
    # app_id
    "app_id"=> "app_P000002052092068",
    # 商户用户id
    "member_id"=> "hf_test_member_id3",
    # 订单号
    "order_no"=> date("YmdHis").rand(100000, 999999),
    # 企业名称
    "name"=> "测试企业",
    # 省份
    "prov_code"=> "0031",
    # 地区
    "area_code"=> "3100",
    # 统一社会信用码
    "social_credit_code"=> "social_credit_code",
    "social_credit_code_expires"=> "20301109",
    # 经营范围
    "business_scope"=> "123123",
    # 法人姓名
    "legal_person"=> "frname",
    # 法人身份证号码
    "legal_cert_id"=> "1234567890",
    # 法人身份证有效期
    "legal_cert_id_expires"=> "20301010",
    # 法人手机号
    "legal_mp"=> "13333333333",
    # 企业地址
    "address"=> "1234567890",
    # 邮编
    "zip_code"=> "企业地址测试",
    # 企业电话
    "telphone"=> "1234567890",
    # 企业邮箱
    "email"=> "1234567890@126.com",
    # 上传附件
    "attach_file"=> new CURLFile($file_real_path),
    # 银行代码
    "bank_code"=> "1001",
    # 银行账户类型
    "bank_acct_type"=> "1",
);
# 创建企业用户
$member->create($member_params);

# 对创建企业用户结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 创建企业用户对象

查询企业用户对象

查询已创建的企业用户对象

  • 调用示例

$member = new \AdaPaySdk\CropMember();

# 查询企业用户
$member->query(["app_id"=> "app_P000002052092068", "member_id"=> "a123456"]);

# 对查询企业用户结果进行处理
if ($member->isError()){
    //失败处理
    var_dump($member->result);
} else {
    //成功处理
    var_dump($member->result);
}
  • 参数说明

调用参数详见 查询企业用户对象

创建结算账户对象

商户的 member_id 与 Adapay 系统做关联后,可以创建结算账户,用于用户分账功能,目前只支持绑定银行卡。

  • 调用示例

$account = new \AdaPaySdk\SettleAccount();

$account_params = array(
    "app_id"=> "app_P000002052092068",
    "member_id"=> "hf_test_201999999999",
    "channel"=> "bank_account",
    "account_info"=> [
        "card_id" => "622202170300169222",
        "card_name" => "余益兰",
        "cert_id" => "310109200006068391",
        "cert_type" => "00",
        "tel_no" => "18888888881",
        "bank_code" => "03060000",
        "bank_name" => "建",
        "bank_acct_type" => "1",
        "prov_code" => "0031",
        "area_code" => "3100",
    ]
);

# 创建结算账户
$account->create_settle($account_params);

# 对创建结算账户结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 参数说明

调用参数详见 创建结算账户对象

查询结算账户对象

查询已绑定的结算账户对象。

  • 调用示例

$account = new \AdaPaySdk\SettleAccount();
$account_params = array(
    "app_id"=> "app_P000002052092068",
    "member_id"=> "hf_test_201999999999",
    "settle_account_id"=> "0006124815051328"
);

# 查询结算账户
$account->query_settle($account_params);

# 对查询结算账户结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 参数说明

调用参数详见 查询结算账户对象

查询结算明细列表

使用 Adapay 系统生成的结算账户对象 id 查询已创建的结算账户对象信息。

  • 调用示例

# 初始化用户对象类
$account = new \AdaPaySdk\SettleAccount();

$account_params = array(
    "app_id"=> "app_P000002052092068",
    "member_id"=> "hf_test_member_id_account5",
    "settle_account_id"=> "0006017543466816",
    "begin_date"=> "20190705",
    "end_date"=> "20190806"
);

# 查询结算账户
$account->query_settle_details($account_params);

# 对查询结算账户结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 参数说明

调用参数详见 查询结算明细列表

删除结算账户对象

删除已绑定的结算账户对象。

  • 调用示例

$account = new \AdaPaySdk\SettleAccount();

$account_params = array(
    'app_id'=> 'app_f8b14a77-dc24-433b-864f-98a62209d6c4',
    'member_id'=> 'hf_test_member_id_account5',
    'settle_account_id'=> '0006017543466816'
);

# 结算账户
$account->delete_settle($account_params);

# 对删除结算账户结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 参数说明

调用参数详见 删除结算账户对象

修改结算账户对象

修改已绑定的结算账户对象信息。

  • 调用示例

$account = new \AdaPaySdk\SettleAccount();

$account_params = array(
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    'member_id'=> 'hf_test_201999999999',
    'settle_account_id'=> '0006124815051328',
    'min_amt'=> '',
    'remained_amt'=> '',
    'channel_remark'=> '123'
);

# 修改结算账户
$account->modify_settle($account_params);

# 对修改结算账户结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 参数说明

调用参数详见 修改结算配置

下载对账单

您可通过本接口下载您交易日期的对账单。比如掉单、系统错误等导致商户侧和 Adapay 侧数据不一致,通过对账单核对后可校正支付状态。

  • 调用示例

# 初始化对账单下载对象类
$bill = new \AdaPaySdk\Bill();

# 对账单日期

# 对账单下载
$bill->download(["bill_date"=> "20190905"]);

# 对账单下载结果进行处理
if ($bill->isError()){
    //失败处理
    var_dump($bill->result);
} else {
    //成功处理
    var_dump($bill->result);
}
  • 请求参数

参数

类型

描述

bill_date

String(8)

对账单的日期,格式:20180808

  • 返回参数

参数

类型

描述

bill_download_url

String(8)

对账单文件下载 url

获取银联云闪付用户标识

通过本接口获取银联云闪付用户标识

  • 调用示例

$union_user = new \AdaPaySdk\Tools();

# 获取银联云闪付用户标识
$union_params = array(
    # app_id
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    # 用户授权码
    'user_auth_code'=> '5yRGbi+IRda5khIQoQf1Hw==',
    # App 标识
    'app_up_identifier'=> 'CloudPay',
    # 订单号
    'order_no'=> "_". date("YmdHis").rand(100000, 999999)
);
# 获取银联云闪付用户标识
$union_user->unionUserId($union_params);

# 获取银联云闪付用户标识结果进行处理
if ($union_user->isError()){
    //失败处理
    var_dump($union_user->result);
} else {
    //成功处理
    var_dump($union_user->result);
}
  • 请求参数

调用参数详见 获取银联云闪付用户标识

查询账户余额

通过本接口查询账户余额

  • 调用示例

# 初始化账户余额对象类
$account = new \AdaPaySdk\SettleAccount();
$account_params = array(
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    'member_id'=> 'user_00008',
    'settle_account_id'=> '0035172521665088'
);

# 查询账户余额
$account->query_balance($account_params);
# 对查询账户余额结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 请求参数

调用参数详见 查询账户余额

取现

通过该接口,实现对指定商户或者商户下用户的结算账户可用余额发起主动提现操作,金额从账户中提到绑定的结算银行卡中。取现结果以异步通知为准。

  • 调用示例

$account = new \AdaPaySdk\SettleAccount();
$cash_params = array(
    'order_no'=> "CS_". date("YmdHis").rand(100000, 999999),
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    'cash_type'=> 'T1',
    'cash_amt'=> '0.02',
    'member_id'=> 'user_00008',
    'notify_url'=> ''
);

# 账户取现
$account->draw_cash($cash_params);

# 对账户取现结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 请求参数

调用参数详见 钱包取现

取现查询

通过该接口,可以查询已发起的取现交易状态。

  • 调用示例

# 初始化账户取现对象类
$account = new \AdaPaySdk\SettleAccount();

$cash_params = array(
    'order_no'=> "CS_20200720081844501083"
);

# 账户取现
$account->query_cash_stat($cash_params);

# 对账户取现结果进行处理
if ($account->isError()){
    //失败处理
    var_dump($account->result);
} else {
    //成功处理
    var_dump($account->result);
}
  • 请求参数

调用参数详见 取现查询

钱包登录

通过该接口,实现对商户登录钱包功能,登录成功返回跳转地址

  • 调用示例

$wallet = new \AdaPaySdk\Wallet();
$wallet_params = array(
    # 应用ID
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    # 用户ID
    'member_id'=> 'hf_prod_member_20191013',
    # IP
    'ip'=> '192.168.1.152'
);
# 创建
$wallet->walletLogin($wallet_params);
echoExecuteResult($wallet, "钱包登录");
  • 请求参数

调用参数详见 钱包登录

钱包支付

通过该接口,实现对商户钱包支付功能,下单成功返回支付跳转地址

  • 调用示例

$wallet_params = array(
    # 商户的应用 id
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    # 用户ID
    'order_no'=> "WL_". date("YmdHis").rand(100000, 999999),
    # 订单总金额(必须大于0)
    'pay_amt'=> '0.10',
    # 3 位 ISO 货币代码,小写字母
    'currency'=> 'cny',
    # 商品标题
    'goods_title'=> '12314',
    # 商品描述信息
    'goods_desc'=> '123122123',
);
$wallet->accountPayment($wallet_params);
  • 请求参数

调用参数详见 钱包支付

创建收银台对象

通过该接口,实现对商户钱包收银台支付功能,下单成功返回支付跳转地址

  • 调用示例

$wallet_params = array(
    # 应用ID
    'app_id'=> 'app_7d87c043-aae3-4357-9b2c-269349a980d6',
    # 用户ID
    'member_id'=> 'user_00013',
    'order_no'=>  "CK_". date("YmdHis").rand(100000, 999999),
    'pay_amt'=> '0.01',
    'goods_title'=> '收银台测试',
    'goods_desc'=> '收银台测试',
    'div_members'=> [],
    'currency'=> '',
    'time_expire'=> '',
    'description'=> '',
    'notify_url'=> '',
    'callback_url'=> ''
);
$wallet->createCheckout($wallet_params);
  • 请求参数

调用参数详见 钱包收银台支付

验签方法

通过此方法,商户可对 HTTP 回调参数进行签名验证。

返回示例详见 http response

  • 调用示例

// data 返回内容,sign返回签名
$this->ada_tools = new AdaTools();
$this->ada_tools->verifySign($signature, $data);

异步消息通知

  1. 以脚本方式启动,具体参考 Demo 目录下的 subscribe.php

  • 调用示例

include_once  dirname(__FILE__). "/../AdaPaySdk/init.php"; //加载 Adapay 目录下的 init.php
include_once  dirname(__FILE__). "/config.php"; //加载配置文件 包含 API_KEY (接入时系统分配的)和 RSA 私钥
  1. 处理消息的回调函数

# 消息回调函数
$callback = function ($message){
    //商户需要对消息结果处理
    //$message 格式:{"appId": "商户 appId" ,"created": "创建时间年月日时分秒", "data": "{\"amount"\:\"0.01\"}", //"type":"payment.succeeded"}
};
# 实例化消息订阅类
$worker = new \AdaPay\AdaSubscribe();
$apiKey = "api_live_3128984e-7c0f-4799-8c45-90e673870cb5";
$client_id = "";// 机器唯一标识
# 启动消息监听服务进程
$worker->workerStart($worker, function ($content, $topic) use ($callback){
  call_user_func($callback, $content, $topic); //设置接收消息回调处理
}, $apiKey, $client_id);
  1. 然后在服务器上执行 PHP 可执行文件所在的目录 + (linux: php subscribe.php start) (windows: php subscribe.php)启动消息监听

  • 返回数据示例

不同事件异步消息返回数据,详见 异步消息数据示例