commerce icon indicating copy to clipboard operation
commerce copied to clipboard

[4.x]: First name with hyphen is merged into last name after save

Open philipboomy opened this issue 9 months ago • 4 comments

What happened?

Description

When submitting separate first name and last name on the checkout then when the first name contains a hyphen "-" then after save the first name is blank the last name field contains the first name and last name.

Steps to reproduce

  1. submit first name and last name separately
  2. Make sure first name contains a hyphen "-" .e.g. "Chi-la".
  3. Last name can be anything e.g. "Smith"
  4. Submit the form.
  5. Refresh and now the first name field is empty and the last name contains "Chi-la Smith"

Expected behavior

I would expect first name field contains "Chi-la" and last name contains "Smith.

WARNING! Stripe does not not support hyphen "-" in the name so perhaps better to output this:

First name: "Chi la" Last name: "Smith

Alternatively strip the hyphen "-" from the stripe payment request generation.

I noticed this issue as a customer couldn't pay due to Stripe having a JS error. Uncaught (in promise) TypeError: paymentResponse.redirectData is undefined due to no first name stored on the order.

Actual behavior

First name: (blank) Last name: "Chi-la Smith"

Craft CMS version

4.8.10

Craft Commerce version

4.5.4

PHP version

No response

Operating system and version

No response

Database type and version

No response

Image driver and version

No response

Installed plugins and versions

philipboomy avatar May 06 '24 07:05 philipboomy

@philipboomy

I cant reproduce on latest Craft Commerce 4.x release. Can you confirm if it is happening on address save, or is it only happening when supplied to Stripe?

lukeholder avatar May 06 '24 07:05 lukeholder

@lukeholder Thanks for quick reply.

It happens on address save but part of the guest checkout so using commerce/cart/update-cart, I just noticed because Stripe complained. I have shared a link to production site in Discord.

philipboomy avatar May 06 '24 07:05 philipboomy

ffr, after discussion on discord, this is only happening on his production site with 'chi-la', but not other hyphenated names. 'chi-la' works on my local dev machine. Going to need to look into it more using the same production templates/project.

lukeholder avatar May 06 '24 08:05 lukeholder