Contrôle AVS/CVV et signaux frod
1) Pourquoi AVS/CVV dans iGaming
AVS (Address Verification Service) et CVV/CVC sont les contrôles de base de card-not-present qui :- réduire le risque de frod/charjbecks selon « No Auth « /« Fraud »,
- renforcer la confiance de l'émetteur dans les CIT primaires,
- aider à éliminer les bots/drops jusqu'à 3DS challenge,
- fournit des données pour le routage et le scoring.
Important : Les AVS/CVV ne remplacent pas la 3DS2/SCA et la tokenisation, mais fonctionnent bien ensemble.
2) Comment cela fonctionne (en termes généraux)
AVS : comparaison de l'adresse de facturation du client (rue, index, parfois ville/État) avec celle de l'émetteur. Le code (match/partial/no match/unsupported) est renvoyé.
CVV : vérification du code sur la carte ; retour match/no match/not processed/issuer not certified.
Les deux résultats viennent dans la réponse d'autorisation de PSP/acquéreur (ou dans des champs de webhooks distincts) et doivent être logés sans PAN, liés à 'payment _ id'.
3) Codes AVS (logique de décision consolidée)
Les codes diffèrent entre les schémas et les PSP, mais la normalisation pratique ressemble à ceci :- Coïncidence totale : « Y » (rue + index) → un signal positif fort.
- Coïncidence partielle : "A" (rue ok, index non), "Z" (index ok, rue non), "W/X" (ZIP à 9-/5 chiffres), "D/M' (coïncidences internationales) → modérément positive.
- Pas de coïncidence : 'N' → le signal négatif ; défaillance possible ou contrôle renforcé/3DS.
- Indisponible/non applicable : 'U' (non disponible), 'R' (non disponible), 'S' (non supporté par AVS), 'G' (non supporté par l'international) → neutre/faible, la solution dépend du contexte.
- Marchés/cartes à haut risque : exiger une correspondance partielle ≥ ou une 3DS-challenge par défaut.
- Clients à bas risque avec une histoire : ramollir à la tolérance « match partiel » sans challenge.
- Pour les abonnements (MIT) : AVS est utile sur le CIT initial ; ensuite, s'appuyer sur les artefacts/jetons 3DS et l'histoire.
4) Codes CVV/CVC (normalisation)
Match : "M'est un facteur positif fort (en particulier pour l'enregistrement primaire de la carte).
No Match : "N'est un négatif fort ; une renonciation ou une 3DS-challenge obligatoire est recommandée.
Not processed/Not present : 'P '/' S' est faible, voir contexte (parfois l'émetteur ne prend pas en charge ou le champ est perdu).
Issuer not certified/Unavailable : 'U' est neutre/faiblement egatif.
- Pour le CIT avec 'CVV = N', il est courant de rejeter (ou d'envoyer au 3DS-challenge et à la vérification).
- Aucun CVV n'est demandé pour le MIT (répétitions) ; comptez sur le lien avec le CIT initial.
5) Liaison AVS/CVV ↔ jetons de 3DS/SCA et de réseau
L' 3DS2 avec succès (ECI/CAVV) fournit une liability shift (dans le cadre des règles), ce qui réduit l'importance de l'AVS/CVV en tant que barrière « obligatoire », mais :- Les AVS/CVV réduisent le risque de challenge et augmentent la probabilité de frictionless.
- Avec 'AVS = N'et/ou' CVV = N', il est raisonnable d'initier la 3DS de force.
- Tokens de réseau (VTS/MDES/NSPK) et VAU/ABU augmentent AR et LTV ; avec les AVS/CVV donnent une meilleure image du risque sur le CIT initial.
6) Signaux Frod : quoi collecter et comment utiliser
Signaux techniques/contextuels :- Device fingerprint (canvas/webgl/audio, шрифты, timezone, lang).
- Velocity : tentatives de paiement par guichet (par carte/compte/appareil/IP/BIN).
- Géo-cohérence : pays IP vs BIN pays vs facturation vs langue/monnaie.
- Modèles comportementaux : vitesse d'entrée, focus sur les champs, copipast, erreurs CVV.
- Historique du compte : âge, sessions de jeu AHT, statut KYC, retours.
- Attributs de paiement : MCC 7995, type de carte (prepaid/debit/credit), risque d'émetteur.
- métadonnées 3DS : method completion, dsTransID, fréquence des challenges chez l'émetteur.
- Construisez un score à risque composite (0-100) avec des échelles : CVV, AVS, device, geo, velocity, histoire 3DS.
- 'Score ≤ T1 '→ frictionless (si disponible) ;
- `T1 < score ≤ T2` → challenge (3DS);
- « score> T2 » → decline ou contrôle manuel/alternative.
7) Matrice de solutions (exemple pour un orchestrateur)
8) Retrai et modèles UX
Erreur CVV (N) : montrez le message compréhensible « Vérifiez le code sur la carte », effacez seulement le champ CVV, ne forcez pas à tout saisir à nouveau.
Non-correspondance AVS : suggérez de vérifier l'index/rue, donnez des indices de format (ZIP-5/ZIP-9).
Soft-decline/SCA : répétition automatique avec 3DS, sans réintroduire la carte.
Bloc Velocity : court « cool-down » avec minuterie et conseil d'utiliser une autre méthode.
Alternatives : A2A (virements bancaires), portefeuilles locaux par marché.
9) Données et schémas de stockage (minimum de champs)
Ne stockez que les métadonnées sécurisées, sans PAN/CVV :- `payment_id`, `psp_txn_id`, `token_id`, `bin`, `last4`, `scheme`, `issuer_country`
- `avs_result_normalized` ∈ {Y, PARTIAL, N, NA}
- `cvv_result_normalized` ∈ {M, N, NA}
- `risk_score`, `velocity_bucket`, `device_id`, `ip_country`, `bill_country`
- `threeDS`:{`version`, `eci`, `cavv`?, `method_done`:bool, `challenge`:bool}
- `decision` ∈ {approve, challenge, decline}, `reason`
- `route` (PSP_A/B), `was_retry`:bool, timestamps
10) Métriques et observabilité (KPI/SLO)
Qualité et conversion
Approval Rate par clusters 'AVS/CVV' (par exemple, 'CVV = M&AVS = Y' vs'CVV = M&AVS = partial ').
Frictionless % et Challenge success % avec différentes classes AVS.
Taux d'abandon sur les écrans de saisie CVV/adresse.
Risque
Taux de charge (fraud/consumer dispute) dans la coupe des combinaisons AVS/CVV.
Proportion de faux positif : refus avec légitimité ultérieure (par appels/répétitions).
Soft-decline → une répétition réussie (après 3DS).
Technique
Latitude AVS/CVV de vérification (p95) et fraction « U/S/G » (non disponible).
Spikes selon 'CVV = N', 'AVS = N' (alertes) en coupe BIN/émetteur/PSP.
11) Anti-modèles
Interpréter 'AVS = U/S/G' comme un refus dur sur les BIN internationaux est une perte de conversion.
Exigez AVS dans les pays/banques où il n'est pas pris en charge de manière systémique.
Loger les adresses brutes sans camouflage et sans cibles est un risque de fuites/PII.
Rejeter 'CVV = N' sans analyser le taux d'erreur d'entrée (un mis-tip honnête est possible).
Ignorer les artefacts 3DS et l'historique client lors de correspondances AVS partielles.
12) Chèque de mise en œuvre
- Dictionnaire normalisé des codes AVS/CVV par schémas/PSP.
- Politiques décisionnelles (approve/challenge/decline) sur les combinaisons.
- Intégration avec le 3DS2 : Passage à niveau dans un défi avec AVS/CVV négatif.
- Scoring des risques : device, geo, velocity, historique client, politiques BIN.
- Modèles d'erreur UX (localisation, enregistrement des champs entrés).
- Dashboards KPI et alertes sur les surtensions "N'/" U/S/G".
- PAN-safe : sites hébergés/iframe, tokenisation ; Les logs ne sont que des métadonnées.
- Tests A/B des seuils (T1/T2) et règles sur les marchés/émetteurs.
- Pleybooks rétrograves/soft-decline et méthodes de paiement alternatives.
- Politiques de stockage d'adresses/PII (GDPR/DSR), masquage, minimisation.
13) Exemple de politique des marchés (croquis)
États-Unis/Canada (AVS est fort) : 'AVS = Y' ou 'partial + 3DS/faible risque' ; 'AVS = N' → challenge/decline.
EU (PSD2) : accent mis sur le 3DS2 (frictionless) ; AVS est un signal de scoring.
Les marchés internationaux avec un support AVS limité : base sur 3DS + device/geo/velocity ; 'AVS = U/S/G' - neutre.
14) Résumé
AVS/CVV sont les « premiers filtres » dans les paiements CNP. Ils doivent travailler en liaison avec le 3DS2, la tokenisation et le risque-scoring, et les décisions doivent être prises en fonction du contexte plutôt que d'un seul code. Normalisez les réponses, construisez un scoring, automatisez la transition vers 3DS, manipulez soigneusement les adresses/PII et mesurez le résultat avec des métriques. De cette façon, vous réduirez frod et charjbecky sans tuer la conversion.