- Free and fastest: turn on successful-payment notifications in the Stripe Dashboard (Settings → Notifications) and install the Stripe mobile app for a push on every charge.
- Into Slack, email, or SMS: Zapier's Stripe trigger posts a message to your team the moment a payment succeeds. Reliable and quick to set up.
- A live counter in your menu bar: dedicated apps like CashNotify and Totals show Stripe revenue at a glance. Well made and popular.
- The shared ceiling: all of these are triggered by a payment, so they can only report the payment — an amount and a timestamp. They can't name the buyer or their plan.
- The fix is identity, not another channel. Crossdeck joins the sale to the customer, so the alert names who bought, which plan, and their lifetime value — on one timeline, read from your live data, never estimated.
- Delivered to Telegram, and you can ask back. The alert lands in a private chat, and with a model connected in the Prism tab you can ask "is this a new customer or an upgrade?" and get an answer off your live numbers.
Definitions used in this guide
An alert sent when a Stripe charge succeeds. In its basic form it reports the amount and the time — that a sale happened, and for how much.
Any alert triggered by a single payment event. It can carry only what the payment carries: an amount, a currency, a timestamp — not the person behind it.
Crossdeck joining revenue, entitlements, analytics and errors by identity, so a payment resolves to a customer and lands on that customer's one timeline.
What a customer has paid you across their whole relationship. It lives in revenue history, not in any single charge — so a payment ping can't show it.
What a customer is actually entitled to — the plan or tier behind the charge. Naming it in an alert requires joining the payment to the entitlement record.
Crossdeck's plain-English question tool in the Telegram bot. It answers off your live numbers using your own connected AI model and key — once you connect one in the Prism tab.
How to get notified of a new Stripe sale: the short answer
To get a Stripe sale notification, turn on Stripe's own successful-payment alerts in the Dashboard and install the Stripe mobile app for a push on every charge — that is the free, five-minute answer. If you want the sale to show up somewhere your team already works, send Stripe's payment event to Slack, email, or SMS with Zapier. If you want a running revenue figure sitting in your menu bar all day, a dedicated app like CashNotify or Totals does exactly that. Each of these is a good tool, and for the plain question — did I just make a sale, and for how much? — any of them answers it.
So this guide does two things. First, it sets each option up properly, because a "get an alert when you make a sale" search deserves real setup steps, not a pitch. If you never read past the Zapier section, you will still leave with working notifications. Second, once the free and paid options are on the table, it is honest about the one thing they all stop short of. Every method below is triggered by a payment, which means every one of them can only ever tell you about the payment. The moment you want the alert to answer the next, more useful question — who was that, and are they a new customer or an existing one growing? — you have left what a payment-triggered alert can do. That gap, and how an identity-joined alert closes it, is the back half of the article.
The free way: Stripe's own notifications and mobile push
Start here, because it costs nothing and takes minutes. Stripe can notify you of every successful payment through the Dashboard and through its mobile app, and for a lot of small teams that is genuinely enough.
- Turn on email notifications. In the Stripe Dashboard, open Settings → Notifications. Enable the notification for successful payments (and, while you are there, consider failed-payment and dispute notifications too). Stripe will email the account's team members when a charge succeeds.
- Install the Stripe Dashboard mobile app. On iOS or Android, sign in, and enable push notifications for your account. From then on your phone buzzes for each new payment — the closest thing to a real-time "cha-ching" Stripe offers natively.
- Tune who gets what. Notification settings are per-user in many cases, so each teammate can opt into the events they care about. If sales are frequent, be deliberate — an alert for every $5 charge stops being useful the day it becomes constant.
What you get is clean and immediate: a push that says a payment of a certain amount succeeded. What you do not get is anything about the person. Stripe's notification is scoped to the charge, so it reports the money and the moment, and stops. That is not a flaw — it is what a payment processor's alert is for. It just means that for a subscription business, the notification answers "how much" and leaves "who, on what plan, and worth what" for you to go look up by hand. Hold that thought; it is the whole point of the second half.
Slack, email, and SMS via Zapier
Stripe's own emails and pushes are fine for a founder's phone, but most teams want the sale to land where they already talk. The standard route is Zapier, and it is quick.
- Create a Zap with Stripe as the trigger. Choose a trigger like New Payment (or New Charge) and connect your Stripe account.
- Pick your channel as the action. Add a Slack "Send Channel Message" action, an email action, or an SMS action. Map the amount and any fields you like into the message body — for example, "New sale: {{amount}} at {{created}}."
- Test and turn it on. Run a test payment, confirm the message posts to your channel, and switch the Zap live. From then on, every successful Stripe charge posts to Slack (or email, or SMS) within a minute or two.
This is a good pattern and worth setting up — a sales channel that lights up on every payment is a nice heartbeat for a team. Just be clear-eyed about what travels through it. The message can only contain what the payment event contains, because that is what triggered it. You can format the amount nicely and add an emoji, but Zapier cannot enrich the alert with the customer's plan or lifetime value, because that information is not in the payment event — it lives in your customer and revenue history, which the Stripe trigger never touches. You will get a tidy "+$49" in Slack. You will not get "+$49 — Jordan, upgraded to Team, now worth $588."
Every method to get a Stripe sale notification, compared
Here is the honest comparison of the free and paid options above. Notice that the columns are all similar until the last one — because they are all reading the same payment layer.
| Method | Cost | Where it lands | What the alert can carry |
|---|---|---|---|
| Stripe email + mobile push | Free | Email, phone push | Amount and time of the charge |
| Zapier → Slack / email / SMS | Free tier / paid | Your team's channel | Amount and time, formatted |
| CashNotify / Totals | Paid app | Menu bar, native push | Amount, plus live revenue charts |
| Identity-joined alert (Crossdeck) | Free tier / paid | Telegram, private chat | Who bought, which plan, lifetime value |
The first three rows are the right answer to "how do I get notified of a Stripe sale." If that is all you needed, you are done — pick one and set it up. The last row is a different kind of answer, because it is built on a different layer, and the rest of this guide is about why that last column matters the day a "+$49" ping stops being enough.
The wall: a payment ping tells you "+$49" and nothing else
Here is the moment every growing subscription business hits. A sale notification fires. It says +$49. And your very next thought is a question the alert cannot answer: who was that? Was it a brand-new customer, or an existing one moving up a plan? Which plan did they take? What have they paid us before — is this someone worth $49, or someone worth $588 who just expanded? Has this account hit errors or failed charges in the past that I should know about before I celebrate? The payment ping is silent on all of it, and it is silent for a structural reason worth understanding.
A payment is a single-layer fact. An amount, a currency, a timestamp. That is the entire content of the event, and so that is the entire content of any alert triggered by it — whether the alert lands in Stripe's email, a Slack channel, or a menu-bar app. Everything you actually want to know about the sale lives in other layers: which plan maps to the charge lives in your entitlements; whether this is a new or returning customer lives in your customer records; the lifetime value lives in your revenue history; the past errors live in your error monitoring. A single-processor alert has no join to any of those layers, so it can report the money and only the money. It is not that the tools are underbuilt. It is that they are reading one layer and the answer lives across several.
This is the same shape of problem behind a lot of "why can't my tools just tell me" frustration — revenue in one place, customers in another, errors in a third, and no thread connecting them. We have written about the broader version of it in the complete guide to app revenue intelligence, and about the specific pain of watching money move in real time in seeing app revenue in real time before App Store Connect catches up. The sale alert is where the gap gets personal, because it is the exact moment you have a name-shaped hole in front of you and nothing to fill it with.
A sale alert that names the customer, their plan, and their value
The fix is not another notification channel. It is a different foundation under the alert. Crossdeck joins revenue, entitlements, analytics and errors by identity — the cross-match — so a Stripe sale resolves to a customer and lands on that customer's one timeline. The payment stops being the whole story and becomes one event on a person's history. And because the person's history is right there, the alert can carry what the payment ping never could.
Concretely, instead of "+$49," an identity-joined sale alert reads more like: New sale — $49. Jordan (existing customer) upgraded from Solo to Team. Lifetime value now $588. No open errors. Every one of those fields comes from a different layer, joined to one identity: the amount from the Stripe rail, the plan from entitlements, "existing customer" and the lifetime value from revenue history, the error status from error monitoring. None of it is estimated or guessed — every figure is read from your live Crossdeck data. (The names and numbers here are illustrative, but the shape of the alert is the real thing.)
Notice what changes about the alert's job. A payment ping ends a thought — a sale happened. An identity-joined alert starts one — this specific customer just grew, and here is their context. That is the difference between a notification you glance at and a notification you act on: you can reply to the new customer, flag the big-LTV upgrade to whoever owns the account, or notice that an expanding customer has a history of failed charges worth watching. If you have ever wanted your alerts to connect the sale to the rest of what you know about the buyer, that is the same instinct behind knowing when a paying customer hit a checkout error — an event is far more useful when it arrives with the person attached.
| The alert answers… | Payment ping (Stripe / Zapier / menu-bar) | Identity-joined alert (Crossdeck) |
|---|---|---|
| How much? | Yes — the amount | Yes — the amount |
| Who bought? | No | Yes — the named customer |
| New customer or an upgrade? | No | Yes — resolved from their history |
| Which plan did they take? | No | Yes — from entitlements |
| What are they now worth? | No | Yes — lifetime value to date |
| Have they hit errors before? | No | Yes — joined from error monitoring |
| Built on… | The payment, one layer | The customer's identity, all layers |
The last row is the whole argument. A payment ping is built on the payment, so it can only ever show you the payment. An identity-joined alert is built on the customer, so the sale arrives with its context attached. Same trigger — a Stripe charge — but a different foundation, and therefore a completely different alert.
Ask a follow-up: "is this a new customer or an upgrade?"
There is one more thing an identity-joined alert can do that a payment ping structurally cannot: hold a conversation. With Stripe's email, a Zap, or a menu-bar app, the message is the end of the exchange — if you want to know more, you go open the Dashboard and start digging. Crossdeck delivers its sale alerts through a Telegram bot, live today in a private chat with you, and the chat is two-way.
When a sale lands, you can do more than read it. You can open a Mini App dashboard for the fuller picture, or run hard-data commands right in the chat — /revenue for the numbers, /people for customers, /status for a health check. And if you want to just ask, that is what Prism is for: with /prism you can type a plain-English question — "is this a new customer or an upgrade?", "what has this customer paid us this year?", "how many upgrades did we get this week?" — and get an answer off your live numbers.
Two things matter about how Prism works, and both are the point. First, it runs on your own connected AI model, with your own key — you connect a model in the Prism tab first, and from then on the questions are answered by your model, not by anything Crossdeck runs on your data. Crossdeck never trains on your data; the model and the key are yours. Second, the answer is grounded in your live Crossdeck data, so it is not a guess or a generic estimate — it is your real history, read at the moment you ask. You can see how that works on the Prism page. A sale alert you can interrogate is a different tool than a sale alert you can only read.
One honest note on scope: today the bot runs in your private chat, one-to-one. Shared team and group chats are on the roadmap, not shipped — so for now, think of it as your own line to your numbers, not a team channel yet.
How to choose
None of this means you should rip out what works. The right choice depends on what you want the alert to do, and for many teams the answer is more than one tool.
- If you just want to know a sale happened: Stripe's own email and mobile push are free, native, and enough. Start there today.
- If you want the sale in your team's channel: add a Zapier → Slack Zap. It is the simplest way to give a team a shared revenue heartbeat.
- If you want a live revenue counter you glance at: CashNotify or Totals are well-made apps that do exactly that, with more polish than a raw feed.
- If you want the alert to answer the next question — who, which plan, worth how much: you need an alert built on the customer's identity, not the payment. That is the join Crossdeck makes, delivered to Telegram, with a follow-up you can ask.
The test is simple. Read your next sale notification and notice your very next thought. If it is "great," a payment ping is doing its job. If it is "wait — who was that, and are they growing?", that is the moment a payment ping runs out of road, and the moment an identity-joined alert earns its place. This post is part of a wider set on watching your business in real time — the hub is real-time business monitoring, and the closest neighbour is getting a proper new-customer signup notification, which is the same identity join pointed at the first gift rather than the next one.
If you want to see the alert with the customer attached rather than described, you can start free or look at how the cross-match works on cross-deck.com.
Frequently asked questions
How do I get notified when I make a Stripe sale?
The fastest free way is Stripe's own notifications: in the Stripe Dashboard, open Settings then Notifications and turn on successful payment alerts, and install the Stripe Dashboard mobile app to get a push on your phone for each new charge. For a channel your team already lives in, route Stripe's payment event to Slack, email, or SMS with Zapier. For a persistent count in your menu bar, dedicated apps like CashNotify or Totals show live Stripe revenue at a glance. All of these tell you a sale happened and for how much; none of them tell you who bought or what they are now worth.
Does Stripe send a notification for every sale?
Yes, if you turn it on. Stripe can notify you of each successful payment by email and by mobile push through the Stripe Dashboard app, and you control which events trigger a notification under Settings then Notifications. The alert reports the amount and that the charge succeeded. What it does not include is the context around the sale — whether the buyer is a brand-new customer or an existing one upgrading, which plan they took, or what they have paid you over their lifetime — because the Dashboard notification is scoped to the payment, not the person behind it.
What is the best app to get Stripe sale alerts?
It depends on what you want the alert to do. If you want a live revenue counter in your menu bar, dedicated apps such as CashNotify and Totals are well made and popular. If you want alerts in a shared channel, Zapier into Slack works well. If you want the alert itself to answer the next question — who bought, on what plan, and what they are worth now — you need a tool that joins the payment to the customer's identity and history, not just the processor's payment feed. That identity join is the difference between a payment ping and a sale alert you can act on.
Can I get Stripe sale notifications in Slack?
Yes. The common route is Zapier: use Stripe's new-payment trigger and a Slack action to post a message to a channel every time a charge succeeds. It is reliable and quick to set up, and it puts the sale where your team already talks. The limit is the same one every payment-triggered alert shares — the message carries only what the payment event carries, which is an amount and a timestamp. It cannot add the customer's plan or lifetime value, because that information does not live in the payment event; it lives in the history the payment event never sees.
Why doesn't a Stripe payment alert tell me who bought?
Because a payment alert is triggered by a payment, and a payment on its own is a single-layer fact: an amount, a currency, a timestamp. Whether that charge belongs to a new customer or an existing one upgrading, which plan it maps to, and what the person has paid you before all live in other layers — your customer records, your entitlements, your revenue history. A single-processor alert has no join to those layers, so it can only report the money. To name the buyer, an alert has to be built on the customer's identity, with the payment as one event on that customer's timeline rather than the whole story.
How do I get a sale alert that shows customer lifetime value?
You need an alert built on the customer, not on the charge. Crossdeck joins revenue, entitlements, analytics and errors by identity — the cross-match — so when a Stripe sale lands, the alert can name the customer, the plan they took, and their lifetime value to date, because all of that already sits on one timeline keyed to that person. The lifetime value is not estimated; it is read from the customer's real history in your live Crossdeck data. The alert is delivered to Telegram, in private chat, the moment the sale happens.
Can I get Stripe sale notifications in Telegram?
Yes. Crossdeck delivers sale alerts to Telegram through its bot, live today in a private chat with you. Beyond the alert, you can open a Mini App dashboard, run hard-data commands like /revenue, /people and /status, and — once you have connected a model in the Prism tab — ask questions in plain English with /prism. Every figure comes from your live Crossdeck data, never an estimate. Group and team chats are on the roadmap; today the bot runs in your own private chat.
Can I ask a follow-up question about a sale alert?
With most alert tools, no — the message is the end of the conversation. With Crossdeck's Telegram bot you can ask a follow-up through Prism, once you have connected your own AI model with your own key in the Prism tab. When a sale alert lands you can ask, in plain English, 'is this a new customer or an upgrade?' or 'what has this customer paid us this year?', and Prism answers off your live numbers using your own connected model. Crossdeck never runs AI on your data or trains on it; the model and the key are yours.
See it live on your own numbers
Connect your rails and get real-time alerts that name the customer, the plan, and the money — plus a Mini App and plain-English answers, live in Telegram. Free to start.