Wallet Payment
Create a payment transaction for paying from a prepaid Wallet. Once you have the response, depending on the “method” attribute, you will have to take the next step. If you receive GET, then take the value in the “URL” attribute and redirect the user to this location. If you receive POST, then “params” attribute will hold a map containing key-value pairs.
For Web, you can create a form with these parameters as hidden variables and auto submit the form. Example code in Javascript: Serialize Parameters.
For Android, serialize this data such that it can be loaded to WebView directly via postData. Example code in Java: Serialize Parameters.
|
payment_method
|
Wallet name
|
|---|---|
ALIPAY
| ALIPAY Wallet
|
APPLEPAY
| APPLEPAY
|
GOOGLEPAY
| Googlepay Wallet
|
GRABPAY
| GRABPAY WALLET
|
WECHATPAY
| WeChat Pay
|
ALIPAY
| ALIPAY Wallet
|
GOPAY
| GOPAY WALLET
|
GRABPAY
| GRABPAY WALLET
|
GOOGLEWALLET
| Google Wallet
|
APPLEPAY
| APPLEPAY
|
ZALOPAY
| ZaloPay Wallet
|
VNPAY
| VNPAY Wallet
|
SHOPEEPAY
| SHOPEEPAY WALLET
|
QR_SHOPEEPAY
| SHOPEEPAY QR WALLET
|
QR_GOPAY
| GOPAY QR WALLET
|
GOPAY
| GOPAY WALLET
|
SHOPEEPAY_QR
| Shopeepay QR
|
GOPAY_QR
| GoPay QR
|
DANA
| Dana Wallet
|
DANA_QR
| Dana QR
|
LINKAJA
| Linkaja Wallet
|
LINKAJA_QR
| Linkaja QR
|
OVO_COLLECT
| Ovo Collect
|
GOOGLEWALLET
| Google Wallet
|
LAZADAPAY
| LAZADAPAY
|
LINEPAY
| LinePay
|
WECHATPAY
| WeChat Pay
|
PAOTANGPAY
| PAOTANGPAY
|
GOOGLEWALLET
| Google Wallet
|
GRABPAY
| GRABPAY WALLET
|
APPLEPAY
| APPLEPAY
|
TRUEMONEY
| TrueMoney
|
PAYPAL
| PayPal
|
KBANK_CARD
| KBANK Card
|
FIB
| FIB
|
PAYME
| PAYME wallet
|
STCPAY
| StcPay wallet
|
MWALLET_QR
| MWALLET QR wallet
|
HANDLING POST
When you get POST as the authentication method in the response, then the customer must be redirected using a form. Example HTML code is given to you. Depending on your client language, choose the appropriate way to create the form.
HANDLING GET
When you get GET as the authentication method in the response, you may load the URL directly into the customer’s browser. You can easily achieve this by sending HTTP 302 from your server. However, if the API call was made from the browser, then you can utilize the code snippet provided.
Error Codes
|
Scenario
|
Error Codes
|
Sample Error Message
|
|---|---|---|
Not passing order id
| 400
| {"error_message":"[order id] cannot be null","status":"invalid_request_error","error_code":"blank","error_info": {"user_message":"Cannot process your request. Please contact support team for assistance.","fields": [{"field_name":"order_id","reason":"Missing field."}],"developer_message":"Missing order id. Please pass order_id or order payload.","code":"MISSING_MANDATORY_PARAMETER","category":"USER_ERROR"}}
|
Not passing merchant_id
| 400
| {"error_message":"Bad request.","status":"ERROR","error_code":"Bad request.","error_info": {"user_message":"Bad request.","fields": [{"field_name":"merchant_id","reason":"Field required but not passed."}],"developer_message":"Failed while parsing your request.","code":"MISSING_MANDATORY_PARAMETER","category":"USER_ERROR"}}
|
Passing merchant_id as Empty
| 400
| {"user_message":"Invalid merchant id. Cannot process your request.","error_message":"Invalid Request","error": true,"error_info": {"user_message":"Please pass valid merchant_id in request.","fields": [{"field_name":"merchant_id","reason":"Invalid merchant_id."}],"developer_message":"merchant_id is invalid.","code":"RESOURCE_NOT_FOUND","category":"USER_ERROR"}}
|
Passing invalid Merchant ID
| 400
| {"user_message":"Invalid merchant id. Cannot process your request.","error_message":"Invalid Request","error": true,"error_info": {"user_message":"Please pass valid merchant_id in request.","fields": [{"field_name":"merchant_id","reason":"Invalid merchant_id."}],"developer_message":"merchant_id is invalid.","code":"RESOURCE_NOT_FOUND","category":"USER_ERROR"}}
|
Passing wrong endpoint
| 404
| Response will be empty
|
Not passing gateway reference id but gateway configured with gateway reference ID on Juspay dashboard
| 400
| {"error_message":"Can't find a suitable gateway to process the transaction","status":"Bad Request","error_code":"invalid_request_error","error_info":{"user_message":"Gateway not found to process the transaction request.","developer_message":"No functional gateways after filtering for currency THB","code":"GATEWAY_NOT_FOUND","category":"CONFIG_ERROR"}}
|
Not passing payment method
| 400
| {"error_message":"Payment method type cannot be null","status":"invalid_request_error","error_code":"missing_payment_method_type","error_info":{"user_message":"Please pass payment method type in the request.","fields":[{"field_name":"payment_method_type","reason":"Missing field."}],"developer_message":"Missing payment method type in the request. Payment method type is a mandatory parametere.","code":"MISSING_MANDATORY_PARAMETER","category":"USER_ERROR"}}
|
Not passing payment method type
| 400
| {"error_message":"Payment method cannot be null","status":"invalid_request_error","error_code":"missing_payment_method","error_info":{"user_message":"Cannot process your request. Please contact support team for assistance.","fields":[{"field_name":"payment_method","reason":"Missing field."}],"developer_message":"Missing payment method. Payment method is required for provided payment method type.","code":"MISSING_MANDATORY_PARAMETER","category":"USER_ERROR"}}
|
- Have questions?
- Need help? Contact support
- LLM? Read llms.txt

