Skip to content

Response codes ​

Codes retournés par Cybersource et surfacés dans nos webhooks (champ message + decision) ou dans les réponses /microform/charge (champ reason_code).

Source de vérité

Cette page liste les codes que nous avons observés en production ou explicitement gérés dans notre backend. Pour la liste exhaustive et à jour, consultez la documentation officielle Cybersource.

Codes de succès ​

rcSignification
100Succès. Peut être absent du top-level dans certaines réponses /pts/v2/payments — dans ce cas se baser sur le champ status (AUTHORIZED, PARTIAL_AUTHORIZED).

Codes 3DS Payer Authentication ​

Observés dans notre flow Microform 3DS :

rcSignification
475Cardholder enrolled dans 3DS — challenge en cours (statut PENDING_AUTHENTICATION, intermédiaire)
4763DS authentication failed (OTP incorrect, timeout, refus customer, session Entersekt expirée)

Notre /microform/charge retourne reason_code: "476" si le pré-check /risk/v1/authentication-results détecte que le challenge n'a pas abouti.

Codes Decision Manager (fraud engine) ​

rcSignificationAction
480Marked for review — DM veut analyse manuelleAuth OK, mais hold shipping/service jusqu'à confirmation manuelle
481Rejected by Decision Manager — règle fraud a firedAuth reversée automatiquement par CS. Check riskInformation.rules pour identifier la règle

Non 3Ds Reject (rc=481 sur notre profile)

Sur notre profile Cybersource Equity Bank Standard Profile, la règle Non 3Ds Reject fire automatiquement si une tx carte n'est pas authentifiée 3DS. Pour Microform, assurez-vous d'appeler /pa-setup + /pa-enroll + de passer authentication_transaction_id dans /charge. Voir 3DS Payer Authentication.

Le Hosted Checkout (UC) gère 3DS automatiquement — pas d'action requise côté marchand.

Codes Void ​

rcSignification
100Void OK
236Transaction déjà voided ou reversée (idempotence : c'est un no-op)
246Cannot be voided at this time — settlement CS déjà passé. Utilisez Refund à la place.

Codes Refund ​

rcSignification
100Refund initié avec succès

Erreurs refund (montant invalide, tx introuvable, etc.) sont retournées avec status HTTP 4xx et un detail textuel — pas via reason_code.

Codes de refus paiement courants ​

Les codes ci-dessous sont documentés dans la référence Cybersource officielle. Ce sont les codes émis par la banque émettrice via le processeur (Equity Bank Kenya dans notre cas) :

rcSignification typique
201Refus général de la banque émettrice
202Carte expirée
203Refus général du processeur
204Fonds insuffisants
205Carte perdue ou volée
207Compte suspendu
208Carte inactive
210Limite de crédit dépassée
211CVV invalide (mismatch)
230AVS refus — adresse ne correspond pas
231Numéro de compte invalide
232Type de carte non accepté par le processeur
233Refus général par le processeur
240Type de carte ne correspond pas au préfixe du numéro

Ces codes peuvent varier légèrement selon l'issuer et le pays. Considérez toujours le message textuel retourné en complément.

Interprétation status normalisé Moko (/microform/charge) ​

Notre /microform/charge normalise le status Cybersource selon cette logique (extrait du code) :

Moko statusCS status correspondantInterprétation marchand
SUCCESSAUTHORIZED, PARTIAL_AUTHORIZEDMoney committed. Ship le produit / service.
SUCCESS (log warning)AUTHORIZED_PENDING_REVIEWDM veut review manuel. Ne PAS ship — attendre confirmation support.
FAILEDDECLINED, AUTHORIZED_RISK_DECLINED, PENDING_AUTHENTICATION, PENDING_REVIEW, INVALID_REQUESTAucun charge. Montrer erreur customer.
FAILED (défensif)Tout autre status inattenduLog warning pour investigation support.

Interprétation transaction_status (POST /payment/status) ​

transaction_status correspond à la colonne DB cybersource_transactions.status — enum :

ValueSignification
PENDINGTx créée, checkout pas encore complété
SUCCESSCharge OK
FAILEDCharge échoué (declined, 3DS fail, etc.)
CANCELLEDCustomer a cliqué "Annuler" sur checkout
EXPIRED20 min TTL dépassé sans complétion
REFUNDEDTotalement refundée
PARTIALLY_REFUNDEDPartiellement refundée
VOIDEDVoided avant settlement

Voir aussi ​

Moko Afrika · L'infrastructure paiement de la RDC