Payout API
Overview
The payout API creates a payout order to make payments. Merchants can send payments to users, supporting bank and e-wallet accounts.
API Info
- Endpoint:
POST /api/ar/payout - Method: POST
- Content-Type: application/json
Request Headers
All API requests require the following headers, see API Signature:
| Header | Type | Required | Description |
|---|---|---|---|
| Content-Type | string | Y | application/json, fixed |
| MerchantId | string | Y | Merchant ID provided by Veloraya |
| Timestamp | string | Y | Current timestamp (ms), anti-replay |
| Nonce | string | Y | Random string, unique per request, anti-replay |
| Signature | string | Y | Request signature (RSA), Base64 encoded |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| merchantOrderId | string | Y | Merchant order ID, unique |
| amount | BigDecimal | Y | Order amount |
| currency | string | Y | Currency code, fixed ARS |
| accountType | string | Y | Account type, see enum |
| payeeAccountNo | string | Y | Beneficiary account number |
| payeeName | string | N | Beneficiary name, 1-128 chars |
| payeeLastName | string | N | Beneficiary last name, 1-128 chars |
| payeeFullName | string | N | Beneficiary full name (either this or name/lastName required) |
| payeeIdType | string | Y | Beneficiary ID type, see enum |
| payeeIdCard | string | Y | Beneficiary ID number |
| payeeMobile | string | Y | Beneficiary mobile |
| payeeEmail | string | Y | Beneficiary email (must be valid format) |
Account type enum
| Value | Description |
|---|---|
| CVU | CVU account |
| CBU | CBU account |
ID type enum
| Value | Description |
|---|---|
| CUIT | Argentine Tax ID (preferred) |
Request Example
json
{
"merchantOrderId": "Order33666279",
"amount": 5100,
"currency": "ARS",
"accountType": "CVU",
"payeeName": "Beneficiary Name",
"payeeAccountNo": "8692634925111",
"payeeIdType": "DNI",
"payeeIdCard": "2071871354",
"payeeMobile": "13851585444",
"payeeEmail": "test@gmail.com"
}Response Format
| Field | Type | Description |
|---|---|---|
| code | int | 200 success, 500 failure |
| msg | string | Response message |
| data | object | Response data, order info on success |
Response Parameters (data)
| Field | Type | Description |
|---|---|---|
| merchantId | string | Merchant ID |
| orderId | string | Platform order ID |
| merchantOrderId | string | Merchant order ID |
| orderStatus | string | PENDING-Processing, FAILED-Failed |
| amount | BigDecimal | Order amount |
| currency | string | Currency code, default ARS |
| fee | BigDecimal | Transaction fee |
| errorCode | string | Error code (on failure) |
| errorMsg | string | Error description (on failure) |
| createDatetime | string | Order create time |
| completionDatetime | string | Completion time (null if not complete) |
Order status enum
| Value | Description |
|---|---|
| PENDING | Pending |
| FAILED | Failed |
Response Example
Success
json
{
"code": 200,
"msg": "SUCCESS",
"data": {
"merchantId": "602255",
"orderId": "PAYOUT2059898253450452992",
"merchantOrderId": "Order33666279",
"orderStatus": "PENDING",
"amount": 5100,
"currency": "ARS",
"fee": 51.00,
"errorCode": null,
"errorMsg": null,
"createDatetime": "2026-05-28 14:23:09",
"completionDatetime": null
}
}Error Codes
See Error Codes for the full list.
Notes
- Headers: all required headers must be passed, see API Signature
- Signature: all requests must include a valid signature (verified by gateway filter)
- Async notification: order status changes are notified via Payout Callback (merchant must configure notify URL)
- Idempotency: duplicate requests with the same merchant order ID fail; the system does not create duplicate orders
- Order status: distinguish HTTP response code (200 = request accepted) from final payout result (
data.orderStatus)
