Reference
Errors & limits
Errors are JSON: { "error": "..." }.
| Status | Meaning |
|---|---|
400 | Bad body or header, payout larger than balance, or payouts paused after a settlement change |
401 | Secret missing, unknown, or no longer valid |
403 | KYB not approved, or an API key tried a dashboard-only action |
404 | Account or transaction not in this key’s mode |
409 | That email already has a Wema/Paystack account on NeratPay — use PalmPay for that customer |
429 | Over 500 new accounts in an hour, or the payout limit |
502 | PalmPay or Paystack rejected the call; response may include their reason |
Create account outcomes
- 201 — active now
- 202 — waiting for
virtualaccount.active - A replay of a failed create returns 502 and does not open a second account. Retry PalmPay with the same
customerReferenceafter you fix identity data.
Security checklist
- HTTPS only to
https://api.nerat.app/api - Secret key only in server environment variables
- Verify every webhook before you credit
- Credit once per
transaction.reference - Check
livemodebefore crediting real users - Do not log BVN or NIN