Support · Set up

Registering the webhook endpoint

Webhook registration takes two minutes in the Stripe dashboard and unlocks real-time detection. The URL is specific to your organisation because several critical events carry no account identifier.

Why one endpoint per organisation

Balance and payout events carry no connected-account field, so routing rides entirely on URL structure. Per-org endpoints make attribution deterministic even with many tenants.

The eight events to enable

charge.refunded · application_fee.refunded · charge.dispute.created · charge.dispute.closed · transfer.reversed · payout.failed · balance.available · account.application.deauthorized. Each unlocks a specific detector behaviour documented in the reference.

Adding and verifying

Developers → Webhooks → Add endpoint; paste the URL shown in settings; select the eight events; send a test delivery and confirm a 200 response.

Older shared endpoints

Legacy tenants may still use the shared endpoint; it keeps working. Migration guidance exists in settings when you are ready.

Common questions

What if deliveries show non-200 responses?

Check the troubleshooting article on failing scans; usually a runtime mismatch or route typo, both visible in delivery logs.