Skip to main content

Checkout Modes

A payment runs in one of two modes, fixed at creation by checkoutMode:

  • Hosted ("HOSTED", or omit the field) — Finomesh renders the payment page. You redirect the customer to it and receive a callback + optional webhook. Least code.
  • API ("API") — you render your own payment UI and drive the flow server-to-server. IP-allowlisted. Most control.

Both modes produce the same payment object and use the same verify call as the source of truth. The differences are only in who renders the page and how outcomes reach you.

Side by side

Hosted (default)API mode
Payment pageFinomesh-hosted checkoutYour own UI
checkoutMode"HOSTED" (or omitted)"API"
callbackUrlRequiredForbidden (no hosted page to redirect from)
webhookUrlOptionalRequired — the only push channel
Server IP allowlistNot neededRequired (configured in the dashboard)
Outcome channelsCallback redirect + webhookWebhook only (+ verify polling)
Create responseSlim { paymentUid, paymentUrl }Also inlines the full payment object

Which to choose

  • Choose hosted unless you have a specific reason not to — it is the smallest, safest surface: no payment UI to build, no IP allowlist to maintain.
  • Choose API mode when the payment experience must live entirely inside your own product and you can call the API from allowlisted servers.

Next