Webhooks
Event Types
All webhook events and their payload schemas
Event catalog
GivePay emits 12 event types across three categories. Subscribe to specific events on each endpoint, or use the wildcard "*" to receive everything.
| Event type | When it fires |
|---|---|
payment.succeeded | A one-off or recurring charge completed successfully |
payment.failed | A payment was declined or otherwise failed |
payment.refunded | A payment was fully refunded |
payment.partially_refunded | A payment was partially refunded |
refund.created | A refund was initiated and is awaiting processing |
refund.succeeded | A refund completed successfully |
refund.failed | A refund could not be processed |
subscription.created | A new subscription was created (first invoice paid) |
subscription.updated | Subscription details changed |
subscription.canceled | A subscription was canceled |
subscription.payment_succeeded | A recurring invoice was paid |
subscription.payment_failed | A recurring invoice payment failed |
Every event uses the same outer envelope:
{
"id": "evt_550e8400-e29b-41d4-a716-446655440000",
"type": "<event_type>",
"environment": "LIVE",
"source": "Stripe",
"api_version": "2026-05-11",
"created_at": "2026-05-11T12:34:56Z",
"data": { /* event-specific payload, fully shown below */ }
}Every event payload below is shown in full — no abbreviations, no "see above" references.
Payment events
Refund events
These fire alongside payment.refunded / payment.partially_refunded to give you the lifecycle of an individual refund.
Subscription events
Field references
The shapes are identical across every event. The tables below describe each composite object's fields.
Envelope
Prop
Type
payment_session
Prop
Type
payment_session.line_items[]
Prop
Type
payment_transaction
Prop
Type
refund
Prop
Type
subscription
Prop
Type
organisation
Prop
Type
payer
Prop
Type
error
Prop
Type