{
"amount": "100",
"currency": "usd",
"chain_id": 56,
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"callback": "https://yourapp.com/api/webhooks/payment",
"reference_no": "WITHDRAW-001",
"buffer": 0.005
}
{
"message": "success",
"data": {
"order": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"code": 100002,
"order_type": 2,
"state": 2,
"processing_state": 20,
"amount": "100",
"outcome": "2575000",
"currency": "usd",
"rate": "25750",
"original_rate": "25500",
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"chain_id": 56,
"recipient": "0xHPAY_WALLET_ADDRESS",
"reference_no": "WITHDRAW-001",
"external_id": "ext-001",
"partner_id": "partner-xyz",
"user_id": "user-abc",
"provider": 1,
"processing_time": 0,
"client_ip": "127.0.0.1",
"callback": "https://yourapp.com/api/webhooks/payment",
"fees": { "service_fee": 0.01, "min_fee": 5000 },
"total_fee_vnd": 25750,
"pay_data": null,
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"error": null,
"created_at": { "seconds": 1700000000, "nanos": 0 },
"updated_at": { "seconds": 1700000000, "nanos": 0 },
"expired_at": { "seconds": 1700003600, "nanos": 0 }
}
}
}
{
"error": "invalid request",
"error_code": "BAD_REQUEST",
"message": "Invalid parameters"
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
Orders
Create Withdrawal
Create a new offramp order for a user to sell tokens and receive VND via bank transfer.
POST
/
partners
/
orders
/
withdrawal
{
"amount": "100",
"currency": "usd",
"chain_id": 56,
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"callback": "https://yourapp.com/api/webhooks/payment",
"reference_no": "WITHDRAW-001",
"buffer": 0.005
}
{
"message": "success",
"data": {
"order": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"code": 100002,
"order_type": 2,
"state": 2,
"processing_state": 20,
"amount": "100",
"outcome": "2575000",
"currency": "usd",
"rate": "25750",
"original_rate": "25500",
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"chain_id": 56,
"recipient": "0xHPAY_WALLET_ADDRESS",
"reference_no": "WITHDRAW-001",
"external_id": "ext-001",
"partner_id": "partner-xyz",
"user_id": "user-abc",
"provider": 1,
"processing_time": 0,
"client_ip": "127.0.0.1",
"callback": "https://yourapp.com/api/webhooks/payment",
"fees": { "service_fee": 0.01, "min_fee": 5000 },
"total_fee_vnd": 25750,
"pay_data": null,
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"error": null,
"created_at": { "seconds": 1700000000, "nanos": 0 },
"updated_at": { "seconds": 1700000000, "nanos": 0 },
"expired_at": { "seconds": 1700003600, "nanos": 0 }
}
}
}
{
"error": "invalid request",
"error_code": "BAD_REQUEST",
"message": "Invalid parameters"
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
Overview
Partner uses this API to create a new withdrawal order. See Offramp Flow for the full integration guide.Amount to withdraw in USD (or VND if
currency=vnd).Currency of the amount:
vnd or usd.Blockchain network ID. See List Tokens.
Token contract address. See List Tokens.
User’s bank account details to receive VND.
Show payment_info
Show payment_info
Bank ID. See List Banks.
Full name of the account holder.
1 = Bank account number, 2 = ATM card number.Bank account number.
HTTPS URL to receive order status webhook notifications.
Optional. Use this to map the Holdstation Pay order to your internal order. Must be unique per partner.
Optional buffer rate override (fractional). Effective buffer = max(override, configured). Example:
0.005 = 0.5%.{
"amount": "100",
"currency": "usd",
"chain_id": 56,
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"callback": "https://yourapp.com/api/webhooks/payment",
"reference_no": "WITHDRAW-001",
"buffer": 0.005
}
{
"message": "success",
"data": {
"order": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"code": 100002,
"order_type": 2,
"state": 2,
"processing_state": 20,
"amount": "100",
"outcome": "2575000",
"currency": "usd",
"rate": "25750",
"original_rate": "25500",
"token_address": "0x55d398326f99059ff775485246999027b3197955",
"chain_id": 56,
"recipient": "0xHPAY_WALLET_ADDRESS",
"reference_no": "WITHDRAW-001",
"external_id": "ext-001",
"partner_id": "partner-xyz",
"user_id": "user-abc",
"provider": 1,
"processing_time": 0,
"client_ip": "127.0.0.1",
"callback": "https://yourapp.com/api/webhooks/payment",
"fees": { "service_fee": 0.01, "min_fee": 5000 },
"total_fee_vnd": 25750,
"pay_data": null,
"payment_info": {
"bank_id": 42,
"full_name": "NGUYEN VAN A",
"account_type": 1,
"account_number": "0123456789"
},
"error": null,
"created_at": { "seconds": 1700000000, "nanos": 0 },
"updated_at": { "seconds": 1700000000, "nanos": 0 },
"expired_at": { "seconds": 1700003600, "nanos": 0 }
}
}
}
{
"error": "invalid request",
"error_code": "BAD_REQUEST",
"message": "Invalid parameters"
}
{
"error": "unauthorized",
"error_code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
⌘I