For the complete documentation index, see llms.txt. This page is also available as Markdown.

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, KwikPaisa 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

POST /api/v3/pg/order/create

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

➡️ API Resources

This endpoint requires standard KwikPaisa authentication headers.

Refer to: ➡️ Headers ➡️ Signature Generation ➡️ Timestamp Validation


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


Example cURL Request


Example Success Response


Response Parameters

Parameter
Description

kwikX_order_id

Unique KwikPaisa generated order ID

created_at

Order creation timestamp

order_id

Merchant order ID

order_status

Current payment status

payment_link

Hosted checkout payment URL


After receiving the response, redirect the customer to:

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


  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

Last updated