x-partner-id. Use the integration ID issued by Keystone.
x-idempotency-key when creating an order or initiating a payment. Reusing the same key with the same payload returns the existing result. Reusing it with a different payload returns a conflict.
Create order
| Method | Endpoint | Auth |
|---|---|---|
POST | /orders | Bearer token |
- The customer profile must have a non-empty
name. itemsmust contain at least one product.quantitymust be an integer from1to9999.alternatePhone, when sent, must be a 10-digit Indian mobile number.paymentReturnUrl, when sent, must be an absolute URL.couponCodeis optional and only works for coupons issued by Keystone for this integration.useWallet: trueapplies the customer’s eligible wallet discount.
paymentSessionId with the payment provider client SDK.
List orders
| Method | Endpoint | Auth |
|---|---|---|
GET | /orders | Bearer token |
| Param | Type | Required | Notes |
|---|---|---|---|
page | number | No | Default 1 |
limit | number | No | Default 20, max 100 |
status | PENDING_PAYMENT, PLACED, CONFIRMED, PACKED, SHIPPED, DELIVERED, CANCELLED | No | Filter by status |
Retrieve order
| Method | Endpoint | Auth |
|---|---|---|
GET | /orders/{orderId} | Bearer token |
Initiate payment
Order creation initiates payment automatically. Call this endpoint if you need to retry or refresh a provider session for an existingPENDING_PAYMENT order.
| Method | Endpoint | Auth |
|---|---|---|
POST | /payments/orders/{orderId}/initiate | Bearer token |
| Status | Meaning |
|---|---|
INITIATED | Provider session has been created |
CAPTURED | Payment succeeded |
FAILED | Payment failed |
USER_DROPPED | Customer dropped from the provider checkout |