Referentie
Markdown-exportBR-51 Kaartnummer (PAN) van de betaalkaart mag niet volledig op de factuur staan
Volgens de beveiligingsnormen voor kaartbetalingen mag de factuur nooit een volledig kaartrekeningnummer (BT-87) bevatten; PCI-regels staan hooguit de eerste 6 en laatste 4 cijfers toe.
Probleembeschrijving
WAARSCHUWING
Bedrijfsregel van EN 16931 (CEN)
Context en betekenis
Deze kernregel van EN 16931 beschermt kaartgegevens, omdat een factuur breed wordt gedeeld en lang wordt bewaard. De ernst hangt af van de syntaxis: de validatieartefacten melden BR-51 bij UBL als waarschuwing en bij CII als fatale fout; de validator meldt BT-87 zodra de waarde langer is dan 10 tekens, ook als de middelste cijfers met sterretjes zijn gemaskeerd. De melding verschijnt vaak als een ERP of betaaldienstverlener het volledige of gemaskeerde kaartnummer exporteert.
Oplossing
Vul cac:CardAccount/cbc:PrimaryAccountNumberID (CII: ram:ApplicableTradeSettlementFinancialCard/ram:ID) met hooguit 10 tekens, bij voorkeur alleen de laatste 4 cijfers van de kaart, zonder maskeringstekens. Het Schematron waarschuwt bij elke waarde van meer dan 10 tekens, ook bij een gemaskeerd nummer van 16 tekens.
Snelle acties
Geldige voorbeelden
- BT-87 = 1881 — alleen de laatste 4 cijfers
Ongeldige voorbeelden
- BT-87 = 4012888888881881 (volledig nummer zichtbaar)
- BT-87 = 401288******1881 — 16 tekens; ook met maskering langer dan 10 tekens
Codevoorbeelden
<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>