cTpeWay tells your server what happened by sending events to your webhook endpoints. This list is generated from the API description. For how to receive and verify events, see the Webhooks guide.
| Event |
Sent when |
invoice.canceled |
The merchant canceled the invoice. |
invoice.created |
An invoice was created. |
invoice.expired |
The invoice expired unpaid. Payments that still arrive are reported as late payments. |
invoice.late_payment |
A payment confirmed after the invoice expired or was canceled. The invoice keeps its status until the merchant accepts or refunds it. |
invoice.option_selected |
The payer chose how to pay; the option now has an address and, for fiat invoices, a locked amount. |
invoice.paid |
The invoice is paid. settlement tracks the release of the funds to the master wallet. |
invoice.partially_refunded |
Part of what was paid to the invoice went back to the payer: the invoice now carries the flag partially_refunded and keeps its status. Sent once, when the first such refund completes; every refund has its own refund.completed. |
invoice.payment_detected |
A payment to the invoice was seen on the network. Not final yet. |
invoice.payment_reverted |
A payment to the invoice was orphaned or dropped; the invoice was re-evaluated without it. |
invoice.refunded |
Everything paid to the invoice went back to the payer: a paid invoice is now refunded, which is final. |
invoice.underpaid |
Confirmed payments are below the amount due. More can arrive until the invoice expires. |
| Event |
Sent when |
payment.confirmed |
The payment reached the network’s confirmation threshold. settlement tracks its release. |
payment.detected |
A transfer to one of the merchant’s addresses was seen. It is not final yet. |
payment.dropped |
An unconfirmed payment disappeared from the network without being included. |
payment.orphaned |
A chain reorganisation removed the payment’s transaction. |
payment.transaction_attached |
The transaction of a payment that was detected by a balance change (detected_by: balance) has been identified: the payment now has tx_hash and tx_index, which its earlier events did not carry. The payment (same id), its status and its settlement are unchanged. |
| Event |
Sent when |
payout.broadcast |
The payout’s transaction (tx_hash) was handed to the network. It is not in a block yet. |
payout.confirmed |
The payout’s transaction is final on the network. |
payout.created |
A payout was accepted. Nothing has been sent yet; it can still be canceled. |
payout.failed |
The payout paid nothing and will not be retried: it was refused, canceled, or its transaction failed (failure_code). |
| Event |
Sent when |
refund.completed |
The refund’s payout is final on the network. |
refund.created |
A refund was accepted and its payout created. |
refund.failed |
The refund’s payout failed or was canceled: nothing was returned (failure_code). |
| Event |
Sent when |
settlement.failed |
The release could not be completed; reason says why. It is retried manually. |
settlement.held |
A confirmed deposit is waiting in its address: the master wallet cannot pay the fee and network costs yet, or a release guard applies (reason). |
settlement.released |
The deposit was swept to the master wallet. |
| Event |
Sent when |
test.ping |
A test event, sent on request to check that an endpoint receives and verifies deliveries. |
| Event |
Sent when |
webhook_endpoint.failing |
Every retry of a delivery to this endpoint failed. Deliveries continue; the endpoint recovers on its first success. |
Every event carries api_version: "v1".