Stripe: card holder name verification

Viktor picture Viktor · Dec 25, 2016 · Viewed 11.3k times · Source

How can I implement this scenario:

1) When making payment with credit card user puts in the form his/her first name and last name

2) If first and last name entered to not match first and last name ("printed") on the card - we (myself or stripe) reject transaction.

As I see in examples (https://stripe.com/docs/custom-form#step-1-collecting-credit-card-information), to create new token Stripe.js uses only: Card Number, Expiration (MM/YY), CVC.

My back-end is on Java. As I see, neither 'Charge' object, nor 'Customer' do not have properties such as 'first name', 'last name'

On Quora I found an answer from a Stripe employee, stating that it is possible:

"You can also send us more data, such as billing address and cardholder name. Stripe can compare the billing address entered by the customer against that on file with their bank. This is also a useful indicator for determining whether the payment is being made by the genuine cardholder."

https://www.quora.com/Whats-the-bare-minimum-information-that-Stripe-requires-to-charge-a-credit-card

But how do I implement this?

Answer

A B picture A B · Jan 2, 2017

Unfortunately, most banks don't provide any way to verify the cardholder's name. This tends to surprise people, since most merchants do request the cardholder's name.

The main standard for sending messages over the credit card networks, ISO8583, doesn't even contain a field to transmit the cardholder name.

Most merchants tend to use the CVC and address for verification, since address verification (AVS) is usable in many countries.

See also: https://www.quora.com/How-is-a-cardholder-name-used-when-you-pay-with-a-credit-card-online