An OpenNode bitcoin payment goes through different statuses during it's lifecycle. Below is an outline of all payment statuses and a diagram that represents all transitions between different statuses.
- unpaid - once a charge is created, it's initial status will be unpaid
- expired - after 24 hours without activity, the charge status will update to expired
- processing - when an on-chain payment is detected but still not confirmed (0 confirmations), the charge status will update to processing
- paid - when a Lightning payment is received and confirmed, or a on-chain payment is received and confirmed (1+ confirmations), the payment status updates to paid, crediting the users account with the received funds
- underpaid - when a on-chain payment is received with an insufficient amount to pay the charge. The user can opt to receive the funds back, or complete the payment by sending the missing BTC amount
- refunded - when an on-chain payment is received but underpaid, and the payer opts to receive their funds back