woocommerce / woocommerce-gateway-stripe

The official Stripe Payment Gateway for WooCommerce
https://wordpress.org/plugins/woocommerce-gateway-stripe/
229 stars 200 forks source link

Add cardholder name input field #1485

Open dademaru opened 3 years ago

dademaru commented 3 years ago

Hello,

WC Stripe currently pass as cardholder name billing_first_name and billing_last_name(with fallback to user first_name and last_name) in generate_customer_request().

But it happens that customers use a credit card whose cardholder name is different from the entered billing name. In these cases the payment is declined.

I've checked if there were already any issue related to this topic but I only found a proposed WooCommerce idea and these closed Support tickets: 1 and 2.

A possible solution would be to add a 'cardholder name' input field above credit card input, which may be pre-filled with billing_first_name & billing_last_name (if user is logged in & already filled in these fields), but must be editable by the customer if it's different from his billing name.

The value should then be saved to payment token props when adding source, so it would be necessary to add get/set cardholder methods to WooCommerce WC_Payment_Token_CC class, in addition to existing ones (last4, _expiryyear, _expirymonth, _cardtype). I also think that implementing cardholder methods would be useful for other credit card gateways too.

Thanks for your consideration.

cardholdernameissue commented 3 years ago

I am having this exact problem. For example a user purchases an online course, but the cardholder name could be their spouse. Is there a temporary workaround that I can implement?

Ad option to add the cardholder name to the stripe checkout would be very important for my business.

shendy-a8c commented 3 years ago

This is definitely a common case where someone uses someone else's credit card. I am curious though, why can't one just put the cardholder name in the billing details instead?

cardholdernameissue1 commented 3 years ago

The problem is when someone is creating an account with a purchase, the name associated with the account may be different than the cardholder name. In my use case, a student is purchasing a course but using their parent's credit card. WordPress will set the account name to their parent's name automatically. Any online or virtual product could use this feature.

JuliendeGasquet commented 3 years ago

I have the exact same problem: too many payments declined because of people using a card with a different name on it than the shipping / billing address. An "Name on card" input would be a welcome addition.

shameemreza commented 4 months ago

Possibly another report here: 8042342-zen