Hosted checkout lifecycle
The hosted checkout owns the buyer-facing part of a payment: quoting, asset and network selection, the deposit address, and confirmation tracking. Your system only needs to react to status.
Statuses
Section titled “Statuses”| Status | Meaning | What you do |
|---|---|---|
created |
Payment exists, buyer has not chosen an asset | Nothing |
pending |
Asset and network chosen, deposit address issued | Nothing |
detected |
A transaction was seen on chain | Nothing — it can still reorg |
confirming |
Accumulating confirmations under the chain’s policy | Nothing |
underpaid |
Less than the quoted amount confirmed | Wait, or contact the buyer |
paid |
Confirmed on chain | Optionally reserve stock |
settled |
Ledger posted, including fees and splits | Release the goods |
held |
Under risk review | Wait for the operator decision |
rejected |
Refused | Do not deliver |
expired / canceled |
Window closed without payment | Let the buyer re-order |
settled is the only status that means the money is accounted for. paid means
the chain agrees; settled means the ledger does, and the ledger is the source
of truth.
Detected is not paid
Section titled “Detected is not paid”Between detected and paid the chain can reorganize and the transaction can
disappear. FlowPayra applies a per-chain confirmation policy and only advances
when the policy is satisfied. Do not ship on detected.
What the buyer sees
Section titled “What the buyer sees”The checkout shows your merchant name and order reference, the exact amount to send, and — directly above the deposit address — the network warning for the selected asset:
Send only USDC on Base. Sending any other asset, or using any other network, will lose the funds permanently.
This matters more than it looks. The same EVM address is valid on Ethereum, Base and BNB Smart Chain; a buyer who sends on the wrong one has burned the money.
Once a transaction is detected, the payment button is replaced by a confirmation status card with a link to the block explorer, and the buyer is told they can close the page.
Sending the buyer back
Section titled “Sending the buyer back”Set redirect_url when you create the payment. The terminal pages then show a
receipt (amount, network, order number) and a button back to your site. Without
it the buyer reaches a dead end and has to find their way back on their own.
Set the merchant support_url too, so a rejected or expired payment offers a way
to reach you.