X-Webhook-Event
header as the reliable event discriminator.
Event types
These are the values you subscribe to when you create a webhook.
IntentSuccessful and IntentFailed correspond to a transaction reaching
completed and failed respectively.
Delivery headers
Every delivery is an HTTPPOST with a JSON body and these headers:
X-Webhook-Event: the dotted event key, for exampleintent.successful.X-Zeam-Signature:sha256=<hex>, an HMAC of the body keyed onX-Webhook-Id. See Security.X-Association-Id: the association the event belongs to.X-Webhook-Id: a unique delivery id. Also the HMAC key. Use it to de-duplicate retries.X-Webhook-Ts: delivery timestamp as Unix milliseconds (UTC). Use it to reject stale deliveries. See Security.Content-Type: application/json.
Payload
string
The event type. Prefer the
X-Webhook-Event header as the discriminator.string
The payment intent identifier for this event.
string
The association the event belongs to.
string
A human-readable description of the event.
string
ISO 8601 timestamp of when the event was created.
object
Event-specific detail. Treat the shape as event-defined and read fields
defensively.
string | null
Your own reference from the original request, when present. Use it to reconcile
the event with your records.
string | null
The Stellar transaction hash, once the payment is on-chain.
Example delivery
Reconcile the event
The payload does not include the amount or final status. UseintentId or your
externalReference to look the payment up with
GET /v1/transactions/{transactionId} (the
transactionRecordId you received in the 202 response) and act on the
authoritative record.