> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eliteneobank.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Check status

# Check Status

Use the Order Status API to fetch the real-time status of a payment order created using the Elite Neo Bank Payment Gateway.

This API helps merchants:

* Verify payment completion
* Track transaction status
* Validate redirected payments
* Reconcile transactions securely

The Order Status API should always be used for final payment verification instead of relying only on frontend redirects.

***

## Endpoint

```http theme={null}
POST /api/v3/pg/order/status
```

#### To view all available base URLs and environments, refer to:

➡️ [API Resources](https://docs.eliteneobank.com/guide/quick-start/api-resources.md)

## Authentication required.

Refer to:\
➡️ [Headers](https://docs.eliteneobank.com/guide/authentication/headers.md)\
➡️ [Signature Generation](https://docs.eliteneobank.com/guide/authentication/signature.md)\
➡️ [Timestamp Validation](https://docs.eliteneobank.com/guide/authentication/timestamp.md)

***

## Request Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `order_id` | Integer/String | Yes | Merchant order ID |

***

## Example Request Body

```json theme={null}
{
  "order_id": 6116229263036
}
```

***

## Example cURL Request

```http theme={null}
curl --request POST \
--url https://sandbox.Elite Neo Bank.com/api/v3/pg/order/status \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "X-API-KEY: pk_test_xxxxxxxxx" \
--header "X-SIGNATURE: GENERATED_SIGNATURE" \
--header "X-TIMESTAMP: GENERATED_TIMESTAMP" \
--data '{
  "order_id": 6116229263036
}'
```

***

## Example Success Response

```json theme={null}
{
  "code": "200",
  "status": "success",
  "message": "API authentication successful!",
  "return_data": {
    "kwikX_order_id": "kp_9b9e725b-b415-40fd-ac1c-068ab508f7e7",
    "order_id": "6873654104683",
    "order_amount": "105.00",
    "order_currency": "INR",
    "order_status": "PAID",
    "payment_id": "pay_dfg4fgffghfh454",
    "order_source": "API",
    "created_at": null
  }
}
```

***

## Response Parameters

| Parameter | Description |
| - | - |
| `kwikX_order_id` | Unique Elite Neo Bank order ID |
| `order_id` | Merchant order ID |
| `order_amount` | Transaction amount |
| `order_currency` | Transaction currency |
| `order_status` | Current payment status |
| `payment_id` | Unique payment transaction ID |
| `order_source` | Source of order creation |
| `paymentDetails` | Payment method and transaction details object |
| `created_at` | Order creation timestamp |
| `paid_at` | Payment completion timestamp |

***

## Payment Status Values

| Status | Description |
| - | - |
| `UN_PAID` | Payment pending |
| `PROCESSING` | Payment under processing |
| `PAID` | Payment completed successfully |
| `FAILED` | Payment failed |
| `EXPIRED` | Payment session expired |

***

## Recommended Verification Flow

1. Create Order API
2. Redirect customer to hosted checkout
3. Customer completes payment
4. Receive redirect/webhook
5. Call Order Status API
6. Verify final payment status server-side

***

## Why Order Status Verification is Important

Frontend redirects may not always guarantee successful payments due to:

* Browser interruptions
* Network failures
* Customer closing the payment page
* Delayed bank confirmations

Always verify transactions using the Order Status API before marking orders as successful.

***

## Best Practices

* Always validate payment status server-side
* Verify webhook notifications
* Store `kwikX_order_id` for reconciliation
* Retry status checks for processing transactions
* Avoid duplicate order IDs

***

## Common Errors

### 400 Bad Request

Possible reasons:

* Missing `order_id`
* Invalid payload structure
* Incorrect request format

***

### 401 Unauthorized

Possible reasons:

* Invalid API key
* Incorrect signature
* Expired timestamp

***

### Order Not Found

Possible reasons:

* Invalid order ID
* Order does not exist
* Incorrect merchant credentials

***

## Recommended Retry Logic

If the payment status is:

```
PROCESSING
```

Retry the status check after a few seconds before marking the transaction as failed.

***

## Security Recommendations

* Generate signatures server-side only
* Never expose secret keys publicly
* Use HTTPS only
* Validate webhook signatures
* Verify timestamps before processing responses


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.