POST to your endpoint with a signed JSON payload.
Create and manage webhooks at dashboard.stellartools.dev/webhooks. When you create one, pick which events to subscribe to and copy the signing secret to verify deliveries.
Event envelope
Every webhook POST has the same top-level shape, regardless of event type.Envelope fields
string
required
Unique ID for this event. Prefixed with
wh_evt_.string
required
The event type, e.g.
payment.confirmed or subscription.canceled. See the full list below.string
required
ISO 8601 timestamp of when the event was created.
boolean
required
true if the event came from a mainnet (live) API key. false for testnet.object
required
Contains the event payload.
Event types
Customer events
event
A new customer was created.
event
A customer’s details were updated. Includes
previous_attributes.event
A customer was deleted.
Payment method events
event
A Stellar wallet was linked to a customer.
event
A wallet was removed from a customer.
Checkout events
event
A new checkout session was created.
Payment events
event
A payment transaction was submitted to the network but has not yet been confirmed.
event
A payment is confirmed on the Stellar ledger. This is the event to act on when fulfilling an order.
event
A payment could not be confirmed on-chain.
Refund events
event
A refund was sent to the customer’s wallet successfully.
event
A refund could not be processed.
Subscription events
event
A new subscription was created.
event
A subscription was updated (for example: paused, resumed, or
cancel_at_period_end was toggled). Includes previous_attributes.event
A subscription was canceled.
Handling events
Usest.webhooks.constructEvent to verify the signature and get the typed event back. Always verify before acting on the payload.
If
constructEvent throws, the signature is invalid or the payload was tampered with. Return a 400 and do not process the event.
