Create Split Payment
[!TIP|style:flat] YabandPay will send asynchronous notifications from the following IP addresses.
We recommend adding them to your firewall whitelist:8.211.41.31
8.211.10.244
8.211.8.123
This API is used to create a split payment for an order that has been successfully paid through YabandPay.
[!TIP|style:flat] Notes:
- A maximum of 10 split payments can be created per order.
- You must configure a split solution in the dashboard and get it approved before using this API.
- If
split_completed
is set to1
, the split is considered completed. No further splits can be initiated for that order.
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
Parameter | Type | Description | Required |
---|---|---|---|
user | String | UID of the super admin account | Required |
sign | String | Signature | Required |
method | String | v3.SplitPayment |
Required |
time | Long | Timestamp | Required |
- Parameters
Parameter | Type | Description | Required |
---|---|---|---|
command | String | createSplitPayment |
Required |
trade_id | String | trade_id of the paid YabandPay order |
Required |
split_solution_id | String | ID of the configured split solution | Required |
currency | String | Settlement currency of the original order | Required |
notify_url | String | URL for asynchronous split notifications | Required |
nonce_string | String | Random string, max 32 characters | Required |
split_completed | String | Whether the split is complete: 0 = No, 1 = Yes |
Required |
reference_id | String | Merchant-defined split ID, max 32 characters, must be unique | Required |
reference | String | Description, max 128 characters | Optional |
receivers | String | JSON string of receivers encoded from a 2D array | Required if splitting; omit this if only setting the order as completed |
receivers.mid | String | MID of the split receiver | Required if splitting |
receivers.detail_reference_id | String | Merchant-defined detail ID for the receiver | Required if splitting |
receivers.split_amount | String | Split amount, e.g. 24.99 | Required if splitting |
receivers.role | String | Role of the split receiver | Required if splitting |
receivers.description | String | Description of the split detail | Optional |
Receiver Roles
receivers.role Value |
Description |
---|---|
1 | Sub-merchant |
2 | Supplier |
3 | Distributor |
4 | Tax withholding service |
5 | Technical service |
6 | Influencer |
7 | Other |
Signature:
Lexicographical sequence and URL key-value format new string
"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"
Use stringA and secret_key to get stringSign
Get Signature:
"a862d00e96a6d742e7a78c9d4f182e89ded3e02ad567aab5cf241f60c88c30a6"
Example Request:
{
"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\"}]"
}
}
Example Response:
{
"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": ""
}
- Response Parameters
Parameter | Type | Description |
---|---|---|
user | String | UID of the cashier account |
split_id | String | ID of the created split payment |
trade_id | String | trade_id of the YabandPay order |
split_solution_id | String | ID of the split solution |
state | String | Status: Processing , Success , Failed , or Cancelled |
merchant_mid | String | MID of the splitting merchant |
merchant_name | String | Name of the splitting merchant |
created_at | String | Creation timestamp |
currency | String | Settlement currency |
notify_url | String | Asynchronous notification URL |
split_completed | String | Whether the split is completed: 0 = No, 1 = Yes |
reference_id | String | Merchant-defined split ID (max 32 characters) |
reference | String | Description (max 128 characters) |
type | String | Type: splitPayment or splitRefund |
receivers | String | Receiver information in JSON format |
receivers.merchant_mid | String | MID of the split receiver |
receivers.merchant_name | String | Name of the split receiver |
receivers.split_detail_id | String | ID of the split detail created |
receivers.detail_reference_id | String | Merchant-defined split detail ID |
receivers.split_type | String | Split type: Split or Return |
receivers.split_amount | String | Split amount |
receivers.role | String | Role of the split receiver |
receivers.result | String | Status: Processing , Success , Failed , or Cancelled |
receivers.description | String | Description of the split detail |
receivers.error_msg | String | Error message, only present if result is Failed |