Get started
Error Codes
How Paysasa signals failure: HTTP statuses for branching, plus machine-readable codes for verification and KYC problems.
Base URL
https://api.paysasa.com/api/v1Authx-api-keyFormatJSONPrefer HTTP status for branching. For verification / KYC failures use the machine code field when present (HTTP 403, not 422).
| HTTP Status | Meaning | Common Cause |
|---|---|---|
| 400 | Bad Request | Missing or invalid parameters |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | API key scope, business unverified/suspended, or KYC required |
| 404 | Not Found | Resource doesn't exist or belongs to another account |
| 409 | Conflict | Session already paid/expired, or ownership transfer already open |
| 422 | Unprocessable | Insufficient balance or invalid business state |
| 429 | Rate Limited | Too many requests or OTP attempts — back off and retry |
| 500 | Server Error | Paysasa server error — contact support |
| code | HTTP | When |
|---|---|---|
business_unverified | 403 | Business not verified (checkout/Lengo/WaaS/money ops) |
business_suspended | 403 | Business suspended |
owner_kyc_unverified | 403 | Owner KYC required for business money features |
kyc_required_for_withdrawal | 403 | Personal withdrawal KYC gate |
// Typical error shape (code present on compliance gates)
{
"error": "Business must be verified before checkout",
"code": "business_unverified"
}