How to get Stripe payment notifications on every device

Forward your Stripe webhooks to LogsNinja and every payment, failed charge and cancellation becomes a native alert on iOS, Android, Windows, macOS and Linux – and a point on a live revenue chart.

New subscription – $49payments ·

Choose your Stripe events

Start with the four events that cover payments, failures and cancellations. You can add more later.

  • checkout.session.completed – a customer completes checkout for a one-time payment or a new subscription.
  • invoice.payment_succeeded – a recurring invoice is paid, including subscription renewals.
  • invoice.payment_failed – a charge or renewal fails, often the first sign of a card problem.
  • customer.subscription.deleted – a subscription ends, whether cancelled immediately or at period end.
FROM WEBHOOK TO EVENT

Inside your Stripe webhook handler, forward the fields that matter.

Verify the Stripe signature first, then send one HTTP call to LogsNinja with the amount as metadata – it powers both the alert and the revenue chart.

$ curl -X POST https://api.logsninja.com/v1/events \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "project": "YOUR_PROJECT_ID",
    "stream":  "payments",
    "title":   "New subscription",
    "content": "[email protected] subscribed to Pro",
    "emoji":    "💳",
    "metadata": {"plan": "pro", "amount": 49},
    "notify":   true
  }'

✓ Event received
✓ Push sent to 2 devices
# revenue chart updated

Ship it safely

Verify before you trust

  • Check the Stripe-Signature header against your webhook signing secret before processing anything.
  • Keep your Stripe secret key and your LogsNinja API token out of client-side code.
  • Never forward full card numbers or CVCs – Stripe never sends them to your webhook either.

Handle retries

  • Stripe retries undelivered webhooks – return 200 quickly and process asynchronously if needed.
  • Use the Stripe event ID as an idempotency key so a retried webhook does not create a duplicate alert.
  • Log delivery failures on your side; LogsNinja events sent later still land in the right chart.

Build these charts on your dashboard

Every widget below reads the same events you just started sending – no second integration. Revenue today sums the amount metadata on the payments stream; the others count events by title.

$1,240
Revenue todayUpdated
37
Successful paymentsUpdated
2
Failed paymentsUpdated
1
CancellationsUpdated

Example values shown for illustration.

Frequently asked questions

Do I need to change my Stripe integration?

No. Keep your existing Stripe webhook endpoint. Add one HTTP call to LogsNinja inside your existing handler, after you verify the signature.

Which Stripe events should I add later?

customer.subscription.created for new trials, charge.refunded for refunds, and invoice.payment_action_required if you support 3D Secure.

Is it safe to send the payment amount to LogsNinja?

Yes. The amount is stored as event metadata, the same field used to power your revenue chart. Never send full card numbers or CVCs – Stripe does not send them to your webhook in the first place.

Turn your next Stripe event into an alert.

Send your first event and see it become a native notification and a chart update in seconds.