Vexoli

Developers

Integrate UPI payments in an afternoon.

Create an order server-side, open the cashier, and listen for the signed webhook. That is the whole integration.

Quickstart

Four steps to live

1 · Get your keys

Create a merchant account and copy your API key from the dashboard. Keep it server-side only.

Open merchant panel →

2 · Create an order

POST https://paysetu-api.theraphael.online/v1/orders with amount_paise (integer) and an Idempotency-Key. You get back a token and payment_url.

API reference →

3 · Open the cashier

Redirect to payment_url or load vexoli.js and call Vexoli.open({ token }).

SDK guide →

4 · Listen for the webhook

Verify the signature, then fulfil on payment.success. Never fulfil on a browser callback alone.

Webhook guide →
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", "customer": {"name": "Asha", "phone": "9876543210"}}'