Skip to content

Create Payout

WARNING

Important: name + phone + email + amount are used to identify distinct customers. Follow these notes to avoid incorrect risk-control decisions.

  1. Do not hard-code name, phone, and email together
  2. Use the same name + phone + email for the same customer

Endpoint

POST /cashout/vn/order/create

Request Parameters

FieldTypeRequiredDescription
namestringYesCustomer name — More realistic values improve success rate and reduce risk flags; length must be greater than 5
phonestringYesCustomer mobile number — Vietnamese mobile format starting with 0, second digit 9, then 8–9 digits. More realistic numbers improve success rate and reduce risk flags
emailstringYesCustomer email — More realistic values improve success rate and reduce risk-control flags
bankCodestring enumYesPayout method code — See the bankCode section — UPI, BANK_IN
accountstringYesAccount number — Set account according to bankCode (UPI account or bank card account)
amountnumberYesAmount — Up to 2 decimal places (rounded). Trailing zeros after the decimal are omitted in the pre-sign string for float amounts
notifyUrlstringYesNotification URL — Sandbox supports automatic callbacks: odd last digit of phone → success; even → failure
signstringYesSignature
appIdstringYesMerchant appId
mchOrderNostringYesMerchant order number
mchIdintegerYesMerchant ID
txChannelstringYesTransaction channel
timestampintegerYesCurrent timestamp — Unix timestamp in seconds

Request Example

json
{
 "mchId": 364295370188661,
 "txChannel": "TX_VN_001",
 "appId": "7acG5KbHUAxC3EJNxG",
 "timestamp": 1662450012,
 "mchOrderNo": "payout_26622128134",
 "name": "Matthew Clark",
 "phone": "19818970682",
 "email": "test@gmail.com",
 "bankCode": "MOMO",
 "account": "6221881999382",
 "amount": "50",
 "notifyUrl": "http://xmevj.kg/obp",
 "sign": "xxxxxxxx"
}

Response Parameters

FieldTypeRequiredDescription
statusintegerYesStatus — 200 success
msgstringYesMessage
dataobjectYes
data.applyTimeintegerYesApplication time
data.amountnumberYesCredited amount
data.platOrderNostringYesPlatform order number
data.mchOrderNostringYesMerchant order number
data.orderStatusstring enumYesOrder status — PENDING, SUCCESS, FAILED, REFUND

Response Example

json
{
 "status": 200,
 "msg": null,
 "data": {
 "mchOrderNo": "payout_1662104438",
 "platOrderNo": "wussXUCOoXO3yptr7rQV",
 "applyTime": 1662104742,
 "amount": 180.34,
 "orderStatus": "PENDING"
 }
}

Transafe Developer Documentation