Payment Flow
A payment moves through four steps: your server creates it, the customer pays it, Finomesh notifies you, and your server verifies the outcome before fulfilling.
- Create — your server calls
POST /api/v1/paymentswith the invoice currency, amount, and yourcallbackUrl. The response contains the paymentpaymentUidand thepaymentUrlto redirect the customer to. The payable assets (amount, fees, deposit address) live on the hosted checkout, not in this response. - Redirect — send the customer to the hosted checkout at
https://checkout-staging.finomesh.com/p/{paymentId}. They pick an asset and pay; Finomesh watches the chain and confirms the deposit. - Get notified — the customer's browser is redirected back to your
callbackUrl, and (if you set awebhookUrl) Finomesh POSTs a signed webhook to your server. Both are thin triggers — they carry onlypaymentIdandstatus, never amounts. - Verify — your server calls
POST /api/v1/payments/{id}/verify. The response is the single source of truth: the real status plus the expected and received amounts. Fulfil the order based on this response only.
Never trust the callback
The callback is a plain browser redirect — anyone can craft callbackUrl?status=SUCCESS by hand. Always confirm the outcome server-side with verify before fulfilling an order.
Next
- Payment Statuses — the terminal statuses and when to fulfil.
- Quickstart — run this flow end to end in five minutes.