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_completedis 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:
"26768f0c8d961964171e5118cb95b433941e36462e3b425a2eb90aff725d2b32"
Example Request:
{
"user": "9212776037",
"sign": "26768f0c8d961964171e5118cb95b433941e36462e3b425a2eb90aff725d2b32",
"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 |