Stripe Webhook Integration with WebhookBeam
Stripe can send a webhook every time something happens in your account: a customer pays, a subscription renews, a refund goes out, or a dispute opens. When you point those webhooks at WebhookBeam, each event becomes a push notification on your iPhone or Android phone within seconds.
This guide takes about 5 minutes. You don't need to write code, and you never share your Stripe API keys.
Already have a webhook endpoint for your app? Keep it. Stripe sends each event to every destination you register, so WebhookBeam simply runs alongside your existing integration.
What you need
- The WebhookBeam app for iOS or Android, with a free account.
- Access to your Stripe Dashboard with permission to manage webhooks (Administrator or Developer role).
Set up Stripe webhooks
1. Create your webhook URL in the WebhookBeam app.
Create a new webhook, set the Service name to Stripe, and give it a name such as
New sale. The title and description you enter become the text of each push
notification, for example 💰 New Stripe sale. Tap Save and copy the
webhook URL. If this is your first webhook, follow
Create your first webhook URL.
Tip: create one WebhookBeam webhook per type of alert, such as one for sales and one for refunds. Each one gets its own title, so you can tell them apart at a glance on your lock screen.
2. Open the Webhooks tab in Stripe Workbench.
Log in to the Stripe Dashboard. Open Workbench, Stripe's developer panel inside the Dashboard, then select the Webhooks tab. On older accounts that still show the Developers Dashboard, go to Developers → Webhooks instead.
3. Click 'Add destination' and choose your events.
Choose Events on your account, keep the default API version, and select the events you want a notification for. For sales alerts, start with one of these:
checkout.session.completedif you use Stripe Checkout or Payment Links.payment_intent.succeededif you take payments through your own payment form.invoice.paidif you sell subscriptions.
Pick only the events you care about. Every event Stripe sends counts toward your monthly notification limit. See the event table below for more options.
4. Paste your WebhookBeam URL and create the destination.
Choose Webhook endpoint as the destination type. Paste the URL you copied in step 1
into Endpoint URL, add a description such as WebhookBeam alerts, and
click Create destination.
5. Send a test event.
In test mode or a sandbox, pay for something using Stripe's test card 4242 4242 4242 4242
with any future expiry date and any CVC. If you use the
Stripe CLI,
you can trigger an event directly:
stripe trigger payment_intent.succeeded
Test and live mode are separate in Stripe. A destination you create in test mode only receives test events. When everything works, repeat steps 2–4 in live mode.
6. Get the push notification on your phone.
Within a few seconds, WebhookBeam sends the notification to your phone. You can also open the app to see the full Stripe payload in your notification history.
Which Stripe events to choose
| Event | When Stripe sends it | Good for |
|---|---|---|
checkout.session.completed | A customer finishes a Checkout or Payment Link purchase | New sale alerts |
payment_intent.succeeded | Any payment succeeds | New sale alerts with a custom checkout |
payment_intent.payment_failed | A payment attempt fails | Spotting checkout problems |
invoice.paid | A subscription invoice is paid, including renewals | Recurring revenue alerts |
invoice.payment_failed | A subscription renewal fails | Catching failed renewals early |
customer.subscription.created | A new subscription starts | New subscriber alerts |
customer.subscription.deleted | A subscription ends | Churn alerts |
charge.refunded | A charge is fully or partly refunded | Refund monitoring |
charge.dispute.created | A customer opens a dispute (chargeback) | Responding before the deadline |
Show the amount and customer in each notification
On the Pro plan, you can put values from the Stripe payload into your notification description
using placeholders. A placeholder is the path to a field, with dots between levels, wrapped in
curly braces. Stripe puts the main object of each event under data.object.
For checkout.session.completed, the payload looks like this (shortened):
{
"type": "checkout.session.completed",
"data": {
"object": {
"amount_total": 4900,
"currency": "usd",
"customer_details": {
"name": "Jane Cooper",
"email": "jane@example.com"
}
}
}
}
Set the description of your WebhookBeam webhook to:
{ data.object.amount_total } { data.object.currency } from { data.object.customer_details.name }
and the notification on your phone reads 4900 usd from Jane Cooper.
Useful fields for other events:
payment_intent.succeeded:data.object.amount_received,data.object.currencyinvoice.paid:data.object.amount_paid,data.object.customer_emailcharge.refunded:data.object.amount_refundedcharge.dispute.created:data.object.amount,data.object.reason
Stripe sends amounts in the smallest currency unit, so 4900 means $49.00. If a field
doesn't exist in an event, the placeholder shows N/A.
Troubleshooting
- No notification arrives. In Stripe Workbench, open your destination and check its event deliveries. If Stripe shows the event as delivered, check that notifications are allowed for WebhookBeam in your phone's settings and that push notifications are turned on in the app.
- Test payments work but live ones don't (or the other way around). Destinations are separate for test and live mode. Add the WebhookBeam URL in both.
- You get notifications for events you don't want. Edit the destination in Stripe and remove those events, or create a separate WebhookBeam webhook for them.
- Notifications stopped during the month. The Free plan includes 20 notifications per month. See pricing for higher limits.
FAQ
Does WebhookBeam replace my existing Stripe webhook endpoint?
No. Stripe lets you register several event destinations, so add WebhookBeam next to your existing endpoint. Your server keeps handling orders and access, and WebhookBeam sends you the alerts.
Do I need to share my Stripe API key or signing secret?
No. WebhookBeam only needs Stripe to send events to your webhook URL. You never paste API keys or
the whsec_ signing secret into WebhookBeam.
Can I get alerts on my computer or by email too?
Yes. Besides iOS and Android push notifications, WebhookBeam can show alerts in your web dashboard and send them by email. Turn each channel on or off in your account settings.