Collections

Collections let you take payment from customers in supported currencies. Once a payment succeeds, funds are credited to the wallet or account configured for your product.

How collections work

All collection methods share the same underlying pattern:

  1. Initialize — Create a session with POST /client/checkout/initialize, passing the currency, amount, and your unique reference.
  2. Customer pays — Either on the hosted checkout page, or on your own UI using the public payment endpoints (see API-driven card checkout).
  3. Confirm — Receive the final result via webhooks (source of truth) and optionally the verify API.
  4. Reconcile — Store your reference with the returned transactionRef for support and reconciliation.

This is a checkout flow, not a Quotes flow. Only the initialize call is signed with your API key; the payment itself runs on the public checkout endpoints, authenticated by the returned access_code — so it can be completed in a browser or mobile client without exposing your keys.

Need payment instructions in API responses instead of a hosted page? Use the Quotes path (createaccept), which requires signed (HMAC) requests.

Collection methods

MethodDescriptionCurrencies (examples)
Card collectionCards with 3-D Secure where required, via the hosted checkoutNGN, USD
API-driven card checkoutCard payments with your own UI, calling the payment endpoints directlyUSD, NGN
Mobile money collectionMobile money across supported marketsGHS, KES, UGX, TZS, and others as enabled
Crypto collectionStablecoin on-chain collectionUSDC, USDT as enabled

Availability depends on your account and environment. Use the discovery endpoints below instead of hardcoding rails or currency lists in your app.

Need to reverse a completed deposit? See Refunds.

Discovering what is available

Corridors and methods change with configuration and rollout, so discover them at runtime:

  • GET /api/v1/client/currencies — active currencies and related metadata
  • GET /api/v1/client/banks?currency=<CODE> — bank or network identifiers for a currency, where applicable

Authentication

Collection routes use business API keys and signed requests. Follow Authentication for headers and signing — never embed secrets in mobile or browser clients.

Next steps