Cardholder info

Of the endpoints, Payments, Card, and Customers, is there a way to guarantee that any of these endpoints guarantee will return the cardholder_name when created? From my sandbox testing, I can see that its not always returned, and from my understanding when Square receives a payment request with a new card number, they create a new customer profile and save the full name on the new card in the customers profile. Is this a safe way to guarantee the cardholder_name can be retrieved consistently?

:wave: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Cards API Overview
Integrate Customer Profiles with Other Services
Card Payments

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

No, there is no guarantee that the cardholder_name will always be returned when creating a payment, card, or customer. The cardholder_name is dependent on the card information provided by the customer and may not always be available.

When Square creates a new customer profile after receiving a payment request with a new card number, it does not automatically save the full name on the new card in the customer’s profile. The customer’s profile information, including their name, must be explicitly provided when creating or updating a customer profile using the Customers API.

Therefore, it’s not a reliable method to consistently retrieve the cardholder_name. It’s recommended to explicitly collect and store this information as part of your application’s payment or customer creation process.

This answer was reviewed by @Bryan-Square.

When Square creates a new customer profile after receiving a payment request with a new card number, it does not automatically save the full name on the new card in the customer’s profile. The customer’s profile information, including their name, must be explicitly provided when creating or updating a customer profile using the Customers API.

I am confused about this, here is a forum that says something contradictory, that the cardholder name is saved in an instant profile.

If I am a customer who walks into a store and I pay at a Square POS tablet, then my assumption is that a customer profile will be created for me automatically, with my name, as well as my card information. According to the linked forum, the instant profile saves the customer name in the profile, but only “If a customer’s name is collected from a payment card and a matching profile does not already exist within your directory, Square creates an instant profile”. How can we tell if the Square tablet a customer paid at retrieved the name on the card at the time of the payment? What data is Square guaranteed to store when a customer makes a purchase at a Square POS tablet.

For context, this is what I am trying to do: I am storing the cardholder name, last 4 digits, and expiration date of the user using our 3rd party app. I want to verify that a customer made a purchase at a specific store by querying Square’s APIs using the above information. I require the cardholder name for some additional business logic.

Instant profiles are customer profiles that are automatically created in a seller’s Customer Directory following a payment. Future purchases made with the same card update the profile history with new payment details and other activities for your business.

If a customer isn’t assigned to a payment, Square attempts to infer the associated customer. First, Square checks the customer_id field in the corresponding order. If this field isn’t set, Square searches the Customer Directory for a matching profile using payment or related information (such as the billing and shipping address, email address, and payment source). If one cannot be found, Square attempts to create an instant profile. Note that this process is asynchronous and might take some time before customer_id is added to the payment.

If Square cannot find a matching customer profile and cannot create an instant profile, the customer_id field of the payment remains unset.

Some regions prevent the creation of instant profiles or allow sellers to disable this feature.

If the customer_id isn’t set for a payment made using a non-payment-card payment method (such as gift card, ACH, or Cash App), Square doesn’t attempt to find or create a customer profile to populate the customer_id field. :slightly_smiling_face:

1 Like