Webhooks and Callbacks
Process payment updates reliably even when the customer leaves the checkout flow.
Receive asynchronous payment updates
Use a server endpoint such as the order's callback_url to receive updates that can arrive after the customer closes or leaves Checkout.
Do not rely on redirects for fulfilment.
A customer can close the page before returning. Your backend notification and payment status are the durable source of truth.
Safe processing flow
Receive raw request
Accept the callback over HTTPS and retain the original request data needed for verification.
Authenticate
Verify the notification using the FiatPe signing details configured for your integration.
Deduplicate
Use a stable event or payment identifier so repeated deliveries remain safe.
Acknowledge quickly
Persist the event and return a successful response before slow downstream work.
Reconcile
Confirm the final payment status and transition your order only once.
Duplicates, delays, and retries
- Return a 2xx response only after the event has been durably accepted.
- Expect duplicate and out-of-order notifications.
- Never move a successful payment back to failed or cancelled.
- Use a queue for slow fulfilment, email, inventory, or ledger work.
- Log identifiers and outcomes without logging credentials or full sensitive payloads.