← Back to blog Payments

How Razorpay Payment Links Work With GST Invoices

Sending a PDF invoice and separately sending "here's my UPI ID" or "here's a payment link" is how most small businesses collect payment today — and it works, but it leaves reconciliation as a manual step: someone has to notice the payment landed, then go find which invoice it was for, then mark it paid. This is exactly the gap that pairing Razorpay payment links directly with an invoice closes.

What a Razorpay payment link actually is

A Razorpay payment link is a hosted checkout page — a URL you can send over email, WhatsApp, or SMS — where a customer can pay by card, netbanking, UPI, or wallet, without needing a Razorpay account of their own. On its own, it's just a generic "pay me" link with an amount attached.

Where it becomes more useful: tied to a specific invoice

A generic payment link tells you money came in. It doesn't tell you which invoice it was for — that's still something a person has to match up, especially once you have more than a handful of open invoices with similar amounts. An invoice-linked payment link solves this by carrying a reference back to the specific invoice it was generated for, so when the payment completes, the system already knows exactly what it's for.

How automatic reconciliation actually works

When a customer completes payment on the link, Razorpay sends a webhook — a server-to-server notification — to the invoicing platform, confirming the payment and which reference it belongs to. A well-built integration then:

  1. Verifies the webhook is genuinely from Razorpay (via a signature check against a secret key), not a forged request pretending to be one
  2. Looks up the specific invoice the payment reference points to
  3. Records the payment and marks the invoice paid (or partially paid) automatically — no one has to notice the payment and manually update anything

The signature verification step matters more than it might seem — without it, anyone who discovers the webhook URL could send a fake "payment succeeded" notification and mark invoices as paid that were never actually paid. A real implementation checks the signature against a secret only the invoicing platform and Razorpay know, and rejects anything that doesn't match.

Why "your own Razorpay account" matters if you invoice for multiple businesses

If an invoicing tool is used by more than one business (a multi-tenant SaaS platform, for instance), payment credentials need to be per-business, not shared. Otherwise a payment made against Business A's invoice could theoretically get processed through Business B's Razorpay account — which is both a real payments mix-up and a trust problem. Each business connecting their own Razorpay account keeps the money flowing directly to the right bank account, with the invoicing platform only ever facilitating the link and the reconciliation, never sitting in the middle of the money itself.

UPI QR as the simpler alternative

Not every invoice needs a full Razorpay integration. A UPI QR code printed directly on the invoice PDF — generated for the exact amount due — lets a customer pay in seconds from any UPI app, with no Razorpay account needed on either side. It's a good default for straightforward, single-payment invoices; a Razorpay link becomes more valuable when you want automatic reconciliation without checking your bank statement against every invoice by hand, or want to offer card/netbanking as options too.

Settle supports both: every invoice PDF carries a scannable UPI QR by default, and connecting your own Razorpay account is optional — for invoices where a card or netbanking option matters, or where you want the "paid" status to update itself the moment the client pays.

Get paid without the manual reconciliation step

UPI QR built into every invoice, with optional Razorpay payment links that reconcile automatically — free during early access.

Create your free workspace →