Razorpay Route vs Cashfree Easy Split: Marketplace Settlements, Refunds and Seller Reconciliation
If you run an Indian marketplace on Razorpay Route, the first question is no longer how to split a payment. It is whether you still have Route. Razorpay ties Route eligibility to the RBI Payment Aggregator guidelines of September 2025: domestic turnover above Rs 40 lakh, or export turnover above Rs 5 lakh, in FY25 or FY26. Accounts that did not submit proofs by 31 December 2025 have had Route disabled, so from 1 January 2026 a non-qualifying platform has no split product on that side. Cashfree publishes no turnover threshold for Easy Split.
This guide compares the two on what happens after checkout rather than on gateway choice: eligibility, seller onboarding, splits, holds, refund funding and reconciliation. Everything comes from each provider’s current public documentation. Figures checked October 2026. Worked examples are illustrative and use published example rates, not contracted ones.
Quick answer: Route and Easy Split both let a marketplace collect one customer payment, keep a commission and pay sellers automatically, but Route is now gated on RBI turnover proofs that were due by 31 December 2025. Route works through Linked Accounts, per-transfer holds and explicit reversal calls, at a published 0.25% transfer fee. Easy Split works through vendors, order-level splits and refund splits, at a documented 0.2% per split, with a 5-vendor cap per transaction and a 45-day maximum hold. Neither treats a transfer or split status as proof that a seller’s bank has been credited.
Why multi-party payments are harder than a single checkout
A single-seller shop has one question after checkout: when does the money reach my bank. A marketplace has four: who received the money, how much belongs to each seller, when each share leaves the platform, and what happens to all of it on a refund.
One illustrative order runs through this guide. A customer pays Rs 5,000 for two items, Seller A’s at Rs 3,000 and Seller B’s at Rs 2,000. At a 10% commission the platform keeps Rs 300 from A and Rs 200 from B, so Seller A’s share is Rs 2,700, Seller B’s Rs 1,800, and the platform’s Rs 500 before fees.
How does money move from customer to seller bank?
Both products have four stages, each leaving its own record.
- Customer payment: captured against a pay_ id on Route, or a paid order with an order_id and cf_payment_id on Easy Split.
- Allocation: a Route transfer from the order (API only), the captured payment or platform balance, or Easy Split order_splits at order creation or a Split After Payment call.
- The record of it: a Route transfer entity (trf_ id) with a transfer status and a separate settlement status, or an Easy Split vendor ledger entry with a settlement eligibility date.
- Seller bank credit: a settlement on the Linked Account’s own schedule, identified by recipient_settlement_id, or a vendor settlement with settlement_id and utr, confirmed by VENDOR_SETTLEMENT_SUCCESS.
The gap between stage 3 and stage 4 is where finance teams get caught. The Route documentation describes transfer.processed as confirming only that funds were debited from the platform and credited to the Linked Account; settlement_status is the separate field, moving from pending or on_hold to settled. On Cashfree, “Order split created” records the split, and the vendor’s bank credit is confirmed only by the vendor settlement webhook carrying a utr. Build seller statements from settlement identifiers.
Who can use each product, and how are sellers onboarded?
On top of the turnover thresholds, Razorpay’s Route overview adds a payer-payee transparency rule: the Linked Account must be the party that directly provides the goods or services to the customer. Our RBI Payment Aggregator guidelines checklist covers the framework those rules sit inside.
Cashfree does not publish eligibility criteria for Easy Split, and nothing on its pages corresponds to Razorpay’s thresholds. Easy Split is enabled per account through the support form or an account manager, and the sandbox through the Enable Easy Split API. Treat the criteria as not publicly documented and get them in writing at onboarding.
| Aspect | Razorpay Route (Linked Accounts) | Cashfree Easy Split (Vendors) |
|---|---|---|
| Eligibility | RBI-linked turnover thresholds, proved by GST-3B, FIRC or self-declaration; review 5 to 7 business days | Not publicly documented; enabled per account by support |
| Seller creation | Dashboard or API: account, stakeholder, Route configuration, bank details | Dashboard or Create Vendor API |
| KYC | By business type: owner PAN for individuals, business PAN and GST for most entities, bank account for all | kyc_details with PAN, GST, CIN, UIDAI, passport, licence or voter ID |
| Bank verification | Penny testing; activated, verification_pending, verification_failed, not_activated | verify_account flag; vendor sits in IN_BENE_CREATION until active |
| Destination | Bank account or UPI VPA, not both | Bank account or UPI VPA |
| Activation signal | product.route.activated, under_review and needs_clarification webhooks with a requirements array | Poll Get Vendor; vendors not active in 24 hours go to support |
| Seller login | Linked Account dashboard, granted by the platform | dashboard_access flag |
| Bulk onboarding | 50,000 rows, about 4 hours | 50 records per batch |
Two Route details matter for launch planning: transfers are blocked while a Linked Account sits in verification_pending, and verification failures trigger no notification, so the platform must poll or subscribe to the product.route webhooks. Cashfree’s FAQ says there is no cap on API-created vendors, and that cycle, bank details and KYC can be edited later.
How do split rules, commissions and settlement holds compare?
Route has no commission parameter: the platform transfers less than it collected, in paise and INR only, so this order becomes two transfers. Easy Split instead takes order_splits with vendor_id and either amount or percentage on Create Order, and what is left stays with the merchant.
Razorpay’s Route transfer fee example uses a 2% gateway plan and a 0.25% transfer fee, each with 18% GST, the transfer fee charged on each transferred amount. On those illustrative rates the Rs 500 commission here becomes Rs 368.72, after Rs 118.00 of gateway fee and Rs 13.28 of transfer fees.
Cashfree’s pricing page does not list Easy Split charges at all: the 0.2% per split comes from the Easy Split FAQ, and per-vendor payout charges are communicated by your account manager, so they are not publicly documented. Get them in writing before you model margins, because no like-for-like version of that calculation can be built from public pages.
| Behaviour | Razorpay Route | Cashfree Easy Split |
|---|---|---|
| Defining the split | Transfer from an order (API only), a captured payment, or platform balance; direct transfers need support enablement | order_splits at order creation, or Split After Payment from 2 minutes after payment, within 48 hours |
| Limits | Transferred total plus fees cannot exceed the captured amount; no transfers after a refund is initiated; no seller cap published | Maximum 5 vendors per transaction; totals above the transaction amount rejected |
| Fee on the split | 0.25% per transferred amount plus 18% GST, a limited-time offer in October 2026 | 0.2% per split plus gateway charges, from the FAQ; per-vendor payout charge not publicly documented |
| Default seller cycle | Equal to or longer than the platform’s own cycle; changed via support | schedule_option per vendor; ID 1 default, example “T+1 settlement at 11:00 AM”; IDs 8 and 9 instant |
| Instant option | UPI VPA accounts settle within minutes of capture, Rs 1 lakh NPCI limit per transfer | Instant, standard and on-demand types; one bundled payout per vendor per day on standard |
| Indefinite hold | on_hold true on the transfer, released by PATCH or dashboard | Deferred settlement at account level; the split must arrive within the interval |
| Timed hold | on_hold_until timestamp; settles the next business day after expiry | Maximum 45 days, not extendable |
| On expiry | Hold persists until the platform releases it | A held share does not go to the vendor; unsplit, the full amount settles to the merchant |
| After release | Original schedule applies; a transfer past its T+n date settles in bank hours | Vendor share settles first, then the merchant share, each with a webhook |
| Seller bank credit record | settlement_status and recipient_settlement_id | settlement_id and utr on the vendor settlement webhook |
The two hold models behave differently inside a dispute window. On Route the money stays unsettled until the platform acts, so an unreleased hold is a standing decision. On Easy Split the clock runs from the transaction date, and a platform that misses the split interval finds the whole Rs 5,000 settled to itself, with sellers unpaid and nothing to reconcile. That failure is quiet, so it needs an alarm rather than a report.
How are full and partial refunds funded?
Razorpay’s Route refund and transfer reversal documentation is explicit that a refund is deducted from the platform’s main account balance. Recovering a seller’s share is a separate reversal, debited from the Linked Account and credited to the platform. A full refund does both in one call with reverse_all; a partial refund cannot, because Razorpay cannot determine which transfer to reverse partially on a multi-account payment, and the Rs 200 commission on a refunded item is not recovered.
A transfer still in pending settlement status can be reversed. After payout the reversal depends on whatever floating balance newer transfers have left behind: if Seller B was settled yesterday with no new sales, the reversal fails and the platform funds all Rs 2,000 itself. Razorpay does not document negative-balance or deferred recovery for Linked Accounts after settlement, so build a manual funding path.
Cashfree has no separate reversal call. The refund carries the allocation, through refund_splits on Create Refund, and where the money comes from depends on timing: the merchant’s next settlement before the split is shared, merchant and vendor balances per split after the split but before vendor settlement, and the vendor’s next settlement after that, debiting only vendors who received the original settlement. Vendors are debited in proportion to their shares unless the platform passes refund_splits itself, and a short vendor balance is adjusted first with an on-demand transfer of transfer_type ADJUSTMENT. Disputed amounts are withheld from the merchant balance, not the vendor’s, which is worth reading alongside our guide to chargebacks and UPI disputes in India.
| Refund question | Razorpay Route | Cashfree Easy Split |
|---|---|---|
| Who funds the customer refund | The platform, from the main account balance | The merchant balance, with vendor balances debited per split once shared |
| Full Rs 5,000 before seller settlement | One refund with reverse_all; both transfers reversed, then the platform pays | One refund, debited from merchant and vendor balances per split |
| Partial Rs 2,000 before seller settlement | Reverse Rs 1,800 on Seller B’s transfer, then refund Rs 2,000 | One refund: Rs 1,800 from Seller B, Rs 200 from the merchant |
| Partial Rs 2,000 after Seller B is paid out | Works only if Seller B holds floating balance; otherwise the platform funds all Rs 2,000 | Rs 1,800 adjusted against Seller B’s next settlement |
| Seller balance short | Reversal fails on insufficient balance; no negative balance or deferred recovery documented | ADJUSTMENT transfer between ledgers; fails on insufficient vendor or merchant funds |
| Who can initiate a refund | Platform always; the seller only with the Allow Refunds toggle, from their own balance | Merchant by API or dashboard; vendor-initiated refunds not publicly documented |
| Fee treatment on refund | Not publicly documented | Not publicly documented |
Cashfree’s model is more forgiving after payout, though the seller’s next statement shows a debit they did not initiate. Route is stricter, but every rupee that moves back has a reversal ID tied to a transfer ID.
Which identifiers, webhooks and reports support seller reconciliation?
A seller statement is built from a chain of identifiers: on Route, pay_ id to trf_ id (with recipient acc_ id and amount_reversed) to rvrsl_ id or rfnd_ id to recipient_settlement_id, with setl_ id and a utr for the platform’s own credit; on Easy Split, order_id to vendor_id to refund_id to settlement_id and utr.
Webhook coverage is the most useful difference between the two. Route publishes transfer.processed, transfer.failed, settlement.processed for the platform’s own settlement, and the product.route activation events. The published list has no event for a Linked Account’s bank settlement, and no transfer.settled event appears on the webhook page reviewed, so seller settlement confirmation has to come from polling settlement_status and recipient_settlement_id, or from the settlement reconciliation API. Cashfree publishes VENDOR_SETTLEMENT_INITIATED, SUCCESS, FAILED and REVERSED, carrying settlement_id, utr, vendor_id, the settled amount, adjustment, service charge and a failure reason code such as INSUFFICIENT_BALANCE, so the credit moment and the UTR arrive in one payload. Validate the signature on every event either way, on the raw body for Razorpay or the x-webhook-signature header for Cashfree, as set out in our notes on payment API and webhook security.
Reports fill the gaps. Route’s reports cover Transfers, Reversals and combined Linked Account reports, plus a settlement reconciliation report per Linked Account, which substitutes for the missing seller settlement event. Easy Split offers a Vendor Recon Report, Transaction Summary, Refunds Report and Vendor Split Settlement Report, plus a Vendor Reconciliation API filtered by settlement_id, vendor or date range, with rows typed transaction, vendor_settlement or REFUND carrying settlement_utr, debit, credit, fee and tax. Cashfree asks integrators to wait 15 minutes after VENDOR_SETTLEMENT_SUCCESS before calling it, and settlement_id searches cover six months.
How should you build the integration?
- Confirm eligibility first: Razorpay’s turnover proofs and payer-payee declaration, Cashfree’s enablement.
- Fix each seller’s destination and settlement cycle, remembering that a Route cycle cannot be shorter than the platform’s own.
- Store every identifier: payment, transfer or split, reversal or refund split, settlement ID and UTR.
- Mark a seller paid only on recipient_settlement_id or VENDOR_SETTLEMENT_SUCCESS, never on transfer.processed or “Order split created”.
- On Route, build partial refunds as two calls, with a manual funding path for the insufficient balance error.
- On Easy Split, choose proportional debits or explicit refund_splits, build the ADJUSTMENT call, and alarm on any paid order still unsplit.
- Reconcile the gateway fee, the transfer or split fee and 18% GST as separate lines.
- Validate webhook signatures on every event.
Which should you choose?
Route fits a platform that needs to hold a seller’s share on its own judgement rather than a clock: an on_hold transfer with no on_hold_until stays held until the platform releases it, where Easy Split caps any hold at 45 days. It also suits orders with more than five sellers, and onboarding at scale, at 50,000 rows against 50 per batch.
Easy Split fits a platform whose pain is refunds after payout and seller statements: refunds adjust in the vendor’s next settlement, where a Route reversal needs the seller to be holding balance at that moment, and every seller bank credit arrives as a webhook with a UTR in it. Commercial terms cannot be decided from public pages at all, since Route’s 0.25% is marked limited-time and Cashfree’s charges sit in an FAQ and with an account manager.
What to confirm before you sign
Get your Route eligibility outcome in writing, including which proofs were accepted and the payer-payee position for your seller structure. Ask Cashfree for Easy Split eligibility criteria and the per-vendor payout charge, since neither is published. Ask both providers whether their split fees are refunded on a reversal. Ask Razorpay what happens when a Linked Account has no balance to cover a reversal after settlement, and ask Cashfree whether a vendor can initiate a refund from their own dashboard.
The documentation supports none of four common assumptions: that split fees are refunded on reversal; that Easy Split schedule IDs other than 1 map to specific T+n values; that either provider guarantees a credit time after release; or that either published rate is what a platform will be offered.
FAQs
1. Does a processed Route transfer mean the seller has been paid?
No. Processed means the amount moved from the platform’s balance to the Linked Account’s balance inside Razorpay. The seller’s bank credit is tracked by the separate settlement_status field and by recipient_settlement_id, and statements should be built on that record.
2. Who pays for a customer refund on Razorpay Route?
The platform: the refund is deducted from the main account balance. Recovering the seller’s share means reversing the transfer, automatically with reverse_all on a full refund, or with a separate call for a partial one. Reversals fail if the Linked Account lacks balance.
3. How does Easy Split handle a refund after a vendor has been settled?
The amount is adjusted in that vendor’s next settlement, and only vendors who received the original settlement are debited. The debit is proportional to each vendor’s share by default, and the platform can pass refund_splits instead. A short vendor balance needs an ADJUSTMENT transfer first.
4. How long can a seller’s share be held?
On Route, indefinitely with on_hold, or until a timestamp with on_hold_until, after which it settles the next business day. On Easy Split the maximum is 45 days from the transaction date, cannot be extended, and a share still held then does not go to the vendor.
5. Are the published Route and Easy Split fees standard pricing?
Not entirely. Razorpay’s product page shows 0.25% per transfer as a limited-time offer as of October 2026, and its FAQ says fees follow the agreed plan. Cashfree’s 0.2% appears in the Easy Split FAQ rather than the pricing page, and payout charges are set by the account manager. Both attract 18% GST.