Taking payment
Payments received
List the PIN redemptions credited to your account, newest first.
HMAC-signed request with a unique Idempotency-Key header. Authentication
$afropin->brand->payments->list($params)afropin.brand.payments.list(params)afropin.brand.payments.list(params)afropin.brand().payments().list(params)Query parameters
Redemptions per page. Defaults to 20. Ignored when page=all.
Only return redemptions made on this day, for example 2026-10-27.
Only return redemptions at this store.
Only return redemptions run by this terminal.
Page to return, starting at 1. Pass all to return every matching redemption without pagination.
paging object with page, pages, total and the next and previous page URLs. It is left out when page=all. A page number below 1 or any other text fails with validation_error.Redemption object
ID of the credit on your wallet. Use it with Look up a payment. It is not the same value as the transaction_ref returned by Take payment with a PIN, but either one finds the redemption.
The reference you sent when redeeming. null for test-mode redemptions.
The store that took the payment, if one was sent.
The POS terminal that ran the redemption: the terminal_id sent to Redeem, or the terminal signed in to the terminal portal. null when none was named.
The PIN code that was redeemed, with the middle digits hidden.
What left the PIN, truncated to 2 decimal places: the amount redeemed, plus the fee when the customer paid it. Your wallet received amount less fee.
The redemption fee.
Who paid the fee. brand for redemptions made before this option existed.
Currency of the wallet credited.
Your wallet balance before the credit.
Your wallet balance after the credit. In live mode it rises by the amount less your redemption fee.
Always in: the entry on your wallet.
Always pin_spend.
Redemptions settle immediately, so this is success.
Mode the redemption was made in.
When the redemption was made, ISO 8601 in UTC.
Response 200
{
"ok": true,
"data": [
{
"id": "dcb2e747-5988-4553-ad05-371b5e707724",
"external_reference": "order_98231",
"store_id": "5c1e8f2a-7b3d-4e19-a6c0-2d9f4b8e1a73",
"terminal_id": "9b7d2c41-3e8f-4a65-b1d0-7c2e9f4a8b16",
"pin_mask": "3093-****-****-3097",
"amount": 2500,
"fee": 150,
"fee_paid_by": "brand",
"currency": "NGN",
"balance_before": 120000,
"balance_after": 122462.5,
"direction": "in",
"type": "pin_spend",
"status": "success",
"mode": "live",
"created_at": "2026-10-27T09:14:22.000000Z"
}
],
"paging": {
"page": 1,
"pages": 1,
"per_page": 20,
"total": 1,
"next": null,
"previous": null
}
}
Errors
Failed requests return a stable code with a translated message. Branch on code, never on the message.
validation_error
Some fields are missing or invalid
wrong_account_type
Your account type cannot use this endpoint
rate_limited
Too many requests. Wait a moment and try again
internal_error
Something went wrong on our side. Try again; if it keeps happening, contact support
{
"ok": false,
"error": {
"code": "wrong_account_type",
"message": "Your account type cannot use this endpoint",
"fields": null
}
}
All error codes →