Codes d'erreur
Référence des erreurs renvoyées par l'API Neka Paie.
Format générique d'erreur
JSON{
"error": "Description lisible de l'erreur",
"code": "ERROR_CODE_SYMBOLIC"
}
HTTP 400 — Bad Request
| Code | Description |
|---|---|
INVALID_JSON | Le body n'est pas un JSON valide. |
MALFORMED_REQUEST | Structure de la requête incorrecte. |
HTTP 401 — Unauthorized
| Code | Description |
|---|---|
AUTH_FAILED | Headers d'authentification absents ou clé inconnue. |
SIGNATURE_INVALID | Signature HMAC ne correspond pas. |
TIMESTAMP_OUT_OF_RANGE | Timestamp hors fenêtre de ±300 sec. |
API_KEY_REVOKED | Clé API révoquée ou expirée. |
HTTP 403 — Forbidden
| Code | Description |
|---|---|
MERCHANT_SUSPENDED | Compte marchand suspendu. |
MERCHANT_PENDING_KYC | KYC pas encore validé. |
CASHOUT_APPROVAL_REQUIRED | Montant > seuil d'approbation, validation back-office requise. |
FEATURE_NOT_AVAILABLE | Fonctionnalité non activée pour ce marchand. |
HTTP 404 — Not Found
| Code | Description |
|---|---|
TRANSACTION_NOT_FOUND | L'ID de transaction n'existe pas ou n'appartient pas au marchand. |
RESOURCE_NOT_FOUND | Ressource demandée introuvable. |
HTTP 409 — Conflict
Conflit d'idempotence : un merchant_order_id identique a déjà été utilisé. Le système renvoie la transaction d'origine sans en créer une nouvelle. Aucune action requise.
HTTP 422 — Unprocessable Entity
| Code | Description |
|---|---|
MISSING_REQUIRED_FIELD | Champ obligatoire absent. |
INVALID_AMOUNT | Montant ≤ 0 ou type incorrect. |
INVALID_MSISDN | Format MSISDN invalide. |
UNKNOWN_COUNTRY | Préfixe MSISDN ne correspond à aucune filiale. |
INSUFFICIENT_BALANCE | Solde marchand insuffisant pour Cash-Out. |
REFUND_EXCEEDS_AMOUNT | Montant de remboursement supérieur à l'original. |
TRANSACTION_NOT_REFUNDABLE | Seules les transactions SUCCESS sont remboursables. |
HTTP 429 — Too Many Requests
| Code | Description |
|---|---|
RATE_LIMITED | Limite de débit atteinte. Header Retry-After indique le délai à respecter. |
HTTP 500 / 503 — Erreurs serveur
| Code | Description |
|---|---|
OPERATOR_TIMEOUT | Timeout côté opérateur Orange. La transaction reste PENDING. |
OPERATOR_UNAVAILABLE | Opérateur Orange non joignable. Réessayer plus tard. |
INTERNAL_ERROR | Erreur interne. Contacter le support avec le request_id. |