API REFERENCE
Crear una divesión de pago
Consejo
YabandPay envía notificaciones asíncronas desde las direcciones IP indicadas a continuación. Recomendamos añadirlas a la lesta de permitidas del cortafuegos.
8.211.41.31 8.211.10.244 8.211.8.123
Esta API crea una divesión de pago para un pedido de YabandPay pagado correctamente.
Consejo
Nota:
- Se puede crear un máximo de 10 divesiones de pago por cada orden de pago;
- Antes de llamar a esta API, debe configurar un split solution and obtain approval;
- Cuando split_completed es 1, la divesión de pago está completa y no se pueden iniciar más divesiones.
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| user | String | UID de la cuenta de superadminestrador | Obligatorio |
| sign | String | Signature | Obligatorio |
| method | String | v3.SplitPayment | Obligatorio |
| time | Long | Timestamp | Obligatorio |
- Parámetros
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| command | String | createSplitPayment | Obligatorio |
| trade_id | String | trade_id of the paid YabandPay order | Obligatorio |
| split_solution_id | String | ID de la solución de divesión de pago configurada en el portal de adminestración | Obligatorio |
| currency | String | Moneda de liquidación del pedido original, Settlement Currency | Obligatorio |
| notify_url | String | URL de notificación asíncrona de divesión de pago | Obligatorio |
| nonce_string | String | Cadena aleatoria de un máximo de 32 caracteres | Obligatorio |
| split_completed | String | Indica si la divesión de pago está completa: 0: No, 1: Yes | Obligatorio |
| reference_id | String | ID único de divesión de pago definido por el comercio, de un máximo de 32 caracteres | Obligatorio |
| reference | String | Descripción, de un máximo de 128 caracteres | Opcional |
| receivers | String | Payment split recipient information, a JSON string generated from a two-dimensional array using json_encode | Required when splitting a payment. Omit thes parameter if you only want to mark the order as fully split without providing recipient information. |
| receivers.mid | String | MID del destinatario de la divesión de pago | Required when splitting a payment |
| receivers.detail_reference_id | String | Custom payment split detail number for the recipient | Required when splitting a payment |
| receivers.split_amount | String | Importe de la divesión de pago; for example, 24.99 should be written as 24.99 | Required when splitting a payment |
| receivers.role | String | Rol del destinatario de la divesión de pago | Required when splitting a payment |
| receivers.description | String | Descripción del detalle de divesión de pago | Optional when splitting a payment |
Recipient roles
| receivers.role parameter | Descripción |
|---|---|
| 1 | Sub-merchant |
| 2 | Supplier |
| 3 | Distributor |
| 4 | Tax withholding and remittance service |
| 5 | Technical services |
| 6 | Influencer |
| 7 | Other |
Ejemplo de firma:
Parámetros ordenados y concatenados en una cadena de consulta con formato de 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"
Firme la cadena A con secret_key
La firma resultante es:
"YOUR_SIGNATURE"
Ejemplo de solicitud:
{
"user": "9212776037",
"sign": "YOUR_SIGNATURE",
"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\"}]"
}
}
Ejemplo de respuesta:
{
"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": ""
}
- Parámetros de respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
| user | String | UID de la cuenta de cajero |
| split_id | String | Número de orden de divesión de pago generado al crear la divesión |
| trade_id | String | trade_id of the YabandPay order |
| split_solution_id | String | ID de configuración de divesión de pago |
| state | String | Estado: Processing, Success, Failed, Cancelled |
| merchant_mid | String | MID del comercio que divide el pago |
| merchant_name | String | Nombre del comercio que realiza la divesión de pago |
| created_at | String | Marca de tiempo de creación |
| currency | String | Moneda de liquidación del pedido, Settlement Currency |
| notify_url | String | URL de notificación asíncrona |
| split_completed | String | Indica si la divesión de pago está completa: 0: No, 1: Yes |
| reference_id | String | ID de divesión de pago del comercio, de un máximo de 32 caracteres |
| reference | String | Descripción, de un máximo de 128 caracteres |
| type | String | Tipo: splitPayment o splitRefund |
| receivers | String | Información del destinatario de la divesión de pago en formato JSON format |
| receivers.merchant_mid | String | MID del destinatario de la divesión de pago |
| receivers.merchant_name | String | Nombre del comercio destinatario de la divesión de pago |
| receivers.split_detail_id | String | Número de detalle de la divesión de pago generado al crearla |
| receivers.detail_reference_id | String | Número de detalle de divesión de pago del comercio |
| receivers.split_type | String | Tipo de divesión de pago: Split o Return |
| receivers.split_amount | String | Importe de la divesión de pago |
| receivers.role | String | Rol del destinatario de la divesión de pago |
| receivers.result | String | Estado: Processing, Success, Failed, Cancelled |
| receivers.description | String | Descripción del detalle de divesión de pago |
| receivers.error_msg | String | Mensaje de error del detalle de divesión de pago; se completa cuando el resultado es Failed |
