Why eSewa and Khalti Are Essential for Nepal Businesses
Nepal's digital payment market has exploded — eSewa and Khalti together process millions of transactions monthly. For any Nepal e-commerce store, service business, or app that takes online payments, not offering these options means losing a significant chunk of potential customers who don't have international credit cards but have eSewa or Khalti wallets.
eSewa
- • Founded: 2009 (oldest digital wallet Nepal)
- • 10M+ registered users
- • Supports: wallet, bank transfer, debit card
- • Commission: 1.5–2% per transaction
- • API: REST-based, well documented
- • Settlement: T+1 business day
Khalti
- • Founded: 2017
- • 5M+ registered users
- • Supports: wallet, bank transfer, cards
- • Commission: 1.5–2% per transaction
- • API: REST-based with good sandbox
- • Settlement: T+1 business day
Requirements to Get Started
For eSewa Merchant Account
- Business registration certificate (PAN/VAT)
- Bank account in Nepal
- Website URL (must be live)
- Business contact person details
- Apply at: merchant.esewa.com.np
For Khalti Merchant Account
- Business registration documents
- PAN/VAT certificate
- Bank account details
- Website or app URL
- Apply at: khalti.com/merchant/
Integration Overview
eSewa Integration Flow
Initiate payment
Your server creates a payment request with amount, transaction ID, and success/failure URLs.
Redirect to eSewa
User is redirected to eSewa's payment page to confirm and authenticate.
eSewa redirects back
After payment, eSewa redirects to your success or failure URL with a token.
Verify on your server
Your server calls eSewa's verification API with the token to confirm payment is genuine.
Update order status
If verified, mark the order as paid and send confirmation to the customer.
Khalti Integration Flow
Initiate on your server
POST to Khalti's /api/v2/epayment/initiate/ with amount, purchase order ID, and return URL.
Redirect user to payment URL
Khalti returns a payment_url — redirect your user there.
User completes payment
User authenticates and pays on Khalti's page.
Khalti redirects back
Khalti redirects to your return URL with a pidx token.
Lookup and verify
POST to /api/v2/epayment/lookup/ with pidx to verify payment status.
Best Practices for Nepal Payment Integration
- Always verify payments server-side — never trust client-side redirects alone
- Store transaction IDs and verify them are unique to prevent replay attacks
- Test thoroughly in sandbox before going live — both success and failure flows
- Handle network timeouts gracefully — payments can fail due to connectivity issues in Nepal
- Show clear payment status pages — customers need confirmation in Nepali or English
- Send WhatsApp/SMS confirmation after successful payment
- Keep payment amount in paisa (not rupees) for eSewa — NPR 100 = 10000 paisa
- Implement idempotency keys to prevent double-charging on retries
Which Should You Integrate — eSewa, Khalti, or Both?
Our recommendation: Both
eSewa has more users (especially older demographics and businesses). Khalti is popular with younger, tech-savvy users. Offering both maximises payment coverage. The integration effort for the second gateway is minimal once the first is done.
Need eSewa or Khalti integrated into your website?
Fossa Technology builds e-commerce and payment solutions for Nepal businesses — with eSewa, Khalti, and card payment integration.
Web Development Services