webhook_url when a flight order status changes. Add webhook_url when you create a flight order to receive status updates for that order.
Webhook delivery is asynchronous. Always verify the signature, make your webhook handler idempotent, and use Get Order if you need to confirm the latest state.
Headers
PayVessel sends flight webhooks as JSONPOST requests.
Some frameworks expose
PAYVESSEL-HTTP-SIGNATURE as HTTP_PAYVESSEL_HTTP_SIGNATURE. Verify the signature against the raw request body before parsing or formatting the JSON.Signature verification
To verify a flight webhook:- Read the raw request body exactly as received.
- Compute
HMAC-SHA512(raw_body, api_secret). - Compare the hex digest with the
PAYVESSEL-HTTP-SIGNATUREheader using a constant-time comparison.
Event types
The
data.status field contains the current order status:
Payload structure
Completed order payload
Failed order payload
Important notes
- Return a
2xxresponse only after your system has processed the webhook successfully. - Webhooks may be retried, so use
order_referenceormerchant_referenceto prevent duplicate processing. - The
ticket_infoobject is usually present fororder.completedevents and may benullfor non-completed events. - The
PAYVESSEL-HTTP-SIGNATUREis calculated over the exact JSON body sent to your endpoint.
Create Flight Order
Add
webhook_url when creating an order