E-Commerce

How to Accept UPI Payments on Your Website
Razorpay, PhonePe & Cashfree Setup Guide for Indian Businesses

Over 14 billion UPI transactions happen every month in India. Is your website collecting any of that money? Complete step-by-step guide to integrating UPI payments - with gateway comparison, setup instructions, and code examples.

A client who runs a digital marketing training business in Delhi was collecting payments the old-fashioned way: customers would bank transfer the fees, then send him a screenshot on WhatsApp, and he would manually check and confirm enrolment. The process took 24–48 hours, during which students could change their mind. He was losing at least 3–4 enrolments every month to this friction alone.

We added a Razorpay payment button to his course pages. Students pay instantly with UPI, get an automatic confirmation email, and are enrolled the same minute. His conversion rate jumped by nearly 40% in the first month. The payment now happens at the moment of decision - not 48 hours later.

In 2026, if your business sells anything online - a course, a service, a product, an advance booking - and you are not collecting payment directly through your website, you are losing money every single day.

14B+
UPI transactions processed every month in India
400M+
active UPI users across India in 2026
78%
of Indian online shoppers prefer UPI over cards or wallets

Razorpay vs PhonePe Business vs Cashfree - Honest Comparison

Three payment gateways dominate the Indian market for small and medium businesses. Each has different strengths. Here is the honest breakdown so you can choose without confusion.

Cashfree
1.75% + GST
per transaction - no monthly fee
  • UPI, cards, net banking, wallets
  • Payment links
  • Faster settlement (T+1)
  • Good for high-volume businesses
  • International payments support
  • Slightly harder to set up than Razorpay
PhonePe Business
0%
UPI transactions - currently free
  • UPI payments only
  • QR code & payment links
  • Very simple setup
  • No website embed option
  • Best for in-store / QR payments
  • Not suitable for automated checkout

My recommendation: Start with Razorpay. The 2% fee is standard across the industry, the setup is fastest, the documentation is best in class, and for most Indian small businesses the payment link feature alone is enough to start collecting money without any coding. Switch to Cashfree later if your monthly volume justifies the slightly lower rate.

Step-by-Step: Setting Up Razorpay for Your Website

Step 1 - Create and Verify Your Razorpay Account

Go to razorpay.com and sign up. You will need: your PAN card, bank account details, business name, and a cancelled cheque or bank statement. Razorpay verifies Indian businesses typically within 1–2 business days. Once approved, you get access to your live API keys.

Step 2 - The Fastest Method: Razorpay Payment Links (No Code)

This is the right starting point for most businesses. In your Razorpay dashboard, go to Payment Links → Create Payment Link. Set the amount, add a description, and generate the link. Share this link anywhere - WhatsApp, email, SMS, or as a button on your website. Customers click it, choose UPI or card, pay, and get an automatic receipt.

To add it as a button on your website, simply link your existing "Pay Now" or "Buy" button to the Razorpay payment link URL. Zero integration work required.

Step 3 - Embedded Checkout (For a Seamless In-Page Experience)

If you want payment to happen directly on your website without redirecting to a Razorpay page, use their JavaScript SDK. Add this to your web page:

/* Add this script tag in your HTML head */ <script src="https://checkout.razorpay.com/v1/checkout.js"></script> /* Add this button to your page */ <button id="rzp-button">Pay ₹999 with UPI / Card</button> /* Add this script before closing body tag */ <script> var options = { key: "YOUR_RAZORPAY_KEY_ID", amount: "99900", // Amount in paise (999 x 100) currency: "INR", name: "Your Business Name", description: "Service / Product Name", handler: function(response) { // Payment successful - redirect or show confirmation alert("Payment successful! ID: " + response.razorpay_payment_id); }, prefill: { name: "", email: "", contact: "" }, theme: { color: "#d4a843" } }; var rzp = new Razorpay(options); document.getElementById("rzp-button").onclick = function() { rzp.open(); }; </script>

Replace YOUR_RAZORPAY_KEY_ID with your actual key from the Razorpay dashboard under Settings → API Keys. The amount is always in paise - multiply rupees by 100. So ₹999 becomes 99900.

Test mode first: Razorpay provides test API keys that let you simulate payments without real money. Always test with the test key before switching to live keys. In test mode, use card number 4111 1111 1111 1111 with any future expiry and CVV to simulate a successful payment.

If you want the absolute simplest way to accept UPI on your website - with zero gateway, zero fees, and instant settlement - use a UPI deep link. This opens any UPI app (GPay, PhonePe, Paytm, BHIM) directly on the customer's phone with your payment details pre-filled.

The format is:

upi://pay?pa=YOUR_UPI_ID&pn=YOUR_NAME&am=AMOUNT&cu=INR&tn=DESCRIPTION

Example - a ₹999 payment to Sanjeevi at divxwebstudio@upi:

<a href="upi://pay?pa=divxwebstudio@upi&pn=DivX+Web+Studio&am=999&cu=INR&tn=Website+Design+Advance"> Pay ₹999 via UPI </a>

On mobile, clicking this link opens the UPI app chooser. On desktop it does nothing - so always pair it with a Razorpay payment link as the fallback for desktop users.

A few legal points every Indian business owner must know before going live with online payments:

  • PAN is mandatory - Razorpay, Cashfree, and all gateways require a valid PAN for KYC. Sole proprietors can use their personal PAN. Companies and LLPs use their business PAN.
  • Bank account in business name - Your settlement account should be in your business name. Razorpay does accept personal accounts for sole proprietors with proper documentation.
  • GST registration - Not required to set up a payment gateway. Required if your annual turnover exceeds ₹20 lakhs (₹10 lakhs for special category states). If registered, you must collect GST on applicable services and file returns.
  • Issue receipts - Every payment received must be acknowledged. Razorpay sends automatic receipts by email. For GST-registered businesses, these must be proper tax invoices with GST breakdowns.
  • RBI guidelines on refunds - Online payments must be refundable within a defined period. Have a clear refund policy on your website before accepting payments.

Best Practices for Payment on Your Website

  • Show accepted payment methods visibly - Display UPI, Visa, Mastercard, and Rupay logos near your payment button. This builds trust and tells customers they can use their preferred method.
  • HTTPS is non-negotiable - Your website must have an SSL certificate before you add any payment functionality. Modern browsers block payment APIs on non-HTTPS pages.
  • Confirmation page after payment - Always redirect to a thank-you page after successful payment. This confirms to the customer that everything went through and gives you a page to add next steps.
  • Send WhatsApp confirmation - For Indian customers, a WhatsApp message confirming the payment and what happens next is the most reassuring thing you can do. Use Razorpay webhooks or simply set up a manual follow-up system.
  • Mobile payment UX - Test your entire payment flow on a mobile phone. Over 70% of your customers will pay from mobile. The button must be large, the checkout must load fast, and UPI must be the first option shown.

Common Questions About Website Payments in India

Which is the best payment gateway for Indian small businesses?
Razorpay is the best overall choice. Widest payment method support, best documentation, payment links requiring no code, and a trusted brand. 2% + GST per transaction with no monthly fee. For high-volume businesses, Cashfree offers slightly lower rates at 1.75% + GST.
Do I need a GST number to accept payments on my website?
No GST registration is needed to open a Razorpay or Cashfree account. You need PAN, bank account, and basic business documents. GST registration is legally required only if your annual turnover exceeds ₹20 lakhs.
What is the transaction fee for Razorpay?
Razorpay charges 2% per transaction plus 18% GST on that fee - effectively about 2.36% total. On a ₹1,000 payment, Razorpay deducts ₹23.60 and settles ₹976.40 to your bank within 1–3 business days. No setup fee, no monthly fee.
Can I add a payment button without knowing how to code?
Yes. Razorpay Payment Links require zero coding. Create a link in your Razorpay dashboard and add it as a button on your website. Customers click it, pay via UPI or card on Razorpay's hosted page, and get an automatic receipt. No developer needed.
How long does Razorpay take to settle money to my bank?
Razorpay settles payments within T+3 business days by default (3 days after the transaction). You can enable instant settlements for an additional 0.25% fee per transaction if you need funds faster. Cashfree offers T+1 settlement on standard plans which is an advantage for cash-flow-sensitive businesses.

Need Help Adding Payments to Your Website?

Setting up a Razorpay payment button, building a complete checkout flow, or integrating UPI payments into an existing website - these are things I do regularly for Indian business clients. I can have a basic payment integration live on your website within a day or two.

💳

Add UPI & Card Payments to Your Website

Tell me what you are selling and I will recommend the right payment setup - Razorpay payment link, embedded checkout, or UPI deep link - and help you get it live fast.

WhatsApp to Add Payments
Serving Businesses Across India
Chennai Mumbai Bangalore Delhi Hyderabad Pune Kolkata All of India
WhatsApp Call Now