You made a sale. How long until you find out?
For most of us the answer is "whenever I next open the dashboard". This page lists every way to close that gap for the five platforms indie founders use most. It covers the free options built into each platform, webhooks you can wire up in ten minutes, automation tools, and the paid Mac apps. Each one comes with what it costs and where it falls short.
Everything here was checked against each vendor's own site or docs on October 22, 2026. Prices change, so follow the links before you buy.
The short answer
- Free and good enough for most people: your platform's own phone app with push turned on. Stripe, Shopify, Polar, Dodo and Gumroad all have one. Paddle doesn't.
- Free, on your desktop, no code: Polar → Discord or Slack (native), or any JSON webhook → ntfy using the template trick below.
- Free, on your Mac, from your own scripts: Slap Alert's JSON inbox (ours). It needs no licence or trial: anything that can write a small file can make its monkey slap a note, which makes it handy for Gumroad, Lemon Squeezy or webhook scripts. See below.
- Free with a little glue: Zapier's free plan with Stripe's "New Charge" trigger.
- Paid Mac apps: NotchBuddy, SlapMetrics, Cashanova, Cha-Ching, BetterNotif and Slap Alert all start at about $10–$20 one-time, or a few dollars a month. They differ mostly in which platforms they read and how loud they are.
Comparison table
| Option | Cost (checked Oct 22, 2026) | Platforms | Where it alerts you | Setup |
|---|---|---|---|---|
| Stripe Dashboard app | Free | Stripe | iOS/Android push, lock-screen widgets | 2 min |
| Stripe email | Free | Stripe | Email per payment | 1 min |
| Shopify app + staff emails | Free | Shopify | Push (Cha-Ching sound on Android), email | 2 min |
| Polar webhooks → Discord/Slack | Free | Polar | Any device running Discord or Slack | 5 min |
| Polar iOS app | Free | Polar | iOS push (iOS 16.4+) | 2 min |
| Dodo Communication preferences | Free | Dodo Payments | Email, in-app, push via Dodo's apps | 3 min |
| Paddle email destination | Free | Paddle | Email per event | 3 min |
| Webhook → ntfy | Free | Stripe, Shopify, Polar, Dodo, Paddle (any JSON webhook) | Phone, browser, desktop | 10 min |
| Slap Alert JSON inbox (ours) | Free, no licence or trial needed | Anything a script on your Mac can read: Gumroad, Lemon Squeezy, ntfy, signups, deploys | Mac: a monkey slaps a note on screen | 10 min |
| Zapier | Free: 100 tasks/mo; Pro from $19.99/mo (annual) | Stripe and thousands of apps | Slack, email, SMS and so on | 10 min |
| Make | Free: 1,000 credits/mo | Many | Same | 15 min |
| ChaChing Alerts | $4.49/mo after the free period | Stripe (up to 10 accounts) | Browser tab, Slack, Discord | 5 min |
| Shopify "Cha-Ching: Order Notifications" | $3.99 or $9.99/mo | Shopify | Browser tab; Sonos on Premium | 5 min |
| NotchBuddy | $10 one-time direct; Mac App Store free + $19.99 unlock | Stripe, RevenueCat, Lemon Squeezy, Polar, Paddle, Dodo, Gumroad, App Store Connect | Mac notch | 5 min |
| SlapMetrics | $9.99 one-time "launch pricing", then $19.95 | Stripe (plus GA4, Search Console, Datafast) | Mac, with meme sounds | 5 min |
| Cashanova | $20 one-time | Stripe, PayPal, Wise | Mac + iOS | 5 min |
| Cha-Ching | Free; Pro $4.99/mo | Stripe, PayPal, Shopify, RevenueCat | Mac (macOS 15+) | 5 min |
| BetterNotif | $9.99 | Stripe | Native macOS notifications | 5 min |
| MRRDock | Free, open source (MIT) | Stripe, RevenueCat, Paddle, Lemon Squeezy, Polar, Dodo, Gumroad | Mac menu bar; Discord/Slack milestones | 10 min |
| Slap Alert | US$19 one-time (US$12 for the first 50 buyers from Oct 26 to Nov 2); 7-day trial; script inbox free | Stripe, Paddle, Polar, Dodo, RevenueCat, Shopify (slapalert.com download only), App Store (daily note) | Mac menu bar: a pixel monkey slaps a sticky note on screen per sale; MRR, ARR and all-time revenue; shareable cards for X | 5 min |
Free options built into each platform
Stripe: the Dashboard app and email
The Stripe Dashboard app for iOS and Android can push new payments, new customers, disputed payments, deposited transfers and a daily summary. On iOS you also get lock-screen widgets. It only shows live-mode data, so test payments won't ping you.
- Install the Stripe Dashboard app and sign in.
- Open the app's notification settings and switch on the events you want, starting with new payments.
- Allow notifications for the app in your phone's settings.
For email, each team member sets their own preferences. Go to Settings → Personal details → Communication preferences and tick successful payments (Stripe docs). This is fine at five sales a day and noisy at fifty.
Shopify: the app, staff emails and the Cha-Ching sound
The New order staff email goes to the account owner by default. You can add more recipients under Settings → Notifications → Staff notifications (Shopify Help).
For push, open the Shopify app and go to Settings → Store notifications, then switch on New orders. The famous cha-ching sound is Android-only. You install the separate Shopify Sounds app, and iOS doesn't support custom per-app sounds (Shopify troubleshooting).
Polar: Discord or Slack with zero code
Polar's webhooks have built-in Discord and Slack formatting. This is the easiest free desktop alert on the list.
- In Discord, open Server Settings → Integrations → Webhooks, create a webhook for a channel, and copy its URL (Discord's guide). In Slack, create an incoming webhook instead.
- In Polar, go to your organization settings, find Webhooks and click Add Endpoint.
- Paste the URL. Polar detects Discord or Slack and picks the format for you.
- Subscribe to
order.paidand save.
Polar also has an official iOS app that sends sale notifications. It needs iOS 16.4 or later.
Dodo Payments: push, email and in-app
Go to Settings → Communication in the Dodo dashboard. Each event, such as Payment Received or Payment Failed, can go to email, in-app or push, and you can add team recipients (Dodo docs). Push needs Dodo's app, which runs on iOS, Android, macOS, Windows and Linux.
Paddle: an email destination
Paddle has no official mobile app. Third-party iPhone apps exist, but we haven't tested them. What Paddle does have is notification destinations, which can be a webhook URL or an email address.
- Go to Paddle → Events → Notifications and click New destination.
- Set the type to email and enter your address.
- Subscribe to
transaction.completedand save.
Simulated events only go to URL destinations, so you won't see an email until a real transaction completes.
Free desktop and phone alerts with webhooks and ntfy
ntfy is an open-source push service. You publish to a topic with a plain HTTP POST, with no account needed, and receive on the Android or iOS app or the web app with browser notifications. Pick a long, random topic name, because on the public ntfy.sh server the topic name works as the password.
You might expect to need a small server to turn a Stripe or Shopify webhook into a readable message. You don't: ntfy can template the incoming JSON itself (template docs). We tested the templates below against ntfy 2.32 using sample Stripe and Shopify payloads.
Stripe (amounts are in cents):
- In Stripe, open Workbench → Webhooks → Create new destination (docs).
- Choose events on your account and the snapshot payload, select
checkout.session.completed, then pick Webhook. - Use this endpoint URL, replacing
YOUR-TOPIC:
https://ntfy.sh/YOUR-TOPIC?tpl=yes&t=Stripe&m=New%20sale%3A%20%7B%7Bdiv%20.data.object.amount_total%20100%7D%7D.%7B%7Bprintf%20%22%2502d%22%20%28mod%20.data.object.amount_total%20100%29%7D%7D%20%7B%7Bupper%20.data.object.currency%7D%7D
Decoded, the message template is New sale: {{div .data.object.amount_total 100}}.{{printf "%02d" (mod .data.object.amount_total 100)}} {{upper .data.object.currency}}. A $19 checkout arrives as "New sale: 19.00 USD".
Shopify: go to Settings → Notifications → Webhooks → Create webhook, choose the Order payment event and JSON format (Shopify Help), and use:
https://ntfy.sh/YOUR-TOPIC?tpl=yes&t=Shopify%20order%20%7B%7B.name%7D%7D&m=%7B%7B.total_price%7D%7D%20%7B%7B.currency%7D%7D
The same idea works for Dodo (payment.succeeded) and Paddle (transaction.completed) webhooks. Adjust the field paths to match their payloads.
Caveats:
- ntfy doesn't verify the webhook's signature.
- Keep customer names and emails out of the message on a public server.
- Shopify deletes a webhook after repeated failed deliveries, so check it still exists if alerts stop.
Free on your Mac: Slap Alert's JSON inbox
This one is ours, so weigh it accordingly. Slap Alert watches a folder, ~/Library/Application Support/Slap Alert/Inbox/. Drop a small JSON file in it and the app's pixel monkey slaps a note on your screen, then deletes the file. This part is free: it doesn't need a licence, and it keeps working after the 7-day trial ends. Only the built-in Stripe, Paddle and other connections pause.
Write the file under a temporary name, then rename it, so the app never reads half a file:
cd ~/Library/Application\ Support/Slap\ Alert/Inbox/
echo '{"kind":"sale","headline":"New sale!","who":"Jane Doe","detail":"Gumroad: Pro plan","amount":19,"currency":"USD","id":"gumroad-123"}' > .sale-123.tmp
mv .sale-123.tmp sale-123.json
Only kind and headline are required. kind is sale, renewal, onboarding (a signup), mobile_sale or mobile_renewal. who, detail and at (an ISO 8601 time) are optional. For a real sale, amount (in dollars, not cents), currency and id let it count toward milestone cards without counting the same sale twice.
A webhook can't reach your Mac directly, so something on the Mac has to write the file. That can be a script that checks Gumroad or Lemon Squeezy, a cron job, or the ntfy CLI. ntfy subscribe YOUR-TOPIC COMMAND runs a command for every message, with the title and body in $NTFY_TITLE and $NTFY_MESSAGE, so the webhook → ntfy recipe above can end in a slap on your screen. We haven't tested that pairing end to end.
Zapier and Make
Zapier's Stripe New Charge and Failed Payment triggers are instant, and there is a ready-made Stripe → Slack template. The free plan gives you 100 tasks a month and two-step Zaps. That's enough for one sale alert if you make fewer than about 100 sales a month. Zapier's generic webhook steps need a paid plan, which starts at $19.99 a month billed annually.
Make's free plan includes 1,000 credits a month. It's more room, with a steeper learning curve.
Use these when the alert should do something, such as post to Slack, add a row to a sheet or text a co-founder. For a simple "you made money" ping, the native options above are simpler.
Mac apps that alert you to sales
Most of these connect with read-only API keys or webhooks, so they can't move your money. The exception is Lemon Squeezy, which doesn't offer read-only keys, so any app that reads it holds a full key. Check which platforms each one actually reads, because that's the biggest difference between them.
- NotchBuddy shows a cha-ching pill in the MacBook notch. It's $10 one-time direct (one Mac per licence, 14-day refund, no trial), or free on the Mac App Store with a $19.99 unlock. It covers the most platforms of any app here, Gumroad and Lemon Squeezy included. It checks Stripe every 3 minutes.
- SlapMetrics goes for fun, with meme sounds, emoji rain and a "scream" on refunds. Its sales alerts are Stripe-only; it also reads GA4, Search Console and Datafast. It's $9.99 "launch pricing", then $19.95, with a 7-day trial.
- Cashanova costs $20 one-time and covers Stripe, PayPal and Wise on Mac and iOS. You get a ka-ching or Mario-coin sound.
- Cha-Ching is free to set up, with Pro at $4.99 a month on the Mac App Store. It covers Stripe, PayPal, Shopify and RevenueCat and needs macOS 15.
- BetterNotif costs $9.99 and sends Stripe sales as native macOS notifications.
- CashNotify covers Stripe and PayPal on Mac and Windows and checks every minute. The homepage doesn't list a price.
- MRRDock is free and open source (GitHub). It's an MRR tracker rather than a per-sale alert, with milestone pings to Discord or Slack and a daily summary.
- ChaChing Alerts isn't a Mac app, but it's worth knowing about. It's a browser tab fed by Stripe webhooks, at $4.49 a month after a free period.
Slap Alert is ours, so weigh this paragraph accordingly. It's a menu-bar app. A pixel monkey hangs in the top-right corner of your screen, and when a sale comes in he swings down and slaps a sticky note on screen with who paid and how much. The note floats above your windows, including full-screen apps, and stays until you click it. Yellow is a new sale or subscriber, blue a renewal, green a signup, grey stamped TEST a test-mode payment, and grey-blue a refund or failed payment. It also tracks your revenue. Open Revenue… from the monkey's menu for Today, This Week and All Time (past Stripe and RevenueCat sales minus refunds, before fees), plus current MRR and ARR, where ARR is MRR × 12. These are figures, not charts, and other platforms don't have history yet. You can also show today's total next to the monkey in the menu bar. Sharing is half the point. Milestones (your first sale, the $100, $1k and $10k clubs, a new best day), any real sale, and your Revenue, MRR or ARR figure each become a 1200×675 card you can copy, save or post to X. From version 1.6.2 the cards can carry your product name and logo. Amounts stay hidden until you turn them on, and customer names never appear. It checks Stripe, Paddle, Polar and Dodo Payments every 30 seconds and RevenueCat every minute. Shopify paid orders arrive by webhook in about 30 seconds, but only in the version downloaded from slapalert.com. For the App Store you get one summary note each morning. If you sell on Gumroad or Lemon Squeezy, the do-it-yourself route is the free JSON inbox above, fed by your own script or by a webhook passed through ntfy. It costs US$19 one-time (US$12 for the first 50 buyers from Oct 26 to Nov 2), with a 7-day free trial, a 14-day refund and one licence for all your own Macs. It needs macOS 14 or later. If you want Gumroad supported natively, NotchBuddy and MRRDock cover it.
Which one should you use?
- One platform, phone is fine: use the platform's own app. It's free and already maintained.
- Polar seller who lives in Discord: native webhook, five minutes, done.
- Stripe or Shopify, want desktop alerts for free: webhook → ntfy, then open the ntfy web app or install the phone app.
- You want the alert to trigger other work: Zapier or Make.
- Several platforms and you want it on your Mac without maintaining anything: pick a Mac app by its platform list first and its personality second.
- You want to post milestones, MRR or ARR on social: look for an app that makes shareable cards. Slap Alert (ours) does, with amounts hidden by default.
- Custom scripts, or a platform no app reads: write to Slap Alert's free JSON inbox (ours), or send it to ntfy.
FAQ
Does Stripe have a notification sound?
Stripe doesn't document a desktop sale sound. The Stripe Dashboard app sends push notifications for new payments, which use your phone's normal notification sound. For a sound on your Mac, you need a webhook to something like ntfy or Discord, or a third-party app.
How do I get Stripe notifications on my iPhone?
Install the Stripe Dashboard app, turn on new-payment notifications in its settings, and allow notifications in iOS settings. The app also has lock-screen widgets. It only shows live-mode data.
Why are my Shopify order notifications not working?
First, check that New orders is on under Settings → Store notifications in the Shopify app and that your phone allows notifications for it. For email, check Settings → Notifications → Staff notifications. If you rely on a webhook, check it still exists: Shopify removes webhooks that keep failing.
Can I change the Shopify notification sound?
On Android, yes: install the Shopify Sounds app to get the cha-ching. On iPhone, no, because iOS doesn't allow custom per-app notification sounds.
How do I get Gumroad sale notifications?
Install the Gumroad mobile app and allow push notifications, or set up Gumroad Ping, which POSTs every sale to a URL you choose. Ping sends form-encoded data rather than JSON, so the ntfy template trick above won't parse it. On a Mac, a small script that checks your Gumroad sales can also drop a file into Slap Alert's free JSON inbox (ours) to get a note on screen.
Is there a free way to hear sales on my Mac?
Yes. Send your platform's webhook to ntfy or Discord and keep the ntfy web app or Discord open. Polar has the simplest setup, because Discord and Slack formatting is built in. If you'd rather see a note slapped on screen, any script on your Mac can write to Slap Alert's JSON inbox (ours), which is free with no licence or trial.