Skip to main content

Status Model

Every Manatee payment has a lifecycle status. Your backend should use this status together with received amounts and webhook events to update checkout and order state.

Payment statuses

StatusMeaningTypical action
pendingNo matching Bitcoin transaction has been detected yet.Show payment instructions and wait.
detectedA matching transaction was seen, but confirmations are below the required threshold.Show "payment seen" and keep waiting.
confirmedThe transaction reached required_confirmations.Mark the order as paid.
expiredThe payment expired before a matching transaction was detected.Close or recreate the checkout session.
cancelledYour backend cancelled a still-pending payment.Stop showing this payment to the customer.

Missing confirmations

If a payment is detected but not confirmed, the transaction has not reached the configured required_confirmations.

Typical causes:

  • The transaction is still waiting for blocks.
  • The configured confirmation threshold is higher than expected.
  • Your UI is treating payment.detected as final settlement.

Use payment.detected as an early signal and payment.confirmed for fulfillment in most production flows.

Payment expired

Only pending payments expire automatically. If a matching transaction was detected before expires_at, Manatee keeps tracking confirmations instead of changing the payment to expired.

If a checkout expires:

  • Stop showing that payment to the customer.
  • Create a new payment if the customer still wants to pay.
  • Do not reuse stale amounts if your price was based on a fiat-to-BTC quote.

Underpayment and overpayment

underpaid and overpaid are not separate Manatee lifecycle statuses. They are reconciliation cases your integration can derive from amount fields.

CaseSignalTypical action
Underpaymentreceived_sats is below amount_sats or below your configured tolerance.Wait, expire, or flag for manual review depending on your policy.
Overpaymentreceived_sats is above amount_sats.Mark paid if policy allows, then handle the difference through your own refund or support process.

Manatee does not move funds or send refunds. Refunds, store credit, and manual review remain your business process.

For the compact status reference, see Payment Status Lifecycle.