method | 说明 | 参数 | 返回值 |
---|---|---|---|
relationBind | 分账关系绑定与解绑 | array $order | Collection |
relationQuery | 查询分账关系 | array $order | Collection |
settle | 统一收单交易结算接口 | array $order | Collection |
settleQuery | 交易分账查询接口 | array $order | Collection |
onsettleQuery | 分账比例查询 && 分账剩余金额查询 | array $order | Collection |
统一收单交易结算接口
$pay = new \fengkui\Pay\Alipay($alipayConfig);
$settle = [
'order_sn' => '', //结算请求流水号,由商家自定义
'trade_no' => '', //支付宝号
'list' => [ // 分账明细信息
[
'trans_in'=>'', // 收入方账户。
// 如果收入方账户类型为userId,本参数为收入方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字;
// 如果收入方类型为cardAliasNo,本参数为收入方在支付宝绑定的卡编号;
// 如果收入方类型为loginName,本参数为收入方的支付宝登录号;
'amount' => 1, // 分账的金额,单位为元
'desc' => '测试分账', // 分账描述(选填)
'trans_in_type' => 'userId', // 收入方账户类型。
// 支付宝账号对应的支付宝唯一用户号: userId
// 支付宝登录号: loginName
// 卡编号: cardAliasNo
],
]
];
$result = $pay->settle($settle);
配置参数
所有配置中,公共请求参数与客观请求参数,扩展包已自动处理,
除客观必传参数外,如需传入其他客观参数,传直接传入$settle
中,或根据自己需求修改扩展
所有配置参数和官方无异,参数请查看「业务请求参数」与 「业务响应参数」一栏。
返回示例
{
"alipay_trade_order_settle_response": {
"code": "10000",
"msg": "Success",
"trade_no": "2015070921001004130000127422",
"settle_no": "20210718002530070036530006474222"
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
交易分账查询接口
$pay = new \fengkui\Pay\Alipay($alipayConfig);
$settle = [
'settle_no' => '' //支付宝分账请求单号,传入该字段,无需再传外部请求号和支付宝交易号
'order_sn' => '', //调用分账接口时指定的外部请求号。分账查询时需要和支付宝交易号一起传入
'trade_no' => '', //支付宝交易号,传入该字段,需要和外部请求号一起传入
];
$result = $pay->settleQuery($settle);
配置参数
除客观必传参数外,如需传入其他客观参数,传直接传入$settle
中,或根据自己需求修改扩展
所有配置参数和官方无异,参数请查看「业务请求参数」与 「业务响应参数」一栏。
返回示例
{
"alipay_trade_order_settle_query_response": {
"code": "10000",
"msg": "Success",
"out_request_no": "20210727001",
"operation_dt": "2021-07-30 12:00:00",
"royalty_detail_list": [
{
"operation_type": "transfer",
"execute_dt": "2021-07-30 12:00:00",
"trans_out": "2088111111111111",
"trans_out_type": "userId",
"trans_in": "2088111111112222",
"trans_in_type": "userId",
"amount": 10,
"state": "FAIL",
"detail_id": "2023030610032004370215900000",
"error_code": "TXN_RESULT_ACCOUNT_BALANCE_NOT_ENOUGH",
"error_desc": "分账余额不足"
}
]
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
分账比例(剩余金额)查询
$pay = new \fengkui\Pay\Alipay($alipayConfig);
// 分账比例查询
$orderSn = '', //外部请求号,由商家自定义。32个字符以内,仅可包含字母、数字、下划线。需保证在商户端不重复。
$result = $pay->onsettleQuery($orderSn, true); // 分账比例查询
// 分账剩余金额查询(默认查询)
$tradeNo = '', //支付宝交易号
$result = $pay->onsettleQuery($orderSn, false); // 分账剩余金额查询
配置参数
除客观必传参数外,如需传入其他客观参数,传直接传入$settle
中,或根据自己需求修改扩展
所有配置参数和官方无异,
分账比例查询参数请查看「业务响应参数」 分账剩余金额查询参数请查看「业务响应参数」
返回示例
{
"alipay_trade_royalty_rate_query_response": {
"code": "10000",
"msg": "Success",
"user_id": "2088XXXX1234",
"max_ratio": 80
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
{
"alipay_trade_order_onsettle_query_response": {
"code": "10000",
"msg": "Success",
"unsettled_amount": 10
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
分账关系绑定与解绑
$pay = new \fengkui\Pay\Alipay($alipayConfig);
$data = [
'order_sn' => '', //外部请求号,由商家自定义
'list' => [ // 分账接收方列表,单次传入最多20个
[
'name' => '', // 分账接收方真实姓名
'account' => '', // 分账的金额,单位为元
'type' => 'userId', //分账接收方方类型。
// 支付宝账号对应的支付宝唯一用户号: userId
// 支付宝登录号: loginName
// 支付宝openId: openId
],
]
];
$result = $pay->relationBind($data); // 绑定
$result = $pay->relationBind($data, false); // 解绑
配置参数
所有配置参数和官方无异,参数请查看「业务请求参数」与 「业务响应参数」一栏。
返回示例
{
"alipay_trade_royalty_relation_bind_response": {
"code": "10000",
"msg": "Success",
"result_code": "SUCCESS"
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
查询分账关系
$pay = new \fengkui\Pay\Alipay($alipayConfig);
$orderSn = ''; // 外部请求号,由商家自定义
$result = $pay->relationQuery($orderSn);
配置参数
所有配置参数和官方无异,参数请查看「业务请求参数」与 「业务响应参数」一栏。
返回示例
{
"alipay_trade_royalty_relation_batchquery_response": {
"code": "10000",
"msg": "Success",
"result_code": "SUCCESS",
"receiver_list": [
{
"type": "userId",
"account": "2088xxxxx00",
"memo": "分账给测试商户",
"login_name": "test@alitest.xyz",
"bind_login_name": "test@alitest.xyz"
}
],
"total_page_num": 10,
"total_record_num": 480,
"current_page_num": 1,
"current_page_size": 20
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}