Skip to main content
Before reading this API document, please make sure to check API Description Guide first.

Transaction Limits

Transaction TypeLimit
CollectionUSD: 0.99-2000, VND: 10000-10000000
DisbursementVND: 10000-50000000

Collection API

Collection Application

Description:
  • Create a Collection order.
URL:/vnd/collect/apply
Note: appId needs to use VND corresponding, user payment success will increase VND balance
URL:/usd/collect/apply
Note: appId needs to use USD corresponding, user payment success will increase USD balance
Request Method:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in URL)
orderIdYesStringMerchant order ID (must be unique, max length 48)
nameYesStringPayer name (Format: English or Vietnamese case-insensitive, spaces allowed, 1-30 characters, “firstName middleName lastName” (middleName is optional). Special characters supported: ! -)
outBankNoNoStringPayer card number, required when payType = PAYMENT_GATEWAY
phoneYesStringValid phone number
emailYesStringValid email address
amountYesStringTransaction amount (Unit: VND) Range: 100,000 – 10,000,000. Must be a multiple of 100
payTypeYesStringTransaction type: QR, PAYMENT_GATEWAY, BANK_TRANSFER, EWALLET
inBankCodeNoStringPayment method. When payType = EWALLET, supports MOMO_VND for MoMo Wallet payment
callBackUrlYesStringRedirect URL after successful payment
callBackFailUrlYesStringRedirect URL after failed payment
notifyUrlNoStringNotification callback URL
currencyNoStringCurrency (default: VND, supported: USD, VND)
subjectNoStringPayment note
bodyNoStringPayment details
partnerUserIdYesStringUnique user identifier (e.g. userId) for risk control, must be valid. Format: numbers, letters, or symbols -~!@#$%&*()_
signYesStringSignature
request
{
    "appId": 1054,
    "orderId": "M233323000059",
    "amount": "300",
    "phone": "08230219312",
    "email": "23423@qq.com",
    "name": "test",
    "inBankCode": "VCB",
    "payType": "QR",
    "partnerUserId": "149597870",
    "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}
va-response
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M233323000059",
        "orderNo": "6023071013539074",
        "payUrl": "https://a.api-uat.vnd.com/1L9zQS2",
        "bankCode": "VCB",
        "qrCode": "00020101021228760011ph.ppmi.p2m0111OPDVPHM1XXX0315777148000000017041652948137245442930503001520460165303608540810000.vnd Of Mandalu62310010ph.allbank05062110000803***88310012ph.ppmi.qrph0111OPDVPHM1XXX63042763",
        "sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
    }
}
Return data Parameter Description
ParameterTypeDescription
orderIdStringMerchant order ID (must be unique)
orderNoStringPlatform order ID
payUrlStringReturned payment address, or sometimes a guide/details
bankNoStringReceiving account number (BANK_TRANSFER)
bankCodeStringReceiving bank
bankUserNameStringRecipient name (BANK_TRANSFER)
qrCodeStringQR code content — can be used to generate a QR code (for payType=QR)
signStringSignature

Collection Query

Description:
  • Query a Collection order
  • When payType=PAYMENT_GATEWAY, orderNo is returned synchronously and can be queried directly
  • For other payment methods, after asynchronous notification, query status again using orderNo
URL: /vnd/collect/query Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant order ID
orderNoNoStringPlatform order ID (faster response)
signYesStringSignature
request
{
    "appId": 1054,
    "orderId": "M22222000028",
    "sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}
response
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M22222000028",
        "orderNo": "6023042811314347",
        "amount": "50000.00",
        "actualAmount": "0.00",
        "fee": "0.00",
        "status": 1,
        "sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
    }
}
Return data Parameter Description
ParameterTypeDescription
orderIdStringMerchant order ID (must be unique)
orderNoStringPlatform order ID
amountStringTransaction amount
actualAmountStringAmount received
feeStringFee
statusIntegerStatus (0: Not started, 1: Collecting, 2: Collection successful, 3: Collection failed, 4: Partial collection, 5: Excess collection, -1: Exception pending confirmation)
payTimeStringPayment success time (present when status=2, 4, or 5) (Vietnam time), format: yyyy-MM-dd HH:mm:ss
errorMsgStringFailure reason (present when status=3)
signStringSignature

Payment Methods

CurrencyPayment Type (payType)Payment Code (inBankCode)LimitStatusDescription
VNDQRQR10000-50000000AvailableQR Code
VNDBANK_TRANSFERBANK10000-50000000AvailableBank Transfer
VNDEWALLETMOMO_VND20000-5000000AvailableMOMO Wallet
USDQRVN_QR_USD0.99-2000AvailableQR Code
USDBANK_TRANSFERVN_BANK_USD0.99-2000AvailableBank Transfer

Disbursement API

Disbursement Apply

Description:
  • Create a Disbursement order
URL: /vnd/pay/apply Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant order ID (must be unique, length ≤ 48)
amountYesStringTransaction amount (unit: ) Range: 50,000–10,000,000
accountTypeYesStringAccount type: BANK_ACCOUNT
bankCodeYesStringBank code
accountNoYesStringUser bank account number
nameYesStringRecipient name (Format: English or Vietnamese, case-insensitive, spaces allowed, 1–30 characters, “firstName middleName lastName” (middleName is optional), special characters supported: ’.-)
phoneYesStringReal phone number
emailYesStringReal email address
notifyUrlNoStringCallback URL
subjectNoStringPayment note (transaction title, product name, payment reason)
bodyNoStringDetailed note
partnerUserIdYesStringUser unique identifier (e.g., userId). Used by risk control, must be valid. Format: numbers, letters, or common symbols -~!@#$%&*()_.
signYesStringSignature
request(accountType为BANK_CARD类型时)
{
    "appId": 1054,
    "orderId": "M100000450012",
    "amount": "500",
    "accountType": "BANK_CARD",
    "bankCode": "BDO",
    "accountNo": "09876543210",
    "name": "john doe",
    "phone": "08276543210",
    "email": "johndoe@cashfree.com",
    "subject": "iphone13",
    "body": "ProMotion technology with adaptive refresh rates up to 120Hz",
    "partnerUserId": "149597870",
    "sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
response
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M100000450013",
        "orderNo": "3023062014149637",
        "sign": "LmhUnkw5j0pMiimsG8rKwdNNZGvXH5MpSmD6mdHZwq1SQwuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
    }
}
Return data Parameter Description
ParameterRequiredTypeDescription
orderIdYesStringMerchant order ID (must be unique)
orderNoYesStringPlatform order ID
signYesStringSignature

Disbursement Query

Description:
  • Query a Disbursement order
URL: /vnd/pay/query Parameters:
ParameterRequiredTypeDescription
appIdYesLongBusiness ID (obtained from backend, must match the currency in the URL)
orderIdYesStringMerchant order ID
orderNoNoStringPlatform order ID (faster response)
signYesStringSignature
request
{
    "appId": 1000,
    "orderId": "M1234567111",
    "orderNo": "3022111516571436",
    "sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
response — Order Failed
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M1234567111",
        "orderNo": "3022111516571436",
        "amount": "100000.00",
        "fee": "0.00",
        "status": 3,
        "errorMsg": "Đơn hàng không tồn tại",
        "sign": "KKuvCl0SuNANJs+l2ogDaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
    }
}
response — Order Successful
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M1234567112",
        "orderNo": "3022111517401574",
        "amount": "100000.00",
        "fee": "1003.00",
        "status": 2,
        "payTime": "2024-03-01 23:59:59",
        "sign": "khPtOmGq+cpKX0HFAI/lbP0dx4oVyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
    }
}
Return data Parameter Description
ParameterTypeDescription
orderIdStringMerchant order ID (must be unique)
orderNoStringPlatform order ID
amountStringTransaction amount
feeStringFee
statusIntegerOrder status (0 Not Started, 1 Processing, 2 Disbursement Success (final), 3 Disbursement Failed (final), -1 Exception Pending Confirmation)
payTimeStringPayment success time (present when status=2) (Vietnam Time), format: yyyy-MM-dd HH:mm:ss
errorMsgStringPayment failure reason (presnet when status=3)
signStringSignature

Payment Methods

CurrencyPayment Type (accountType)Payment Code (bankCode)LimitStatusDescription
VNDBANK_ACCOUNTVCB10000-50000000AvailableVietcombank
VNDBANK_ACCOUNTDAB10000-50000000AvailableDongA Bank
VNDBANK_ACCOUNTTCB10000-50000000AvailableTechcombank
VNDBANK_ACCOUNTMB10000-50000000AvailableMilitary Bank
VNDBANK_ACCOUNTVIB10000-50000000AvailableVietnam International Bank
VNDBANK_ACCOUNTICB10000-50000000AvailableVietinBank
VNDBANK_ACCOUNTEXB10000-50000000AvailableEximbank
VNDBANK_ACCOUNTACB10000-50000000AvailableAsia Commercial Bank
VNDBANK_ACCOUNTHDB10000-50000000AvailableHDBank
VNDBANK_ACCOUNTMSB10000-50000000AvailableMaritime Bank
VNDBANK_ACCOUNTNCB10000-50000000AvailableNational Citizen Bank
VNDBANK_ACCOUNTVAB10000-50000000AvailableViet A Bank
VNDBANK_ACCOUNTVPB10000-50000000AvailableVPBank
VNDBANK_ACCOUNTSTB10000-50000000AvailableSacombank
VNDBANK_ACCOUNTBAB10000-50000000AvailableBac A Bank
VNDBANK_ACCOUNTGPB10000-50000000AvailableGPBank
VNDBANK_ACCOUNTAGB10000-50000000AvailableAgribank
VNDBANK_ACCOUNTBIDV10000-50000000AvailableBIDV
VNDBANK_ACCOUNTOJB10000-50000000AvailableOceanBank
VNDBANK_ACCOUNTPGB10000-50000000AvailablePG Bank
VNDBANK_ACCOUNTSHB10000-50000000AvailableSaigon - Hanoi Bank
VNDBANK_ACCOUNTTPB10000-50000000AvailableTienPhong Bank
VNDBANK_ACCOUNTNAB10000-50000000AvailableNam A Bank
VNDBANK_ACCOUNTSGB10000-50000000AvailableSaigon Bank
VNDBANK_ACCOUNTABB10000-50000000AvailableAn Binh Bank
VNDBANK_ACCOUNTSCB10000-50000000AvailableSaigon Commercial Bank
VNDBANK_ACCOUNTIVB10000-50000000AvailableIndovina Bank
VNDBANK_ACCOUNTVCCB10000-50000000AvailableViet Capital Bank
VNDBANK_ACCOUNTOCB10000-50000000AvailableOrient Commercial Bank
VNDBANK_ACCOUNTSEA10000-50000000AvailableDong Nam A Bank
VNDBANK_ACCOUNTLVB10000-50000000AvailableLienVietPostBank
VNDBANK_ACCOUNTWRB10000-50000000AvailableWoori Bank
VNDBANK_ACCOUNTPVCOMBANK10000-50000000AvailablePVcomBank
VNDBANK_ACCOUNTSHNB10000-50000000AvailableShinhan Bank
VNDBANK_ACCOUNTKLB10000-50000000AvailableKien Long Bank
VNDBANK_ACCOUNTBVB10000-50000000AvailableBaoViet Bank
VNDBANK_ACCOUNTGAB10000-50000000AvailableDai A Bank
VNDBANK_ACCOUNTNVB10000-50000000AvailableNavibank
Last modified on April 17, 2026