Transaction Status
There are 2 ways to fetch payment status: -
1. Order Status API: Juspay provides a server-to-server mechanism of verifying the Order Status. Click for Detailed API for order status
2. Webhooks: After the completion of every payment/refund, Juspay will provide direct notification to your server regarding the event. These are called Webhooks. You must configure a valid HTTPS endpoint that is reachable from our servers to consume these notifications. Our servers will push data using HTTP POST calls to your endpoint. Click for Detailed Webhook Specifications
Payment Response
Once the payment is complete the user is redirected to the return_url configured by you. Following is the typical destination where the user is taken to:
HTTP GET https://merchant.shop.com/paymentresponse/handler?order_id=order_id_007&status=CHARGED&status_id=21&signature=euKzwwiUztPPg3MCEYpgKZfcyTr1uQq1hzKkhP8G1vQ%253D&signature_algorithm=HMAC-SHA256'
Please note that the parameters are sent using HTTP GET by default. To enable HTTP POST for your MID, please drop an email to support@juspay.in
Transaction Status
The following table lists the transaction status codes that Order Status API returns:
|
Status ID
|
Status
|
Description
|
Actionables
|
|---|---|---|---|
10
| NEW
| Newly created order. This is the status if transaction is not triggered for an order
| N/A
|
23
| PENDING_VBV
| Authentication is in progress
| This is a non-terminal transaction status. Show pending screen to your customers and in background keep polling order-status API till you get Charged or Failed; or till the time your order fulfilment window (a specified duration post which payments will not be accepted against the order) is active.
|
21
| CHARGED
| Successful transaction
| Display order confirmation page to the user and fulfill the order.
|
26
| AUTHENTICATION_FAILED
| User did not complete authentication
| Display transaction failure status to the user along with the failure reason provided in the order status API response. Allow user to retry payment.
|
27
| AUTHORIZATION_FAILED
| User completed authentication, but the bank refused the transaction.
| Display transaction failure status to the user along with the failure reason provided in the order status API response. Allow user to retry payment.
|
22
| JUSPAY_DECLINED
| User input is not accepted by the underlying PG
| This scenario is an integration error. Reach out to us with order ID details for clarification.
|
28
| AUTHORIZING
| Transaction status is pending from bank
| This is a non-terminal transaction status. Show pending screen to your customers and in background keep polling order-status API till you get Charged or Failed; or till the time your order fulfilment window (a specified duration post which payments will not be accepted against the order) is active.
|
29
| COD INITIATED
| COD Initiated Successfully
| Display order confirmation page to the user and fulfill the order.
|
20
| STARTED
| Transaction is pending. Juspay system isn't able to find a gateway to process a transaction
| This scenario is an integration error. Reach out to us with order ID details for clarification.
|
36
| AUTO_REFUNDED
| Transaction is automatically refunded
| Display the refund status to the user and in background keep polling order-status API till you get Success or Failure.
|
24
| VBV_SUCCESSFUL
| Authorization is in progress
| |
33
| CAPTURE_INITIATED
| Capture pending for the pre-authorized transaction
| |
34
| CAPTURE_FAILED
| Capture failed for the pre-authorized transaction
| |
32
| VOID_INITIATED
| Void pending for the pre-authorized transaction
| |
31
| VOIDED
| Void is successful for the pre-authorized transaction
| |
35
| VOID_FAILED
| Void failed for the pre-authorized transaction
| |
40
| NOT_FOUND
| Provided order id is not created at Juspay
|
Transaction is successful only if you receive CHARGED as the value in status. For all other cases, you must assume that the payment has failed or the finite status is not known from the upstream gateway at the moment.
- Have questions?
- Need help? Contact support
- LLM? Read llms.txt

