Guide · 10 min read · Updated May 2026

What is Razorpay Integration? Complete 2026 Developer Guide

TL;DR

Razorpay integration is the process of wiring your website or app to Razorpay's payment APIs so customers can pay via UPI, cards, net banking, wallets, EMI, and pay-later. A correct integration has server-side order creation, client-side Checkout, server-side signature verification, and webhook reconciliation. Standard pricing is 2% + GST per transaction with T+2 settlement.

Definition

Razorpay integration is the technical process of connecting a website, mobile app, or backend service to Razorpay's payment APIs so that an Indian business can accept domestic and international payments. Razorpay is one of India's largest payment gateways, processing UPI, cards, net banking, wallets, EMI, pay-later, and recurring subscriptions through a unified developer interface.

A complete integration goes well beyond just rendering the Checkout modal — it spans server-side order creation, signature verification, webhook handling, refund management, and integration with your accounting and GST invoicing stack.

Supported payment methods

  • · UPI — collect requests, intent (deep link), and dynamic QR.
  • · Cards — Visa, Mastercard, RuPay, Amex, Diners; debit and credit.
  • · Net banking — 60+ Indian banks.
  • · Wallets — Paytm, Mobikwik, Freecharge, Amazon Pay, Airtel Money.
  • · EMI — card EMI (HDFC, ICICI, Axis, Kotak, SBI, etc.) and cardless EMI (ZestMoney, EarlySalary).
  • · Pay-later — Simpl, LazyPay, ICICI PayLater, FlexiPay.
  • · International cards — requires separate KYC and activation.

Client-side vs server-side

Razorpay integration is fundamentally a server + client dance. Doing either side alone is wrong and insecure:

Server-side (Node/Laravel/Django)
  • · Holds the key_secret (never expose in browser)
  • · Creates orders via Orders API
  • · Verifies HMAC signature post-payment
  • · Handles webhooks
  • · Issues refunds, payouts
Client-side (Web / iOS / Android)
  • · Uses only the public key_id
  • · Renders Razorpay Checkout
  • · Captures success / failure callback
  • · Sends payment_id back to server for verification
  • · Never trusts client-side success blindly

Webhooks — the part most integrations get wrong

Browser-side callbacks fail constantly: users close the tab, networks drop, JS errors swallow the success handler. Razorpay's webhooks deliver guaranteed server-to-server events so your backend can reconcile reliably. Production-essential webhooks:

  • · payment.captured — funds successfully captured.
  • · payment.failed — payment attempt failed.
  • · order.paid — order fully paid (especially for partial payments).
  • · refund.processed — refund successfully sent.
  • · subscription.charged — recurring payment captured.

Webhooks must verify the X-Razorpay-Signature header against your webhook secret. Without this, an attacker can spoof "successful payment" events into your endpoint.

Refunds, payouts, subscriptions, and Route

Refunds API— full or partial refunds against any captured payment. Normal refunds take 5-7 working days; Instant Refunds upgrade this.
Payouts— programmatically send money to vendors, employees, refund recipients via UPI, IMPS, NEFT, RTGS, or card payouts. Requires RazorpayX account.
Subscriptions— recurring billing (UPI mandates, card mandates, e-NACH). Critical for SaaS, OTT, ed-tech, membership.
Route— split settlements for marketplaces. One customer payment, multiple linked accounts get their share automatically.

Pricing and settlement

  • · Standard rate: 2% + GST per successful transaction (domestic).
  • · International cards: 3% + GST.
  • · UPI: often free or heavily discounted (varies by plan).
  • · Enterprise volume: negotiable to ~1.6-1.8%.
  • · Settlement: T+2 working days standard. Instant Settlement available for a fee.
  • · No setup fee, no monthly fee on standard plan.

Razorpay vs alternatives

vs PayU.Older incumbent. Slightly better enterprise pricing at high volume; Razorpay's developer experience and dashboard are noticeably cleaner.
vs Cashfree. Strong competitor with comparable APIs. Cashfree often wins on payouts and split-settlement pricing for marketplaces.
vs Stripe. Stripe is excellent for international SaaS but RBI rules have constrained Stripe India coverage. For India-first businesses, Razorpay remains the default.
vs PayPal.PayPal is fine for receiving international USD from western customers but does not support Indian domestic methods (UPI, RuPay, net banking) — almost always paired with Razorpay for domestic.

Common questions about Razorpay integration

What does Razorpay integration actually involve?

Five core steps. (1) Create an Order on Razorpay's server-side Orders API using your key_id and key_secret. (2) Send the order_id to the client. (3) Open Razorpay Checkout (web modal, iOS SDK, or Android SDK) with the order_id. (4) On success, the client receives payment_id, order_id, and signature. (5) Verify the HMAC signature server-side before marking the order paid. Production setups also subscribe to webhooks for guaranteed delivery.

What payment methods does Razorpay support?

UPI (collect, intent, QR), credit and debit cards (Visa, Mastercard, Amex, RuPay), net banking (60+ banks), wallets (Paytm, Mobikwik, Freecharge, Amazon Pay, Airtel Money), EMI (cardless EMI and bank EMI), pay-later (Simpl, LazyPay, ICICI PayLater), and international cards. International payments require separate activation and KYC.

Why are webhooks important?

Browser callbacks fail. Users close the tab mid-redirect, networks drop, JavaScript errors prevent the success handler from firing. Razorpay webhooks (payment.captured, payment.failed, refund.processed, order.paid) are server-to-server events that you must trust as the source of truth. Production e-commerce in India should always reconcile orders against webhooks, not browser-side callbacks alone.

What does Razorpay charge?

Standard pricing is 2% + GST per successful transaction for domestic payments. International cards are 3% + GST. UPI is often discounted (sometimes free, depending on your plan and category). Enterprise volume pricing brings the standard rate to ~1.6-1.8%. There is no setup fee, no monthly fee on the standard plan.

What is Razorpay Route?

Razorpay Route is a split-settlement product. When a customer pays you, Razorpay can automatically split the amount between you and multiple linked accounts (sellers, partners, service providers). It is the backbone for marketplaces and aggregator platforms in India, equivalent to Stripe Connect.

Razorpay vs PayU vs Stripe in India?

Razorpay has the cleanest developer experience and the strongest documentation for the Indian market. PayU has been around longer and has slightly better enterprise pricing at high volume. Stripe handles international SaaS billing better but onboarding for Indian businesses is slower and recent RBI rules have made Stripe's India coverage thinner. For most Indian D2C and SaaS, Razorpay is the default.

How long until I receive my money?

Standard settlement is T+2 working days (T = transaction date). Instant Settlement upgrades this to within minutes for an extra fee. Some categories (high-risk, education, EMI) have longer T+5 or T+7 holds. Settlement schedule is configurable in the Razorpay dashboard.

Related reading

Need a clean Razorpay integration?

We've shipped Razorpay across Laravel, Next.js, Flutter, and React Native for D2C, SaaS, marketplaces, and EV charging apps — including the boring stuff (webhook reconciliation, refund flows, GST sync). Get in touch.

bR

buildbyRaviRai Assistant

Replies within 24 hours

Chat on WhatsApp

+91 74289 19927 · Replies within 24 hours

Pick a quick message to start a conversation on WhatsApp — or type your own below. Your message pre-fills, you hit send from WhatsApp.

Or type your own

We'll send your message via WhatsApp Web or the WhatsApp app.