Skip to content

Payout API ​

Create Payout Order ​

Creates a new payout order.

  • Method: POST
  • Path: /api/v1/mch/wdl-orders
  • The POST body must be JSON

Notes

  • amount must be > 0
  • trans_id must be unique
  • channel must point to an enabled payout channel
  • For VND, account_no must be alphanumeric and cannot contain letters only
  • The query endpoint returns the merchant-facing order result

Request Parameters ​

ParameterTypeVietnamThailandPhilippinesIndiaDescription
mch_idinteger✅✅✅✅Merchant ID
trans_idstring✅✅✅✅Merchant order ID, must be unique
channelstring✅✅✅✅Channel code. See System Channel Codes
amountstring✅✅✅✅Must be > 0. Send it as a string, for example "100.00"
currencystring✅✅✅✅Currency code. Uppercase is recommended
account_nostring✅✅✅✅Beneficiary account number, max length 34
account_namestring✅✅✅✅Beneficiary name
account_orgstring✅✅⭕️✅Beneficiary institution name
account_org_codestring✅✅⭕️✅Institution code; See the reference at left menu
account_sub_orgstring⭕️⭕️⭕️⭕️Branch or extra institution info
account_emailstring⭕️⭕️⭕️⭕️Must be a valid email if provided
account_phonestring⭕️⭕️⭕️⭕️Phone number or contact number
remarksstring⭕️⭕️⭕️⭕️Merchant note
callback_urlstring✅✅✅✅Result callback URL, must be a valid URL
noncestring✅✅✅✅Random token, length: 6-24
timestampinteger✅✅✅✅Unix timestamp
signstring✅✅✅✅See Signature Algorithm

Note

For Vietnam, account_no must be alphanumeric and cannot contain letters only.

Response Fields ​

On success, the response usually returns:

FieldTypeDescription
idstringPlatform order ID
trans_idstringMerchant order ID
mch_idintegerMerchant ID
channelstringChannel code
currencystringCurrency
order_amountstringOrder amount
account_nostringBeneficiary account
account_namestringBeneficiary name
account_orgstringBeneficiary institution
callback_urlstringCallback URL
statusnumber20 when order request accepted
created_atstringCreation time

Example ​

json
{
  "code": 200,
  "payload": {
    "id": "P202605040001",
    "trans_id": "WDL-10001",
    "mch_id": 10001,
    "channel": "bank",
    "currency": "VND",
    "order_amount": "100.00",
    "account_no": "2333667799212341",
    "account_name": "NGUYEN XUAN HUNG",
    "account_org": "PVCOMOBANK",
    "callback_url": "https://merchant.example.com/callback/payout",
    "status": 20,
    "created_at": "2026-05-04 10:10:00"
  }
}

Query Payout Order ​

  • Method: GET
  • Path: /api/v1/mch/wdl-orders

Request Parameters ​

ParameterTypeRequiredDescription
idstringNoPlatform order ID. Use either id or trans_id
trans_idstringNoMerchant order ID. Use either id or trans_id
mch_idintegerYesMerchant ID
noncestringYesRandom token, length: 6-24
timestampintegerYesUNIX timestamp
signstringYesSee Signature Algorithm

Response Fields ​

FieldTypeDescription
idstringPlatform order ID
trans_idstringMerchant order ID
order_amountstringOrder amount
pay_amountstring | nullActual payout amount
rationumberMerchant fee ratio
currencystringCurrency
account_nostringBeneficiary account
account_namestringBeneficiary name
account_orgstringBeneficiary institution
account_sub_orgstring | nullBranch information
statusnumberOrder status
created_atstringCreation time
payed_atstring | nullCompletion time
callback_atstring | nullCallback completion time
canceled_atstring | nullCancellation time
attachmentsstring[]Attachment URLs

status Mapping

The query endpoint returns:

ValueMeaning
20Accepted
21Paying
50Canceled
60Success

Note

Use callbacks as the authoritative result channel.

Example ​

json
{
  "code": 200,
  "payload": {
    "id": "P202605040001",
    "trans_id": "WDL-10001",
    "order_amount": "100.00",
    "pay_amount": "100.00",
    "ratio": 1.5,
    "currency": "VND",
    "account_no": "2333667799212341",
    "account_name": "NGUYEN XUAN HUNG",
    "account_org": "PVCOMOBANK",
    "account_sub_org": null,
    "status": 60,
    "created_at": "2026-05-04 10:10:00",
    "payed_at": "2026-05-04 10:15:00",
    "callback_at": "2026-05-04 10:15:03",
    "canceled_at": null,
    "attachments": []
  }
}

The final result is pushed by callback. See Payout Callback.

Released under the MIT License.