Event delivery
Events are delivered to your webhook endpoints via HTTP POST requests. Each event includes:- A unique
idfor deduplication - An
idempotencyKeyto prevent duplicate processing - The event
typeindicating what happened - A
datapayload with relevant objects
Events may be delivered more than once. Use the
idempotencyKey to ensure you process each event only once.Event types
These are the event types currently supported. We may add more at any time, so your code should handle unknown event types gracefully.| Event Type | Description |
|---|---|
payment_success | A Payment has been successfully processed |
payment_refunded | A Payment has been refunded (full or partial) |
payment_failed | A Payment attempt has failed |
subscription_created | A new Subscription has been created |
subscription_interval | A Subscription’s billing interval has been charged |
subscription_updated | A Subscription has been modified |
subscription_cancelled | A Subscription has been cancelled |
The Event object
Unique identifier (UUID) for this event.
The type of event that occurred. See Event types above.
Unique key (UUID) for idempotent event processing. Use this to prevent duplicate handling of the same event.
Whether this event occurred in test mode (
true) or live mode (false).The event payload containing related objects.
Item object
Each item in thedata.items array represents a line item in the Order.
Object type identifier. Always
"item".Unique identifier (UUID) for this line item.
Display name of the item.
Item price in the smallest currency unit. Defaults to
0.Number of units purchased.
Three-letter ISO 4217 currency code.
The Product object this item belongs to.
The Variant object if applicable.
The Offer object if this item was purchased through an offer.
The subscription Plan object (variants are used as plans for Subscriptions).
Your custom identifier for this item.
Key-value pairs of custom fields defined by you and filled by the customer during checkout.