Skip to main content
A 200 from a collection or payout endpoint means Flick accepted the request. Settlement happens afterwards, and Flick reports it with a webhook. If you treat the synchronous response as final you will mark payments complete that later fail.

Registering an endpoint

Set your webhook URL in the dashboard. It must be:
  • served over HTTPS
  • reachable from the public internet
  • able to answer within a few seconds
Answer 2xx as soon as you have stored the event. Do the slow work afterwards.

What a delivery looks like

Amounts are in minor units. transaction_amount: 80000 is ₦800.00. Fees and settled amounts follow the same convention.

Deduplicate on Id

data.Id is stable for a given transaction. Flick suppresses a repeat delivery of the same Id, but network retries and your own infrastructure can still present one twice, so treat Id as an idempotency key on your side.

Replaying a delivery

If your endpoint was down, ask for a redelivery rather than reconciling by hand:

Verify every delivery

An unverified webhook endpoint will credit anyone who can guess its URL.