Référence
Export MarkdownBR-51 Le numéro de carte de paiement (PAN) doit être masqué
Conformément aux normes de sécurité des paiements par carte, la facture ne doit jamais inclure un numéro de carte complet (BT-87) ; selon le PCI Security Standards Council, au maximum les 6 premiers et les 4 derniers chiffres peuvent figurer sur la facture.
Description du problème
AVERTISSEMENT
Règle métier de la norme EN 16931 (CEN)
Contexte et importance
Il s’agit d’une règle de base de la norme EN 16931 dont la gravité dépend de la syntaxe : avertissement en UBL, erreur bloquante en CII. Il protège les données de carte : une facture circule entre plusieurs systèmes et ne doit jamais exposer un numéro de carte exploitable. Le message apparaît quand l’ERP exporte le numéro complet ou un numéro masqué de plus de 10 caractères, même si les chiffres du milieu sont remplacés par des astérisques.
Solution
Dans cac:CardAccount/cbc:PrimaryAccountNumberID (CII : ram:ApplicableTradeSettlementFinancialCard/ram:ID), n’indiquez que les derniers chiffres de la carte, par exemple les 4 derniers, sans caractères de masquage : le Schematron signale tout numéro de plus de 10 caractères, y compris un numéro masqué de 16 caractères.
Actions rapides
Exemples valides
- BT-87 = 1881 (4 derniers chiffres uniquement)
Exemples invalides
- BT-87 = 4012888888881881 (numéro complet exposé)
- BT-87 = 401288******1881 (masqué, mais 16 caractères, soit plus de 10)
Exemples de code
<cac:PaymentMeans>
<cbc:PaymentMeansCode>48</cbc:PaymentMeansCode>
<cac:CardAccount>
<cbc:PrimaryAccountNumberID>1881</cbc:PrimaryAccountNumberID>
<cbc:NetworkID>VISA</cbc:NetworkID>
</cac:CardAccount>
</cac:PaymentMeans><cac:PaymentMeans>
<cbc:PaymentMeansCode>48</cbc:PaymentMeansCode>
<cac:CardAccount>
<cbc:PrimaryAccountNumberID>401288******1881</cbc:PrimaryAccountNumberID>
<cbc:NetworkID>VISA</cbc:NetworkID>
</cac:CardAccount>
</cac:PaymentMeans>