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
Cancelled order payload
A confirmed cancellation usesevent: order.cancelled and data.status: cancelled. The order retains its original pricing snapshot. See Cancel Order for cancellation eligibility and refund retries.
This notification is sent on a confirmed cancellation transition, even if its eligible wallet refund is pending. It does not include a refund settlement status. A repeated cancellation request does not send another cancellation notification for the same transition.
Important notes
- Return a
2xxresponse only after your system has processed the webhook successfully. - Webhooks may be retried. Handle repeated notifications for the same
order_referenceand event idempotently, while allowing later status transitions for that order. - 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. order.cancelledconfirms cancellation, not wallet refund settlement. See Cancel Order for full-refund behavior and refund-pending retries.
Create Flight Order
Add
webhook_url when creating an order