Referans
Markdown dışa aktarBR-51 Kart birincil hesap numarası maskelenmelidir
Kart ödeme güvenlik standartlarına göre fatura, tam kart birincil hesap numarasını (BT-87) asla içermemelidir; PCI kuralları en fazla ilk 6 ve son 4 haneye izin verir.
Sorun açıklaması
UYARI
EN 16931 temel iş kuralı (CEN)
Bağlam ve önem
Bu, önem derecesi sözdizimine bağlı olan bir EN 16931 temel kuralıdır: doğrulama yapıtları kuralı UBL için uyarı, CII için ölümcül hata olarak raporlar. Kart verilerini korur: bir fatura birçok sistemden geçer ve yıllarca arşivlenir, bu nedenle kullanılabilir bir kart numarasını asla göstermemelidir. Doğrulayıcı, ortadaki haneler yıldızla maskelenmiş olsa bile değer 10 karakterden uzun olduğunda BT-87 için uyarı verir. Uyarı, bir ERP veya ödeme sağlayıcısı tam ya da maskelenmiş kart numarasını dışa aktardığında ortaya çıkar.
Çözüm
cac:CardAccount/cbc:PrimaryAccountNumberID (CII: ram:ApplicableTradeSettlementFinancialCard/ram:ID) alanını en fazla 10 karakterle, tercihen yalnızca kartın son 4 hanesiyle ve maskeleme karakteri olmadan doldurun. Schematron, maskelenmiş 16 karakterlik bir numara dahil, 10 karakterden uzun her değer için uyarı verir.
Hızlı işlemler
Geçerli örnekler
- BT-87 = 1881 (yalnızca son 4 hane)
Geçersiz örnekler
- BT-87 = 4012888888881881 (tam kart numarası açık)
- BT-87 = 401288******1881 (maskeli, ancak 16 karakterle 10’dan uzun)
Kod örnekleri
<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>