创建分账
[!TIP|style:flat]
YabandPay将从下面IP地址返回异步通知,建议加入防火墙白名单。
8.211.41.31 8.211.10.244 8.211.8.123
此接口对YabandPay已成功支付的订单创建分账
[!TIP|style:flat] 注意: 1.每个支付订单创建最多10次分账;
2.调用接口前需要先配置分账方案,并获得批准;
3.如果 split_completed 为 1 后表示完成分账,后续不能再次发起任何分账。
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
user | String | 超级管理员账号的UID | 必填 |
sign | String | 签名 | 必填 |
method | String | v3.SplitPayment | 必填 |
time | Long | 时间戳 | 必填 |
- 参数
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
command | String | createSplitPayment | 必填 |
trade_id | String | 已支付订单YabandPay订单的trade_id | 必填 |
split_solution_id | String | 后台配置的分账方案id | 必填 |
currency | String | 原始订单的结算货币,Settlement Currency | 必填 |
notify_url | String | 分账异步通知地址 | 必填 |
nonce_string | String | 随机字符串,不长于32位 | 必填 |
split_completed | String | 是否完成分账,0 : 否,1 : 是 | 必填 |
reference_id | String | 商户方自定义的分账id,不长于32位,不能重复 | 必填 |
reference | String | 描述信息,不长于128位 | 选填 |
receivers | String | 分账接收方信息,由二维数组通过json_encode转换的json字符串,json格式 | 需要分账时必填,只想把订单状态设置为已完成分账并且不需要分账接收方信息时请不要传该参数 |
receivers.mid | String | 分账接收方的mid | 需要分账时必填 |
receivers.detail_reference_id | String | 自定义的分账接收方的分账明细单号 | 需要分账时必填 |
receivers.split_amount | String | 分账金额,例如24.99 应该写成24.99 | 需要分账时必填 |
receivers.role | String | 分账接收方角色 | 需要分账时必填 |
receivers.description | String | 分账明细描述 | 需要分账时选填 |
接收方角色
receivers.role 参数 | 描述 |
---|---|
1 | 子商户 |
2 | 供应商 |
3 | 经销商 |
4 | 代扣代缴税款服务 |
5 | 技术服务 |
6 | 网红 |
7 | 其他 |
签名示例:
拼接为URL方式并排序后的字符串
"command=createSplitPayment¤cy=EUR&method=v3.SplitPayment&nonce_string=1704693939376¬ify_url=https://www.yabandpay.com/notify&receivers=[{"mid":104006,"split_amount":0.01,"role":7,"detail_reference_id":"123456-2","description":"分账描述2"}]&reference=1704693939376&reference_id=1704693939376&split_completed=0&split_solution_id=102&time=1704693939&trade_id=23a199b8-b82b-81b0-a4cd-8485ca4feb3c&user=9212776037"
得到的 stringA 使用 secret_key做签名
得到的签名如下:
"a862d00e96a6d742e7a78c9d4f182e89ded3e02ad567aab5cf241f60c88c30a6"
提交示例:
{
"user": "9212776037",
"sign": "a862d00e96a6d742e7a78c9d4f182e89ded3e02ad567aab5cf241f60c88c30a6",
"method": "v3.SplitPayment",
"time": 1704693939,
"data": {
"command": "createSplitPayment",
"trade_id": "23a199b8-b82b-81b0-a4cd-8485ca4feb3c",
"split_solution_id": "102",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"nonce_string": "1704693939376",
"split_completed": 0,
"reference_id": "1704693939376",
"reference": "1704693939376",
"receivers": "[{\"mid\":104006,\"split_amount\":0.01,\"role\":7,\"detail_reference_id\":\"123456-2\",\"description\":\"分账描述2\"}]"
}
}
返回示例:
{
"status": true,
"code": "200",
"data": {
"user": "9212776037",
"split_id": "20240108162134979318",
"trade_id": "23a199b8-b82b-81b0-a4cd-8485ca4feb3c",
"split_solution_id": "102",
"state": "Processing",
"merchant_mid": "102300",
"merchant_name": "Yaband Telecom B.V.",
"created_at": "1704702094",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"split_completed": 0,
"reference_id": "1704693939376",
"reference": "1704693939376",
"receivers": [
{
"merchant_mid": "104006",
"merchant_name": "ybtest",
"split_detail_id": "20240108162134979318-1",
"detail_reference_id": "123456-2",
"split_type": "Split",
"split_amount": "0.01",
"role": "7",
"result": "Processing",
"description": "分账描述2",
"error_msg": null
}
],
"type": "splitPayment"
},
"message": ""
}
- 返回参数
参数 | 类型 | 描述 |
---|---|---|
user | String | 收银员账号的UID |
split_id | String | 创建分账后的分账单号 |
trade_id | String | YabandPay订单的trade_id |
split_solution_id | String | 分账方案id |
state | String | 状态有Processing,Success,Failed,Cancelled |
merchant_mid | String | 分账商户的mid |
merchant_name | String | 分账商户的商户名 |
created_at | String | 创建时间戳 |
currency | String | 订单结算货币,Settlement Currency |
notify_url | String | 异步通知地址 |
split_completed | String | 是否完成分账, 0 :否,1 :是 |
reference_id | String | 商户方的分账id,不长于32位 |
reference | String | 描述信息,不长于128位 |
type | String | 类型,有splitPayment和splitRefund |
receivers | String | 分账接收方信息,json格式 |
receivers.merchant_mid | String | 分账接收方的mid |
receivers.merchant_name | String | 分账接收方的商户名 |
receivers.split_detail_id | String | 创建分账后的分账明细单号 |
receivers.detail_reference_id | String | 商户方的分账明细单号 |
receivers.split_type | String | 分账类型Split或Return |
receivers.split_amount | String | 分账金额 |
receivers.role | String | 分账接收方角色 |
receivers.result | String | 状态有Processing、Success、Failed、Cancelled |
receivers.description | String | 分账明细描述 |
receivers.error_msg | String | 分账明细错误信息,result 状态为 Failed 时有值 |