DocsIdentityWallet and Billing

Wallet and Billing

How you pay for verification checks, and exactly what happens when you add funds to your balance.

How billing works

Identity is prepaid. Each verification check draws down from your organization's wallet balance. There is no separate invoicing step before a check runs: if your wallet cannot cover the check, the request is declined rather than run on credit.

  • check your live balance and funding history from the console or the API
  • top up in Naira from the console at any time
  • sandbox funding uses a test payment flow, so you can exercise the full funding path without moving real money

What happens when you add funds

Funding a wallet is a redirect-based flow, not a direct API call that instantly updates your balance. This matters for how you build any custom funding UI on top of it.

  1. You start a funding request with an amount. Identity creates a pending funding intent and returns a checkout URL.
  2. Your admin completes payment on that checkout page.
  3. Identity is notified the payment succeeded, independently verifies it directly with the payment processor, and only then credits your wallet.
  4. If you check status before that independent verification completes, the intent shows as pending, not failed.
The balance update is not instant

Identity never trusts a client-side "payment succeeded" signal on its own. It re-verifies every payment directly with the processor before crediting a wallet, which is what keeps your balance accurate even if a notification is delayed, retried, or arrives out of order.

Idempotent by design

A funding intent can only ever be credited once. If the same successful payment is reported more than once, whether through a retried notification or a customer refreshing a status page, only the first credit is applied. Retrying a funding check is always safe.