Use the appId corresponding to VND. After successful user payment, the VND balance will be increased.
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>"
}
}Business ID (obtained from backend, must match the currency in the URL)
Merchant order ID
48Payer name (Format: English or Vietnamese case-insensitive, spaces allowed, 1-30 characters, "firstName middleName lastName" (middleName is optional). Special characters supported: ! -)
1 - 30^[A-Za-zÀ-ỹ\s!-]+$Real phone number
Real email address
Transaction amount (Unit: ₫ VND) Range: 100,000 – 10,000,000. Must be a multiple of 100
Transaction type: QR, PAYMENT_GATEWAY, BANK_TRANSFER, EWALLET
QR, PAYMENT_GATEWAY, BANK_TRANSFER, EWALLET Redirect URL after successful payment
Redirect URL after failed payment
User unique identifier (e.g., userId). Used by risk control, must be valid. Format: numbers, letters, or common symbols -~!@#$%&*()_.
^[A-Za-z0-9\-~!@#$%&*()_]+$Signature
Payer card number, required when payType = PAYMENT_GATEWAY
Payment method. When payType = EWALLET, supports MOMO_VND for MoMo Wallet payment
Callback URL
Currency (default: VND, supported: USD, VND)
USD, VND Payment note (transaction title, product name, payment reason)
Detailed note
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>"
}
}