Skip to main content
POST
/
vnd
/
collect
/
apply
VND Collection Application
curl --request POST \
  --url https://uat-interface.haipay.asia/vnd/collect/apply \
  --header 'Content-Type: application/json' \
  --data '
{
  "appId": 123,
  "orderId": "<string>",
  "name": "<string>",
  "phone": "<string>",
  "email": "jsmith@example.com",
  "amount": "<string>",
  "payType": "QR",
  "callBackUrl": "<string>",
  "callBackFailUrl": "<string>",
  "partnerUserId": "<string>",
  "sign": "<string>",
  "outBankNo": "<string>",
  "inBankCode": "<string>",
  "notifyUrl": "<string>",
  "currency": "USD",
  "subject": "<string>",
  "body": "<string>"
}
'
{
  "status": "<string>",
  "error": "<string>",
  "msg": "<string>",
  "data": {
    "orderId": "<string>",
    "orderNo": "<string>",
    "payUrl": "<string>",
    "bankNo": "<string>",
    "bankCode": "<string>",
    "bankUserName": "<string>",
    "qrCode": "<string>",
    "sign": "<string>"
  }
}

Secret Key & Private Key (Generate Signature)

Body

application/json
appId
integer
required

Business ID (obtained from backend, must match the currency in the URL)

orderId
string
required

Merchant order ID

Maximum string length: 48
name
string
required

Payer name (Format: English or Vietnamese case-insensitive, spaces allowed, 1-30 characters, "firstName middleName lastName" (middleName is optional). Special characters supported: ! -)

Required string length: 1 - 30
Pattern: ^[A-Za-zÀ-ỹ\s!-]+$
phone
string
required

Real phone number

email
string<email>
required

Real email address

amount
string
required

Transaction amount (Unit: ₫ VND) Range: 100,000 – 10,000,000. Must be a multiple of 100

Pattern:
payType
enum<string>
required

Transaction type: QR, PAYMENT_GATEWAY, BANK_TRANSFER, EWALLET

Available options:
QR,
PAYMENT_GATEWAY,
BANK_TRANSFER,
EWALLET
callBackUrl
string<uri>
required

Redirect URL after successful payment

callBackFailUrl
string<uri>
required

Redirect URL after failed payment

partnerUserId
string
required

User unique identifier (e.g., userId). Used by risk control, must be valid. Format: numbers, letters, or common symbols -~!@#$%&*()_.

Pattern: ^[A-Za-z0-9\-~!@#$%&*()_]+$
sign
string
required

Signature

outBankNo
string

Payer card number, required when payType = PAYMENT_GATEWAY

inBankCode
string

Payment method. When payType = EWALLET, supports MOMO_VND for MoMo Wallet payment

notifyUrl
string<uri>

Callback URL

currency
enum<string>

Currency (default: VND, supported: USD, VND)

Available options:
USD,
VND
subject
string

Payment note (transaction title, product name, payment reason)

body
string

Detailed note

Response

200 - application/json
status
string

1: Normal, 0: Exception

error
string

Error code

msg
string

Error description

data
object
Last modified on April 10, 2026