Kartennummer auf höchstens zehn Zeichen begrenzen

Fehler BR-51 EN 16931

Gemäß den Sicherheitsstandards für Kartenzahlungen sollte eine Rechnung niemals eine vollständige primäre Kontonummer der Zahlungskarte (BT-87) enthalten. Derzeit hat der PCI Security Standards Council festgelegt, dass die ersten 6 und die letzten 4 Ziffern die maximale Anzahl der anzuzeigenden Ziffern sind.

Pflichtregel: Solange sie verletzt ist, ist die Rechnung ungültig und wird von Validatoren abgewiesen.
Was nicht stimmt

Der normalisierte Wert von ID enthält mehr als zehn Zeichen. Eine Rechnung darf keine vollständige Kartennummer enthalten; nach dem angegebenen Sicherheitshinweis sind höchstens zehn Ziffern anzuzeigen.

Was die Regel bedeutet

Die Begrenzung schützt die Kartennummer, indem verhindert wird, dass die vollständige primäre Kontonummer auf der Rechnung erscheint.

Betroffene Felder BT-87
Bitte begrenzen Sie die Kartenkennung auf höchstens zehn Zeichen

Die Kartenkennung in der Rechnung ist länger als zehn Zeichen. Kürzen Sie die angegebene Kennung, damit keine vollständige Kartennummer enthalten ist.

Was ist zu tun?
  1. Suchen Sie die Kartenkennung im Element ApplicableTradeSettlementFinancialCard/ID.
  2. Begrenzen Sie den normalisierten Wert auf höchstens zehn Zeichen.
  3. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:ApplicableTradeSettlementFinancialCard>
  <ram:ID>123456789012</ram:ID>
</ram:ApplicableTradeSettlementFinancialCard>
✓ In Ordnung
<ram:ApplicableTradeSettlementFinancialCard>
  <ram:ID>1234567890</ram:ID>
</ram:ApplicableTradeSettlementFinancialCard>
Technische Details

Der Test wendet normalize-space auf ID an und prüft, ob die resultierende Zeichenlänge höchstens zehn beträgt.

Wo die Regel greift

Die Regel gilt für die Kartenkennung ID innerhalb von ApplicableTradeSettlementFinancialCard.

Originalmeldung aus dem Schematron
In accordance with card payments security standards an invoice should never include a full card primary account number (BT-87). At the moment PCI Security Standards Council has defined that the first 6 digits and last 4 digits are the maximum number of digits to be shown.
Kontext (rule/@context)
//ram:ApplicableTradeSettlementFinancialCard
Prüfausdruck (assert/@test)
string-length(normalize-space(ram:ID)) <= 10