Collect · eSewa payment gateway
Accept eSewa payments, no integration needed.
Connect your eSewa merchant account once. TolaPay handles the ePay redirect, signature and verification, and money settles straight to your eSewa merchant account.
Paying with eSewa wallet
In short
How do I accept eSewa payments on my website?
Apply with eSewa for a merchant account, then paste the merchant code and secret key into TolaPay's Integrations. Your app makes one call, POST /api/v1/checkouts with allowed_providers ["esewa"], and sends the customer to the returned URL. TolaPay runs the ePay v2 form, checks eSewa's signed response and status, marks the invoice paid and sends one signed invoice.paid webhook. The money settles to your own eSewa merchant account.
How it works
eSewa payment gateway in 4 steps.
- 01
Get an eSewa merchant account
Apply with eSewa; they ask for documents such as your business registration and PAN/VAT certificate.
- 02
Connect it to TolaPay
Paste the merchant code and secret key in Integrations. Test and live are kept separate.
- 03
Send customers to checkout
A hosted page, a link, a QR or the tola.js overlay, with eSewa alone or next to other rails.
- 04
Get one webhook
TolaPay verifies with eSewa, marks the invoice paid and sends invoice.paid.
In practice
eSewa next to Khalti, cards and bank transfer
Offer eSewa alone or in the full picker. The customer pays in eSewa and comes back to your success page; you get one invoice.paid webhook whatever they used.
Paying with eSewa wallet
In practice
One API call instead of an eSewa integration
No HMAC signing, status polling or transrec checks in your code. TolaPay checks eSewa's signed response before anything is marked paid.
POST https://api.chautari.example/tola
- Tola-Event
- invoice.paid
- Tola-Signature
- t=1792311420,v1=5f0c9e…b81a
- User-Agent
- Tola-Webhooks/1.0
{
"id": "we_…",
"type": "invoice.paid",
"created_at": "2026-10-18T08:17:00Z",
"data": {
"number": "INV-2083-0142",
"customer_id": "cus_7k2mq9vd4r8xw3ba6tyn",
"total_cents": 703764,
"currency": "NPR",
"status": "paid"
}
}HMAC-SHA256 over the timestamp and raw body. Retried on failure.
Capabilities
What's included.
- 01
Your merchant account
Payments go to your own eSewa merchant account; TolaPay never holds the money.
- 02
Two fields to connect
Paste your merchant code and secret key in Integrations. ePay v2, with v1 for older accounts.
- 03
Verified server-side
Every payment is checked with eSewa before the invoice is marked paid.
- 04
Website, link or QR
Hosted checkout, the tola.js overlay, a shareable link or a QR on a phone.
- 05
Subscriptions too
Renewals reach eSewa customers as an invoice link and a reminder.
- 06
Test first
eSewa's sandbox (EPAYTEST) works in test mode before you go live.
Who uses it
Where it fits.
Consumer apps
Most Nepali customers already have eSewa; let them pay without a card.
Use case 01Subscriptions
Renewals go out as an invoice link with a reminder, paid in eSewa.
Use case 02Small teams
Skip building and maintaining the ePay v2 flow and its verification.
Use case 03
Integration
Restrict a checkout to eSewa
allowed_providers limits what the hosted page offers. Leave it out to show every connected rail.
curl https://api.tola.com.np/api/v1/checkouts \
-H "Authorization: Bearer $TOLA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "cus_7k2mq9vd4r8xw3ba6tyn",
"plan_id": "plan_g4wv8t2kq6m1xr9zb3dn",
"allowed_providers": ["esewa"],
"success_url": "https://app.chautari.example/welcome?checkout={CHECKOUT_ID}"
}'Questions
Questions about esewa payment gateway.
Do I need my own eSewa merchant account?
Yes. Apply with eSewa as a merchant (they ask for documents such as your business registration and PAN/VAT certificate), then connect the merchant code and secret key they give you.
What does it cost?
eSewa charges its standard merchant fee on each payment. TolaPay adds nothing on top while it is in beta.
Can I take Khalti and cards as well?
Yes. Connect Khalti and Stripe the same way and the customer chooses at checkout.
Does this show up on the invoice correctly?
Yes. Every invoice is in NPR with the 13% VAT split, your PAN and bank details, as a PDF and in the customer portal.
Can I try it before going live?
Yes. Every workspace has a test mode with separate tola_test_ keys and sandbox Khalti, eSewa and Stripe.
Your product deserves better billing infrastructure.
Create a free workspace, try the whole flow in test mode with sandbox Khalti, eSewa and Stripe, and go live when you're ready.
Free while TolaPay is in public beta. You pay only your payment providers' own fees.