Skip to content
AdvancedPremiumFinance & AccountingWebhook trigger11 nodes

Verify a Razorpay payment webhook and receipt the customer on WhatsApp

Verifies a Razorpay webhook's HMAC signature over the raw body, records the payment in PostgreSQL with an idempotent insert, and sends the customer a WhatsApp receipt carrying the payment reference.

Razorpay has no dedicated n8n node, so this is a webhook with Raw Body enabled — necessary because the signature must be computed over the exact bytes Razorpay sent, and re-serialising the JSON breaks it. Razorpay is answered immediately, before any work, so a slow run never turns into a retry queue. A Code node then computes HMAC-SHA256 with the webhook secret, compares it to the header in constant time, and flattens the payment entity in the same pass with the amount converted from paise. An IF sends anything that fails to a Stop And Error. Verified payments go into PostgreSQL through a parameterised INSERT … ON CONFLICT DO NOTHING keyed on the payment id, so Razorpay's normal retries cannot double-count revenue, and the customer gets a WhatsApp receipt with the reference they would quote in a dispute. Failures route to an error rail on Slack.

Key benefits

  • The webhook signature is actually verified, so nobody can write fake payments into your ledger
  • Raw-body handling means the HMAC matches — the mistake that silently breaks most Razorpay integrations
  • ON CONFLICT DO NOTHING makes Razorpay's retries harmless instead of double-counting revenue
  • The customer gets a WhatsApp receipt with the payment reference, on the channel they read
  • No Razorpay API key is needed — the workflow only receives, so there is nothing to leak

Use cases

  • Indian businesses taking payments through Razorpay with no ledger of their own
  • Teams reconciling Razorpay against orders by exporting CSVs
  • Anyone who built a Razorpay webhook without signature verification and knows it
  • Merchants whose customers ask for a payment reference days later

Integrations

HTTP / REST APIPostgreSQLWhatsAppSlack

Workflow preview (11 nodes)

The template's actual node layout and connections. Node parameters and credential slots unlock with the download.

Razorpay WebhookWebhookReply to Razorpay FirstRespond To WebhookVerify the Razorpay Sig…CodeSignature Valid?IfRefuse Unverified Payme…Stop And ErrorConfirm With the Razorp…Http RequestCaptured on Razorpay's …IfRecord the PaymentPostgresReceipt the CustomerWhats AppCapture Payment Handlin…SetEscalate to FinanceSlack

What's inside (11 nodes)

A look at the node types this workflow uses. No purchase required — full parameters and credentials are yours after you buy.

CodeHttp RequestIfPostgresRespond To WebhookSetSlackStop And ErrorWebhookWhats App

From download to running in 3 steps

  1. 1
    Import. In n8n, open Workflows → menu → “Import from File” and pick the downloaded JSON.
  2. 2
    Connect. Add your own credentials on the app nodes - n8n highlights exactly which ones need them.
  3. 3
    Activate. Run it once to test, then toggle Active. The automation is live.

What you'll learn

Production level

Production-grade: idempotency, dead-letter handling, and reconciliation included.

  • Moving data between PostgreSQL and Slack in a single run
  • Failing loudly on a bad run instead of letting it pass silently
  • Adding retries and an explicit error path to external calls

Every node carries its own documentation on the canvas, plus notes explaining why the architecture was built this way, a credential setup guide, troubleshooting, and three practice exercises. Sample data comes pinned to the trigger, so you can hit Execute and watch data flow before connecting a single account.

Common questions

What exactly do I get?

The complete, ready-to-import n8n workflow as a JSON file, delivered instantly after payment. Import it into your own n8n (cloud or self-hosted), add your credentials, and it runs.

How do I import it into n8n?

In n8n, open Workflows, click the three-dot menu, choose “Import from File”, and select the downloaded JSON. Then connect your own app credentials on the highlighted nodes.

Do I need anything else for it to work?

You need your own n8n instance and accounts/credentials for the apps this workflow connects to (HTTP / REST API, PostgreSQL, WhatsApp, Slack). No coding is required.

What if it doesn't work for me?

If the file is faulty, won't import, or isn't as described, contact us within 7 days and we'll fix it or refund you - see our refund policy.

Can I modify or resell it?

You can freely adapt and use it in your own or your clients' projects. Reselling or redistributing the template file itself is not permitted.

Original n8n workflow template created and owned by WorkflowCrate. After purchase you receive the ready-to-import JSON file and a license to use and adapt it in your own projects.