Idempotency
How repeated payment submissions are handled safely.
A customer may submit the same transaction more than once (retries, double clicks, reconnects). VerseBill prevents duplicate payment records with a unique constraint on (chain ID, transaction hash).
- Submitting an existing hash for the same invoice returns the existing payment
- Submitting a hash already used for a different invoice is rejected with TX_REUSED
- Concurrent submissions are caught and resolved against the unique constraint