IndiSell Docs Dashboard →
Payments

Easebuzz gateway

Connect Easebuzz to IndiSell to accept UPI (including in-page QR and Intent), cards, net banking and wallets — with step-by-step credentials, webhook setup, test mode, go-live, and refunds.

Easebuzz is one of the payment gateways IndiSell can route to. Connect your own Easebuzz account and every prepaid charge settles directly into your Easebuzz account — IndiSell never holds your money and never sees your customer's card or UPI credentials. This page walks the whole thing end to end.

ℹ️
New to gateways in IndiSell? Read Connect a payment gateway first for the general idea — this page is the Easebuzz-specific detail.

What you get with Easebuzz

Once connected, Easebuzz powers these methods at your checkout:

  • UPI — including an in-page QR code and UPI app Intent (tap PhonePe / GPay / Paytm and pay without leaving the page). No redirect to a separate page.
  • Cards — Visa, Mastercard, RuPay, Amex (via Easebuzz's secure page).
  • Net banking — all major banks.
  • Wallets — Paytm, PhonePe, Mobikwik and more.

You keep your own pricing and settlement cycle with Easebuzz. IndiSell only orchestrates the charge and reconciles the result.

Before you start

You need:

  1. An active Easebuzz merchant account — production, or a UAT (test) account for trying it out. Sign up at easebuzz.in if you don't have one.
  2. Your Easebuzz Merchant Key and Salt (Step 1 below).
  3. Admin access to your IndiSell dashboard.

Step 1 — Get your Key and Salt

Your Key and Salt are the two credentials Easebuzz gives every merchant. The Key identifies your account; the Salt is a secret used to sign every request — treat it like a password.

1
Sign in to Easebuzz

Open the Easebuzz Dashboard (use testdashboard.easebuzz.in for a UAT/test account).

2
Open Settings

Go to Settings. Your Merchant Key and Salt are shown there. If you can't see the Salt, use Regenerate or contact [email protected].

3
Copy both values

Copy the Key and the Salt exactly — no extra spaces. You'll paste them into IndiSell next.

⚠️
The Salt is a secret. Never share it, never put it in your website's code, and never send it over chat or email. IndiSell stores it encrypted and uses it only on the server.

Step 2 — Connect Easebuzz in IndiSell

1
Open the gateway settings

In your IndiSell dashboard go to Payments → Gateways and choose Easebuzz.

2
Paste Key and Salt

Enter the Key and Salt from Step 1.

3
Pick the mode

Leave Test mode on while you're trying it (use your UAT Key/Salt). Switch to Live with your production Key/Salt when you're ready to take real money.

4
Save and test the connection

Save, then use Test connection — IndiSell makes a signed call to Easebuzz and confirms the credentials are accepted. A green result means you're connected.

ℹ️
Test keys and live keys are different values from Easebuzz. Test-mode credentials only work against Easebuzz's test host; live credentials against the live host. IndiSell picks the right host automatically from the mode you choose.

Step 3 — Set the Transaction Webhook

A webhook lets Easebuzz push the result of a payment to IndiSell the moment it happens. It is strongly recommended for every store, and effectively required if you use UPI QR or UPI Intent — those payments finish inside the shopper's UPI app and never redirect back to the browser, so the webhook (and IndiSell's own status checks) are how the order gets confirmed.

1
Open webhook settings in Easebuzz

In the Easebuzz Dashboard go to Settings → Webhooks (also called Transaction Webhook). If you don't see it, ask [email protected] to enable webhooks for your account.

2
Set the URL

Paste this exact URL:

https://cart.indisell.io/api/easebuzz/webhook

3
Save

Save the setting. Easebuzz will now notify IndiSell on every payment status change.

ℹ️
The webhook is a belt-and-braces safety net, not the only signal. Even without it, IndiSell polls Easebuzz's Transaction API while a QR is on screen and runs a background reconcile job — so a paid order is never lost. The webhook just makes confirmation faster.

How UPI QR and Intent work

When a shopper picks UPI at your checkout:

  • On desktop, IndiSell shows a QR code for the exact amount. The shopper scans it with any UPI app and approves. IndiSell confirms the payment server-side and completes the order — the page updates on its own.
  • On mobile, tapping a UPI app (PhonePe, GPay, Paytm, …) opens that app with the amount pre-filled. After they approve, they come back and the order completes.

Because these flows never redirect to a "success" page, confirmation comes from the webhook + IndiSell's status checks. This is normal and fully handled — nothing extra to configure beyond Step 3.

ℹ️
UPI QR / Intent is a store setting. Turn it on under <strong>Payments</strong> → <strong>UPI app buttons in checkout</strong>. With it off, UPI still works through Easebuzz's standard flow.

Testing before you go live

  1. Keep the gateway in Test mode with your UAT Key/Salt.
  2. Place a test order on your store and pick UPI (or Cards).
  3. Easebuzz's test environment lets you simulate success/failure — confirm the order shows as Paid in IndiSell.
  4. Check that the webhook fired: the order should complete on its own without you refreshing.

Going live

1
Swap in live credentials

Payments → Gateways → Easebuzz: replace the test Key/Salt with your production Key/Salt and turn Test mode off.

2
Point the live webhook

Set the same webhook URL (https://cart.indisell.io/api/easebuzz/webhook) in your production Easebuzz dashboard.

3
Do one real ₹1 order

Place one genuine low-value order end to end, confirm it settles in your Easebuzz account, then refund it (below). You're live.

Refunds

Refund an Easebuzz order from IndiSell the same way as any other order — full or partial. IndiSell sends the refund to Easebuzz, which credits the shopper's bank/card in roughly 5–10 business days depending on their bank. Once issued, a refund can't be cancelled. The refund status is visible in your Easebuzz dashboard.

How a payment is confirmed (and never lost)

IndiSell confirms every Easebuzz payment server-side, and never trusts the shopper's browser:

  • Callback — for redirect flows, Easebuzz returns a signed result which IndiSell re-verifies.
  • Webhook — Easebuzz pushes the result (Step 3); IndiSell re-verifies it.
  • Status poll — while a UPI QR is on screen, IndiSell asks Easebuzz's Transaction API directly.
  • Reconcile — a background job re-checks any payment whose confirmation was delayed (closed tab, network drop) and completes or fails it.

Every one of these re-checks the signature and that the amount paid matches the order — so a tampered or replayed response can't create or cheapen an order.

Troubleshooting

⚠️
"Rejected" or connection test fails — the Key/Salt is wrong, has a stray space, or you're mixing test credentials with live mode (or vice-versa). Re-copy both from the Easebuzz dashboard and match the mode.
ℹ️
UPI QR shows but the order doesn't complete — check the webhook URL is set exactly as in Step 3 in the same environment (test vs live). Even so, IndiSell's reconcile completes the order within a few minutes; the webhook just makes it instant.
ℹ️
Order stuck "pending" — a shopper who closed the app mid-payment. IndiSell's reconcile resolves it automatically (completes it if they actually paid, fails it if they didn't). No action needed.
ℹ️
Refund not showing for the customer — refunds take 5–10 business days to appear on the shopper's statement. The status is in your Easebuzz dashboard immediately.

Need a hand? Contact IndiSell support, or Easebuzz at [email protected] for account-side questions (credentials, webhooks, settlement).