Payment status
A transfer being seen, a payment being confirmed and money reaching your wallet are different facts.
On this page
Read payment and settlement separately
Confirmed is a human explanation, not a paymentStatus value or an invoice.confirmed webhook. invoice.paid reports paid status; invoice.settled reports settlement.
| Field | Details |
|---|---|
paymentStatusstring | open, detected, partially_paid, paid, expired, expired_partially_paid or canceled. |
confirmingboolean | Observed money is still waiting for required network confirmation. |
settlementStatusstring | none, pending or settled. This describes transfer into the profile wallet. |
refundStatusstring | Separate held-money and refund processing; never treat it as payment revenue. |
Fulfill from verified state
A network reorganization can remove an observed transfer. Late payments and excess money can be held for the payer instead of credited to the business.
- Verify the signature and timestamp of each event before accepting it.
- Save event IDs durably and process each once. Events can arrive out of order.
- Read the matching invoice or checkout session from the API using your server key.
- Match your order’s ID, reference, store, mode and expected money before fulfilling once.
- Wait for paid; detected, confirming and partially_paid do not mean the full order has been paid.