Sales & Notifications · n8n

Stripe Payment Notifier: a cha-ching in Slack for every successful payment — with context

An n8n workflow that listens to Stripe's payment webhooks and posts a rich notification to Slack or Telegram for every successful charge: customer, product, amount, whether they're new or returning, and running total for the month.

difficulty Beginnersetup 20 minresult The whole team feels every sale, and month-to-date revenue is always one glance away
  1. 1

    Register the webhook in Stripe

    Add a Webhook node in n8n, copy its URL into Stripe Dashboard → Developers → Webhooks, event charge.succeeded. Copy the signing secret Stripe generates back into the workflow's verification step.

  2. 2

    Verify the signature

    A Code node recomputes the HMAC from the raw body and the signing secret and compares it to the stripe-signature header. Mismatch = stop. This is the difference between a payment feed and an open endpoint anyone can spoof.

  3. 3

    Enrich the event

    A Stripe node fetches the customer to check if this is their first charge (new vs returning), and a Google Sheets node reads + increments the month-to-date total. All local math, no AI needed.

  4. 4

    Post the cha-ching

    A Slack node posts: 💸 $149 — Pro Plan — Jane D. (returning) — MTD: $8,420. New customers get a 🎉 variant. Mute the channel if you must; most teams don't want to.

Frequently asked questions

Why not just use Stripe's own email notifications?

Stripe's emails go to one inbox and say almost nothing. This posts to a shared channel with the customer's name, what they bought, first-purchase vs repeat, and your month-to-date total — turning each sale into a team moment and a live KPI. Plus you can branch it: big payments could also SMS the founder.

Does it handle refunds and failed payments?

The workflow subscribes to charge.succeeded by default; the workflow file includes a second, disabled webhook path for charge.refunded that posts in red with the amount subtracted from the running total. Enable it in one click. Failed payments deserve their own recipe (dunning) rather than channel noise.

Is the webhook secure?

Yes — the workflow verifies Stripe's webhook signature (the signing secret you paste from the Stripe dashboard) in a Code node before trusting the payload. Unsigned or tampered requests are dropped. Never skip this step on payment webhooks.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.