A gift card is money. We treat it that way.
Everything in AfroPin is built so that a code reaches the customer and nobody else, and so that every business, till and API call is who it says it is.
Codes reach the customer, and nobody else
Never stored readable
We keep a one-way fingerprint of each code, not the code itself. Nobody can look a code up, our own staff included.
Sent straight to the customer
A new code goes from us to the customer by email, or into the app they bought it from. It never passes through the staff who sold it.
Masked everywhere else
Tills, receipts, dashboards and reports show codes masked. A full code is only ever shown to the person who owns it.
Short-lived copies
Where a partner's system has to receive a code, the copy we keep for resending is cleared after 72 hours.
A new code on request
If a code may have been seen by someone else, a new one can be issued. The old code stops working at once and the balance moves across.
Checked on every use
Every redemption is checked against one ledger, so a gift card can't be spent twice, and a retried request returns the original receipt.
Accounts and tills, locked down
Verified businesses only
Every business passes our checks on its registration, directors and address before it can go live.
A code at every sign-in
Signing in to a dashboard needs a one-time code sent to the account's email, with a limit on wrong attempts.
Two-factor on what matters
Changing payout details, API keys, webhooks or tills needs a code from an authenticator app.
Every till signs in on its own
Each terminal has its own login and history, so every sale and redemption is tied to the till and store it came from.
Limits on what a till can do
Tills that sell can require a staff PIN, keep to daily limits and opening hours, and raise alerts on unusual activity.
A record of who did what
Sign-ins and sensitive changes are logged, so you can see who signed in where and what changed.
An API built to be called safely
Signed requests
Every call is signed with your secret, time-stamped and carries a one-time value, so it can't be forged or replayed.
Secrets sealed at rest
API secrets are stored encrypted, and are shown to you only once, when the key is created.
IP allow-lists
Limit each key to the servers you name. Calls from anywhere else are refused.
Idempotency keys
A request retried after a timeout returns the first result instead of charging or issuing twice.
Test mode, kept apart
Test keys and test gift cards can't touch live money, so you can build and train safely.
Signed webhooks
Every webhook we send is signed, so your system can confirm it came from AfroPin.
Your customers' data
The email addresses and phone numbers customers give when they receive a gift card are stored encrypted. We process personal data under the Nigeria Data Protection Act 2023, as our privacy policy explains.
Found a security issue?
Email us with "Security" in the subject and the steps to reproduce it. Please don't test against live accounts or real gift cards.
[email protected]