Vexoli

Developers · API reference

API reference

Base URL: https://paysetu-api.theraphael.online · Authenticate server-side with Authorization: Bearer $VEXOLI_API_KEY. Never expose your API key in browser code.

Rules that matter

amount_paise is an integer. ₹499.00 is 49900. Do not send floats or rupee strings.

Idempotency: send a unique Idempotency-Key per order intent. Retrying with the same key returns the original order instead of creating a duplicate.

409 Conflict: reusing an idempotency key with a different request body, or creating an order that conflicts with an existing one, returns 409. Treat 409 as “fetch the existing order”, not as a reason to create another with a new key blindly.

MethodEndpointDescription
POST/v1/ordersCreate an order. Body: amount_paise (integer, required), reference, customer {name, phone}, notes. Header: Idempotency-Key recommended.
GET/v1/orders/:idFetch one order and its current status.
GET/v1/ordersList orders (pagination via limit / cursor where supported).
POST/v1/demo/orderCreate a test-mode demo order (used by the live cashier demo).
GET/v1/pay/:tokenCashier data for a payment token (used by the hosted cashier).
POST/v1/pay/:token/paidCustomer signals “I have paid” from the cashier. This does not confirm payment by itself.
POST/v1/pay/:token/claimSubmit a claim with a UTR for a payment that needs manual review.
POST/v1/trackPublic tracking: { order_id, phone } → order status.

Create order — example

curl -X POST https://paysetu-api.theraphael.online/v1/orders \
  -H "Authorization: Bearer $VEXOLI_API_KEY" \
  -H "Idempotency-Key: order-2481-v1" \
  -H "Content-Type: application/json" \
  -d '{"amount_paise": 49900, "reference": "ORD-2481"}'

# 201 Created
# { "id": "ord_...", "token": "pay_...", "payment_url": ".../pay/pay_...",
#   "amount_paise": 49900, "payable_amount_paise": 49837, "status": "PENDING" }

Order statuses

PENDING → SUCCESS (verified) · EXPIRED (not paid in time) · MANUAL_REVIEW (verification is taking longer; wait for the webhook) · FAILED. Only SUCCESS means the payment is verified.