Используют ли современные системы обработки кредитных карт диакритические знаки в именах владельцев карт?
Предыстория: у многих людей есть имена с диакритикой, которые не могут быть представлены в ASCII, например JOSÉ GONZÁLEZ
Кажется, есть некоторые свидетельства того, что кодирование на магнитной полосе может обрабатывать только несогласованные латинские буквы AZ в именах держателей карт.
Это побуждает многих людей читать вопрос 2004532, которому сейчас несколько лет, и заключить, что они не должны позволять людям вводить диакритические знаки в поле "имя владельца карты" в форме своих кредитных карт.
Какая здесь самая лучшая практика? Используют ли "современные" API платежей, такие как stripe/braintree и т.д., Требуют, разрешают или запрещают имена владельцев карт с диакритикой?
Ответы
Ответ 1
Это хороший вопрос, и я уверен, что он будет отличаться от процессора к процессору. Но если бы мы хотели посмотреть на более крупную картину, я думаю, что это было бы "еще не пока".
Проследив за этим, я обнаружил:
Я не мог найти что-либо из Braintree или Stripe, потому что в документах API не указаны явно допустимые символы (по крайней мере, я мог найти их при поиске. Я не реализовал ни API, поэтому я не знаю их близко).
Обновить
Я отправил по электронной почте Braintree, и это их ответ:
Мы допускаем специальные символы, такие как диакритические знаки для имени клиента и владельца карты. Следует отметить, что специальные символы не разрешены для идентификаторов клиентов.
Обновление 2
Только что услышал от Authorize.Net (ссылка добавлена мной):
Мы поддерживаем символы в наборе символов ISO/IEC 8859-1.
Обновление 3
Только что услышал от Stripe:
Все в Stripe использует UTF-8, поэтому диакритики не будут проблемой.
Ответ 2
Я бы сказал, что наилучшая практика по-прежнему заключается в дезинфекции материалов.
За кулисами имя владельца карты не используется во время процесса авторизации, но (иногда, в зависимости от типа транзакции), представленного в конце дня. Воздействие этого означает, что имя, которое вы предоставляете, не имеет никакого влияния на авторизацию.
Когда он отправляется для расчета, он должен быть не более 26 символов МСЭ-Т.50 в шестнадцатеричном формате 20-5F. Вы можете увидеть таблицу здесь: http://www.zytrax.com/tech/ia5.html
Эта информация взята из стандарта APACS 70, книга 3. Недоступна в Интернете
Современные платежные API все еще должны соответствовать банковским стандартам, и эти стандарты буквально десятилетий назад. Число систем, использующих эти стандарты, делает невозможным модернизацию. Когда платежные процессоры разрешают диакритические знаки (как примечания @agf в комментарии здесь), они должны быть дезинфицированы процессором перед отправкой в торговый банк.
Ответ 3
Из нашего проекта это выглядит как Adyen, DataCash, EcorePay, EMP, MPI, NetPay, SafeCharge, SoEasyPay, Transact24, WireCard, LPS, Nerex, Authorize.NET, принимает диакритические знаки. Но LPS, Nerex, Authorize.NET требует, чтобы владельцы карт сначала и фамилия отдельно, и это может вызвать проблемы.
Большинство проблем с NetGate Asia (японский процессор карт) - это требует, чтобы имена First и Last были только в [a-zA-Z], без апострофа ', и даже цифры не разрешены.