Skip to main content

Webhook Status Reference

Use this page as the compact decision table for webhook handling.

If you need payload examples or signature-verification code, see Webhooks Overview.


Main statuses

typeadditionalStatusWhat it meansTypical backend action
NewNoneInvoice createdUsually no action
ProcessingNonePayment detected, awaiting confirmationMark order as processing/on-hold, do not fulfill yet
SettledNonePayment confirmedMark as paid and fulfill
ExpiredNoneInvoice expired without paymentMark as expired/cancelled if your business flow requires it
InvalidNoneInvoice invalidated or rejectedCancel or flag for review

Additional status values

typeadditionalStatusWhat it meansTypical backend action
SettledOverpaidCustomer paid more than the invoice amountMark as paid, then review refund or credit policy
SettledPaidAfterExpirationPayment arrived after the invoice had already expiredMark for manual review before fulfillment
ExpiredUnderpaidInvoice expired after only partial paymentMark as underpaid/on-hold and contact customer

Minimal production rule set

If you want the shortest safe policy:

  1. Ignore New.
  2. Treat Processing as informational.
  3. Fulfill only on Settled with normal status.
  4. Review Overpaid, Underpaid, and PaidAfterExpiration manually.
  5. Never use the browser redirect as your paid signal.

Coinsnap eventExample local order state
Newpending_payment
Processingprocessing or on_hold
Settledpaid
Expiredexpired or cancelled
Invalidcancelled