Real Time Payments
Create an order with payment transaction for Real-Time Payments. The response of this API includes a QRString and an authentication URL. Once the response is received, the QR code can be displayed to users based on your use case.
Handling QRString
qrstring from the response can be directly retrieved and embedded into your application for display.
Handling Authentication URL
If you prefer not to manage the QRString, the URL provided in the response can be loaded directly in a browser, where Juspay will handle the QR code display for the user.
The default timer value is set to 10 minutes and is configurable. If you need to adjust the timer value, please contact the Juspay team for assistance.
Logo update on the timer screen is feasible and can be easily managed through the Juspay Dashboard:
Log in to the Juspay Dashboard.
Navigate to "Payments" → "Settings" → "General"
Update the logo under the "Your Company Logo" section.
Supported Payment Methods:
|
payment_method
|
RTP
|
|---|---|
PAYNOW
| PayNow
|
DUITNOW
| Duitnow
|
PROMPTPAY
| PromptPay
|
FPS_QR
| FPS QR
|
Error Codes:
|
Scenario
|
Error Codes
|
Sample Error Message
|
|---|---|---|
Not passing the currency value
| 400
| {"error_message":"Bad Request.","status":"Bad Request","error_code":"INVALID_REQUEST","error_info":{"user_message":"Invalid input data","fields":[{"field_name":"currency","reason":"Missing field or Invalid Value"}],"developer_message":"Invalid input data","code":"INVALID_INPUT","category":"USER_ERROR"}}
|
Not passing the amount value
| 400
| {"error_message":"Bad Request.","status":"Bad Request","error_code":"INVALID_REQUEST","error_info":{"user_message":"Invalid input data","fields":[{"field_name":"amount","reason":"Missing field or Invalid Value"}],"developer_message":"Invalid input data","code":"INVALID_INPUT","category":"USER_ERROR"}
|
Passing the amount in negative Integer
| 400
| {"error_message":"Bad Request.","status":"Bad Request","error_code":"INVALID_REQUEST","error_info":{"user_message":"Invalid input data","fields":[{"field_name":"amount","reason":"Invalid amount"}],"developer_message":"Invalid input data","code":"INVALID_INPUT","category":"USER_ERROR"}}
|
Passing the amount in Positive Integer
| 400
| {"error_message":"BadRequest.","status":"Bad Request","error_code":"INVALID_REQUEST","error_info":{"user_message":"Invalid input data","fields":[{"field_name":"amount","reason":"Missing field or Invalid Value"}],"developer_message":"Invalid input data","code":"INVALID_INPUT","category":"USER_ERROR"}}
|
Not passing the customer_email
| 400
| {"status":"error","error_code":"invalid_request","error_info":{"user_message":"Invalid customer Email","fields":[{"field_name":"customerEmail","reason":"Invalid value."}],"developer_message":"customerEmail shouldn't have any special chars","code":"INVALID_INPUT","category":"USER_ERROR"}}
|
Not sending the orderId
| 400
| {"error_message":"order_id is missing","status":"Bad Request","error_code":"order_id is missing","error_info":{"user_message":"Please pass order_id in request","fields":[{"field_name":"order_id","reason":"Missing field."}],"developer_message":"order_id is missing in request","code":"MISSING_MANDATORY_PARAMETER","category":"USER_ERROR"}}
|
Not passing API key
| 403
| {"error":true,"error_message":"Forbidden.No valid API key or client auth token is present in Authorization header or client_auth_token query parameter","user_message":"Access Denied.Unable to proceed.","userMessage":"Access Denied.Unable to proceed.","error_info":{"code":"UNAUTHORIZED","category":"USER_ERROR","user_message":"AccessDenied","developer_message":"No valid API key or client auth token is present in Authorization header or client_auth_token query parameter"}}
|
Invalid API key
| 401
| {"status":"error","error_code":"access_denied","error_info":{"user_message":"Unauthorized.","developer_message":"Invalid API Key.Please pass a valid and active apikey.","code":"UNAUTHORIZED","category":"USER_ERROR"}}
|
Whitelisting of IP in dashboard
| 403
| {"error":true,"error_message":"Internal Server error.","user_message":"Bad Origin.","error_info":{"code":"BAD_ORIGIN","category":"USER_ERROR","user_message":"Bad Origin.","developer_message":"IP Verification Failed"}}
|
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 MID 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 MID
| 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"}}
|
Passing amount as 0(without Juspay internal enablement)
| 400
| {"error_message":"Bad Request.","status":"ERROR","error_code":"INVALID_REQUEST","error_info":{"user_message":"Invalid input data","fields":[{"field_name":"amount","reason":"Invalid amount"}],"developer_message":"Invalid input data","code":"INVALID_INPUT","category":"USER_ERROR"}}'
|
Passing a non configured currency
| 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"}}
|
- Have questions?
- Need help? Contact support
- LLM? Read llms.txt

