POST request to your endpoint containing a JSON payload that describes what changed. This page covers every event type, the payload structures you can expect, and a full example for each.
There is a naming difference between the identifiers you use when subscribing to events and the
type field in the delivered payload. Subscription identifiers use uppercase ORDER_* format. The type field in the JSON payload uses lowercase payorder_* format. For example, subscribing to ORDER_COMPLETED results in payloads where "type": "payorder_completed".Event types
Base event payload structure
Every webhook delivery shares a common base structure. Additional top-level fields are present depending on the specific event type.PaymentData structure
Thepayment_data object is included in payorder_started, payorder_confirming, payorder_executing, and payorder_completed events. It contains source and destination amounts, addresses, transaction hashes, and execution details.
Payload examples
payorder_created
payorder_created
Triggered when a new PayOrder is created. The
payment_data field is not yet available at this stage.payorder_started
payorder_started
Triggered when the PayOrder is ready and waiting for the user to send payment. The
payment_data field is now populated, including the deposit_address and expires_at.payorder_confirming
payorder_confirming
Triggered when payment has been detected on-chain and is awaiting the required number of confirmations.
payorder_executing
payorder_executing
Triggered when CoinVoyage starts executing the destination transfer or contract call after the source payment is confirmed.
payorder_completed
payorder_completed
Triggered when the PayOrder has completed successfully and settlement has been delivered to the receiving address.
payorder_error
payorder_error
Triggered when an error occurs during PayOrder processing. The
message field contains a description of the error. payment_data is not included.payorder_refunded
payorder_refunded
Triggered when funds have been refunded to the user. The
refund_tx_hash and refund_address fields identify the refund transaction and destination.payorder_expired
payorder_expired
Triggered when the PayOrder expires before payment was received. No
metadata or payment_data is included in the minimal expiry payload.