Deposit
POST
api/v2/deposit
API Error Code
| Status code | Description |
|---|---|
20000 |
Current project is no found an currency |
20001 |
No found valid PG Saving account |
20002 |
The processing fee is over than amount |
20003 |
Invalid Deposit form |
20004 |
Deposit res is expired |
20005 |
Repeat submit payment page |
20006 |
Image is not valid (size / mime type / s3 server problem) (pls contact customer service) |
Parameters that need to be pass for the request.
| Parameters | Type | Required | Description |
|---|---|---|---|
| redirect_url | string | no | Redirect URL |
| callback_url | string | no | Callback URL |
| client_transaction | string | yes | Client transaction ID |
| project_id | string | yes | Project ID |
| token | string | yes | Token details view Encryption & Decryption |
| amount | decimal | yes | Deposit amount |
| currency_code | string | yes | Project's currency code |
| payment_method | string | no | Custom deposit payment method (bank_transfer / qr_pay / wire_transfer) |
| site_url | string | no | Current site URL |
| client_first_name | string | no | Client's first name |
| client_last_name | string | no | Client's last name |
| client_ip_address | string | yes | User's IP address |
| client_full_name | string | no | Client's full name, please note that this field will become mandatory in future |
Parameters
- redirect_url:
https://www.example.com/(string, optional) - Redirect URL - callback_url:
https://www.example.com/(string, optional) - Callback URL - client_transaction:
1(string, required) - Generated client transaction ID - project_id:
9(string, required) - Project ID - token:
9BC97D2BCC7990F84F05202205E53D14(string, required) - Token - amount:
10000(decimal, required) - Amount - currency_code:
VND(string, required) - Project's currency code - payment_method:
null(string, optional) - (bank_transfer / qr_pay / wire_transfer) - site_url:
https://www.example.com/(string, optional) - Current site URL - client_first_name:
Alan(string, optional) - Client's first name - client_last_name:
Teo(string, optional) - Client's last name - client_ip_address:
192.168.1.12(string, required) - User's IP address
Response 200 (application/json)
{
"status": 0,
"ret_msg": "Success",
"data": {
"call_back_url": "https://paystation.me/#/topup/?signature=....",
"transaction_id": "XXXXXX",
"client_transaction_id": "XXXXXX",
"token": "259680784193BA14739EBABE0B683AEE",
}
}
Callback for deposit
{
"return_type" => "status-response",
"type" => "deposit",
"transaction_id" => "DP2021000001",
"amount" => '1000',
'payment_method' => 'Bank Transfer',
"client_transaction" => "testing",
"currency" => 'VND',
"return_status" => 'approve',
"remark" => 'success',
"created_at" => '2021-05-05 21:21:21',
"token": "259680784193BA14739EBABE0B683AEE",
}
Transaction is approved:
return_status : "approve"
Transaction is rejected:
return_status : "reject"
Transaction is expired:
return_status : "expire"
Transaction is cancel:
return_status : "cancel"
Payment Method:
payment_method : "Bank Transfer / QR Pay"
Requirement response by merchant:
{
"status" : "successful"
}
If didn't get this message, then it will failed, VNPAY only send 3 time for a single callback.
