> ## 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.

# Create order

# Create Order

Use the Create Order API to generate a new payment order and initiate a hosted checkout session for your customer.

Once the order is created successfully, Elite Neo Bank returns a hosted payment link that can be used to redirect customers and complete the payment securely.

This API supports:

* UPI Payments
* QR Payments
* Net Banking
* Cards
* Wallets

***

## Endpoint

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

***

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

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

#### This endpoint requires standard Elite Neo Bank authentication headers.

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 | Unique merchant order ID |
| `order_amount` | Decimal | Yes | Transaction amount |
| `order_currency` | String | Yes | Currency code (Example: INR) |
| `order_note` | String | No | Additional order information |
| `service_type` | String | Yes | Transaction service type |
| `customer.name` | String | Yes | Customer full name |
| `customer.email` | String | Yes | Customer email address |
| `customer.phone` | String | Yes | Customer mobile number |
| `customer.address.line1` | String | Yes | Primary address line |
| `customer.address.line2` | String | No | Secondary address line |
| `customer.address.city` | String | Yes | Customer city |
| `customer.address.state` | String | Yes | Customer state |
| `customer.address.country` | String | Yes | Customer country |
| `customer.address.postal_code` | String | Yes | Customer postal/ZIP code |
| `return_url` | String | Yes | Merchant return/callback URL |

***

## Example Request Body

```json theme={null}
{
  "order_id": 6116229263036,
  "order_amount": 105,
  "order_currency": "INR",
  "order_note": "Additional order info",
  "service_type": "DIGITAL",
  "customer": {
    "name": "Ajay",
    "email": "developer@jangras.co",
    "phone": "9816512345",
    "address": {
      "line1": "Capital Office, Kemp House",
      "line2": "152 - 160 City Road",
      "city": "London",
      "state": "London",
      "country": "UK",
      "postal_code": "EC1V 2NX"
    }
  },
  "return_url": "https://merchant.in/process_return.php?order_id=order_1626945143520"
}
```

***

## Example cURL Request

```http theme={null}
curl --request POST \
--url https://sandbox.Elite Neo Bank.com/api/v3/pg/order/create \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "X-API-KEY: pk_test_xxxxxxxxx" \
--header "X-TIMESTAMP: GENERATED_TIMESTAMP" \
--header "X-SIGNATURE: GENERATED_SIGNATURE" \
--data '{
  "order_id": 6116229263036,
  "order_amount": 105,
  "order_currency": "INR",
  "order_note": "Additional order info",
  "service_type": "DIGITAL",
  "customer": {
    "name": "Ajay",
    "email": "developer@jangras.co",
    "phone": "9816512345",
    "address": {
      "line1": "Capital Office, Kemp House",
      "line2": "152 - 160 City Road",
      "city": "London",
      "state": "London",
      "country": "UK",
      "postal_code": "EC1V 2NX"
    }
  },
  "return_url": "https://merchant.in/process_return.php?order_id=order_1626945143520"
}'
```

***

## Example Success Response

```json theme={null}
{
  "code": "200",
  "status": "success",
  "message": "API authentication successful!",
  "return_data": {
    "kwikX_order_id": "kp_40dec464-7155-43a3-855d-c95c5ab1be71",
    "created_at": "13-05-2026 08:34 AM",
    "order_id": 6116229263036,
    "order_status": "UN_PAID",
    "payment_link": "https://sandbox.Elite Neo Bank.com/payment/checkout/..."
  }
}
```

***

## Response Parameters

| Parameter | Description |
| - | - |
| `kwikX_order_id` | Unique Elite Neo Bank generated order ID |
| `created_at` | Order creation timestamp |
| `order_id` | Merchant order ID |
| `order_status` | Current payment status |
| `payment_link` | Hosted checkout payment URL |

***

## Redirect Customer to Payment Link

After receiving the response, redirect the customer to:

```http theme={null}
payment_link
```

This hosted payment page allows customers to securely complete the transaction using supported payment methods.

***

## Order Status Flow

Possible order statuses:

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

***

## Important Notes

* `order_id` must always be unique
* Duplicate order IDs may be rejected
* Generate signatures server-side only
* Always validate payment status using Order Status API
* Do not rely only on frontend redirects

***

## Recommended Payment Flow

1. Create Order API
2. Redirect customer to `payment_link`
3. Customer completes payment
4. Receive webhook notification
5. Verify payment using Order Status API

***

## Common Errors

### 400 Bad Request

Possible reasons:

* Missing required parameters
* Invalid payload format
* Invalid order amount

***

### 401 Unauthorized

Possible reasons:

* Invalid API key
* Incorrect signature
* Expired timestamp

***

### Duplicate Order ID

Possible reasons:

* Reusing existing `order_id`
* Duplicate payment attempts

***

## Best Practices

* Always use unique order IDs
* Validate payment status server-side
* Verify webhook signatures
* Store `kwikX_order_id` for reconciliation
* Use HTTPS for all requests


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