POST/billing/stripe/webhook
Receive a Stripe webhook
Operation billing.stripe.webhook.receive
Description
Receives Stripe events and, for paid invoices, records the subscription binding for the organization and links it to RevenueCat. The caller is Stripe, authenticated by the Stripe-Signature header over the exact raw body rather than by a session. The server re-fetches the subscription from Stripe instead of trusting the event body.
Authentication
No session is required.
Parameters
| Name | In | Type | Details |
|---|---|---|---|
stripe-signature | header | string | optional |
Request body
application/jsonobject with any fields
Responses
200 OK
application/jsonStripeWebhookResponse
Acknowledges a Stripe delivery.
2 fields
receivedbooleanrequired- always
true
- always
outcomestringrequired- one of
associated,ignored,reconciled
associatedwhen a first paid invoice bound the subscription,reconciledwhen a renewal refreshed it,ignoredotherwise.- one of
Other fields are allowed.
Other responses
| Status | Meaning | Body |
|---|---|---|
| 401 | Unauthorized |
|
| 500 | Internal Server Error |
|
| 503 | Service Unavailable |
|
Additional rules
The server also enforces these rules, which the schema above cannot express.
Stripe-Signature must authenticate the exact raw request body within the replay tolerance.