Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do modern credit card processing systems allow diacritics in cardholder names?

Background: a lot of people have names with diacritics that can't be represented in ASCII, for example JOSÉ GONZÁLEZ

There seems to be some evidence that the encoding on a magnetic stripe can only handle unaccented latin letters A-Z in cardholder names.

This is leading a lot of people to read question 2004532, now several years old, and conclude that they shouldn't let people put diacritics in the "cardholder name" field of their credit card forms.

What is the actual best practice here? Do "modern" payment APIs like stripe / braintree etc. require, allow, or disallow cardholder names with diacritics?

like image 617
Joel Spolsky Avatar asked Mar 21 '14 14:03

Joel Spolsky


People also ask

Does name on card have to be exact?

When placing an order online, “name on card” refers to the name that appears on the credit or debit card you are using to pay for the order. Companies ask for this name as part of fraud prevention efforts, so be sure to type the name exactly as it appears on the payment method.

Does cardholder name have to match?

Answer. No, middle initials or middle names are not required and having (or not having) that information will not cause the credit card to be rejected. Most banks do not require that the name on the card to match the purchaser's name provided by the cardholder.

Why does it say incorrectly formatted cardholder name?

Incorrectly formatted cardholder name: Any issues with the card holder's name in records could cause this issue. Eg. Adding a period after your middle name. Modify the same on the Payments page.

Can the name on the credit card be verified?

If you suspect fraud or unauthorized card use, you can call the card issuer directly and: Verify the name, address and phone number the issuer has on file for their cardholder. Check if the cardholder has recently changed their address.


2 Answers

This is a good question and I am sure it will vary from processor-to-processor. But if we wanted to look at the bigger picture I think it would be, "still not yet" probably.

Having searched around for this I found:

  • This PDF from UniCredit Bank Czech Republic and Slovakia, a.s. recommending to leave out diacritics (see page 7)
  • Authorize.Net does not support them (2)
  • Realx Payments does not support them

I could not find anything from Braintree or Stripe specifically as their API documentations do not explicitly mention valid characters (at least i could find while searching. I haven't implemented either API so I do not know them intimately).

Update

I emailed Braintree and this is their response:

We do allow special characters such as diacritics for customer and cardholder name. It should be noted that special characters are not allowed for customer ids.

Update 2

Just heard back from Authorize.Net (link added by me):

We support characters in the ISO/IEC 8859-1 character set.

Update 3

Just heard back from Stripe:

Everything at Stripe uses UTF-8, so diacritics won't be a problem.

like image 173
John Conde Avatar answered Oct 18 '22 15:10

John Conde


I would say best practice is still to sanitize input.

Behind the scenes, the cardholder name is not used during the authorization process, but is (sometimes, depending on type of transaction) submitted during end of day settlement. The impact of this means that the name you provide has no impact whatsoever on the authorization.

When it is submitted for settlement it must be no more than 26 ITU-T.50 characters, in the range hexadecimal 20-5F. You can see the table for this here: http://www.zytrax.com/tech/ia5.html

This information is from the APACS 70 Standard, book 3. Not available online

Modern payment APIs still have to conform to banking standards, and those standards are literally decades old. The number of systems that use those standards makes it near impossible to modernise. Where payment processors do allow diacritics (as @agf notes in a comment here) they must be sanitized by the processor before submission to merchant bank.

like image 40
PaulG Avatar answered Oct 18 '22 16:10

PaulG