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
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.