Payments
How payments are recorded and confirmed.
A payment is the record of an on-chain transaction submitted against an invoice. When a customer sends VERSE, VerseBill stores the transaction hash and then verifies it against the blockchain before the payment is considered confirmed.
Payment states
- PROCESSING — the transaction hash was submitted and verification has not yet confirmed it
- CONFIRMED — the transaction was verified on-chain and matched the invoice
- REJECTED — verification found a mismatch (wrong token, recipient, chain, or amount)
- FAILED — the transaction reverted on-chain
Each payment is keyed by chain ID and transaction hash, which is what makes repeated submissions idempotent (see Idempotency).