Skip to main content

Common Errors by Feature

Transfers

ErrorHTTP StatusCauseResolution
bank_code is required422Missing bank codeInclude bank_code in request
account_number must be 10 digits422Invalid account lengthVerify account number is exactly 10 digits
Insufficient balance400Wallet balance too lowFund wallet before retrying
Duplicate reference406Same ref used for a previous transferUse a unique ref per transfer
Minimum amount is 100406Transfer amount below NGN 100Increase amount to at least NGN 100
Invalid bank code400Bank code not in supported listFetch bank list from GET /payouts/bank/list

Virtual Accounts

ErrorHTTP StatusCauseResolution
customer_id is required400Missing customer identifierPass customer_id in request body
Account type not supported400Invalid account_type valueUse static or dynamic
Invalid bank400Unsupported bank providerUse 9psb, palmpay, or cashconnect
BVN is required for Palmpay400PalmPay static accounts need BVNInclude identity_type and identity_number
Amount exceeds maximum400Dynamic VA amount > NGN 1,000,000Reduce amount or use a static account
Expiry out of range400Duration outside 15 min – 24 hrsAdjust expiry parameters

Cards

ErrorHTTP StatusCauseResolution
ref is required400Missing idempotency keyInclude a unique ref in request
KYC level not met422Customer hasn't completed KYC Level 2Upgrade customer KYC tier first
Maximum of 3 active cards can be created for a user.403Business already has 3 active cardsFreeze or terminate an existing card
Insufficient balance400Wallet balance too low for card fundingFund the business wallet
Invalid card type400Unsupported card typeUse virtual or physical

Bills Payment

ErrorHTTP StatusCauseResolution
ref is required400Missing idempotency keyInclude a unique ref
Amount out of range400Amount outside biller's allowed rangeCheck biller product for min/max amounts
Invalid meter number400Electricity meter number format invalidVerify meter number with the biller
KYC level not met422KYC Level 2 required for electricityUpgrade customer KYC tier

Authentication

ErrorHTTP StatusCauseResolution
Unauthorized401Missing API keyAdd Authorization: Bearer ps_pk_test_... or ps_pk_live_... header for the matching environment
Invalid API key401API key is wrong or expiredGenerate a new key from Settings > API Keys
Forbidden403Key lacks required permissionsCheck key permissions in the dashboard

Rate Limiting

ErrorHTTP StatusCauseResolution
Too many request429More than 60 POST requests per minute from one source IPImplement exponential backoff in your client

General

ErrorHTTP StatusCauseResolution
Something went wrong500Unexpected server errorRetry with the same ref; contact support if it persists
Not found404Resource doesn't existVerify the ID or reference is correct
Validation failed422Request body fails validationCheck the errors object for field-specific details

See the Errors reference for HTTP status code descriptions.

Was this page helpful?

Report a docs issue →