2.1 Create PayOut
POST /api/v1/payouts
- p2p
Request
- Headers
- Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| X-API-Key | string | Yes | API key. |
| X-Timestamp | string | Yes | Request time in ISO-8601 UTC format. |
| X-Signature | string | Yes | HMAC-SHA256(timestamp + body, secret). |
| Content-Type | string | Yes | application/json. |
| Parameter | Type | Required | Description |
|---|---|---|---|
| external_id | string | Yes | Unique PayOut identifier on the merchant side (idempotency). |
| amount | string | Yes | Positive VND amount as a decimal string. |
| currency | string (3) | Yes | Must be VND. |
| card_number | string | Yes | Recipient bank-account number. |
| paymentData | object | Yes | EPT VND recipient data. |
| paymentData.bank_code | string | Yes | Recipient bank code from Bank Codes. |
| paymentData.holder | string | Yes | Recipient account-holder name. |
| shop_code | string | No | Shop code. If omitted, the default shop is used. |
| merchant_user_id | string | Yes | Required by the current EPT VND template. |
| merchant_user_ip | string | No | Optional in the current EPT VND template. |
| callback_url | string | No | URL for status-change notifications. |
Example request
{
"external_id": "POUT-VND-EPT-001",
"amount": "250000",
"currency": "VND",
"card_number": "0123456789",
"paymentData": {
"bank_code": "VCB",
"holder": "Nguyen Van An"
},
"shop_code": "your_ept_vnd_shop",
"merchant_user_id": "merchant-user-001",
"callback_url": "https://merchant.example.com/webhooks/payout"
}
Response
Response fields
Fields with null values are omitted from the response.
| Parameter | Type | Description |
|---|---|---|
| id | number | Payfield operation ID. |
| status | string | Current PayOut status. |
| external_id | string | Unique PayOut identifier from the request. |
| amount | string | PayOut amount. |
| currency | string | VND. |
| shop_code | string | Shop code used for routing. |
| card_number | string | Recipient bank-account number from the request. |
| merchant_user_id | string | Merchant user identifier from the request. |
| merchant_user_ip | string | User IP from the request, when supplied. |
| callback_url | string | Callback URL from the request, when provided. |
| transaction_type | string | Always payout. |
| created_at | string | Creation timestamp. |
| updated_at | string | Last update timestamp. |
| finalization_date | string | Returned when the PayOut reaches a final status. |
Example response
{
"id": 12346,
"status": "pending",
"external_id": "POUT-VND-EPT-001",
"amount": "250000",
"currency": "VND",
"shop_code": "your_ept_vnd_shop",
"card_number": "0123456789",
"merchant_user_id": "merchant-user-001",
"transaction_type": "payout",
"created_at": "2026-09-21T10:00:00+00:00",
"updated_at": "2026-09-21T10:00:00+00:00"
}