Go Live Checklist
Confirm each item before switching your integration to production. Most incidents come from skipping the verify step or leaking the API key — the rest of this list is cheap insurance.
Configuration
- Use the production API base URL (
https://api.finomesh.com/api/v1) — see Environments. - Use the production checkout URL (
https://checkout.finomesh.com). - Use a production gateway API key (a staging key is rejected in production).
- Keep the API key server-side only — never in a browser bundle, mobile app, or client-side code.
- Confirm your gateway is in verified status (an unverified gateway's key returns
401 auth_api_key_invalid).
Notifications
- Set
callbackUrlfor hosted checkout so the customer returns to your site. - Set
webhookUrlif you want a server-to-server notification. - Verify the
X-Webhook-SignatureHMAC on every incoming webhook — see Webhooks.
Fulfilment logic
- Always call verify before fulfilling — do not fulfil from the callback alone or the webhook alone.
- Handle all terminal statuses:
SUCCESS,ACCEPTABLE,MISMATCH,EXPIRED— see Payment Statuses. - Treat monetary values as decimal strings and use a decimal library — never parse them as floats.
Testing before flipping the switch
- Test a successful payment end to end in sandbox.
- Test an expired payment.
- Test
MISMATCHandACCEPTABLEoutcomes. - Test webhook retry handling (respond non-2xx once and confirm the retry arrives).
Cashout (only if you use it)
- The cashout/settlement API is off by default — confirm whether you actually need it.
- If enabled, confirm the server IP allowlist, HMAC signing, and
Idempotency-Keyhandling — see Cashout.