How to determine when extra customer information is required

One thing I noticed when going through the API docs is that the more personal information a customer provides, the better chance the order will be successful.

However, I read on the internet that a form that asks for too much information during checkout could cause a customer to cancel his order.

Currently, My form requests the following info:

Customer’s first name
Customer’s last name
Customer’s email

and for each ticket holder…

Ticket holder’s first name
Ticket holder’s last name
Ticket holder’s last email

Then I have these fields for the customer:

Phone number
Address
Apartment #
City
Province
Postal Code
Country Code

So if the customer orders one ticket for someone, then I show 13 fields, but in some cases I could eliminate the last 7. At least when I run test orders, I never fill in the last 7 fields.

So what I want to know here is how do I determine if or when your API requires any of the last 7 fields to be completed partially or completely and when?

A customer would be frustrated if his order fails to go through because he intentionally left one of the 7 fields blank. and as I mentioned, another customer might be frustrated for seeing so many fields to fill in.

How do I solve this with the API or even with the web SDK?

For example, if I made a javascript function like the following:

function needspersonalinfo(needsinfo){
var infobox=document.getElementById("infobox");
if (needsinfo===1){
infobox.style.display="block";
}else{
infobox.style.display="none";
}
}

is/will there be some function I can use to register it for example:

square.registerPersonalInfoNeeds(needspersonalinfo);

Then the needspersonalinfo function is called everytime the requirement of personal information needs to be changed.

: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

Web Payments SDK Requirements
Square Developer
Customers API Workflows

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.

As one quick point, if you use the correct field names and IDs, most browsers will auto-fill all the fields they can. I realize this is more complex with multiple ticket holders but can’t see an easy way around that.

Any field that you require can obviously be made mandatory and submit disallowed until it’s filled.

The amount of personal information you collect from customers during checkout can indeed impact the success of the transaction, but it’s also important to balance this with the user experience.

In terms of Square’s API requirements, the minimum amount of personal information necessary to process a transaction varies depending on the type of transaction and the region. For example, for online transactions in the United States, Canada, and the United Kingdom, a postal code is required. However, for other countries, the postal code requirement can be removed.

For in-person transactions using the Terminal API or Reader SDK, less information is typically required. However, capturing more information can be beneficial for record-keeping and customer management purposes.

In terms of your specific form fields, the last seven fields (Phone number, Address, Apartment #, City, Province, Postal Code, Country Code) are not strictly necessary for processing a payment with Square’s APIs. However, they might be required for shipping or billing purposes, depending on your business model.

As for dynamically showing or hiding these fields based on the requirements of the Square API, there isn’t a built-in function in the Square API or SDKs that directly supports this. However, you could potentially implement this functionality in your own application logic. For example, you could use the country or region information provided by the user to determine whether to show or hide certain fields.

Remember, it’s always important to clearly communicate to your customers why you’re collecting certain pieces of information and to ensure you’re handling and storing their data responsibly.

This answer was reviewed by @Bryan-Square.

I’m curious if your verifybuyer() function has much of a role if the last 7 fields I mentioned for my checkout are optional. My model is selling tickets online and running events in person. I personally don’t need people’s addresses or phone numbers.

| Square-Dev-AI
December 16 |

  • | - |

The amount of personal information you collect from customers during checkout can indeed impact the success of the transaction, but it’s also important to balance this with the user experience.

In terms of Square’s API requirements, the minimum amount of personal information necessary to process a transaction varies depending on the type of transaction and the region. For example, for online transactions in the United States, Canada, and the United Kingdom, a postal code is required. However, for other countries, the postal code requirement can be removed.

For in-person transactions using the Terminal API or Reader SDK, less information is typically required. However, capturing more information can be beneficial for record-keeping and customer management purposes.

In terms of your specific form fields, the last seven fields (Phone number, Address, Apartment #, City, Province, Postal Code, Country Code) are not strictly necessary for processing a payment with Square’s APIs. However, they might be required for shipping or billing purposes, depending on your business model.

As for dynamically showing or hiding these fields based on the requirements of the Square API, there isn’t a built-in function in the Square API or SDKs that directly supports this. However, you could potentially implement this functionality in your own application logic. For example, you could use the country or region information provided by the user to determine whether to show or hide certain fields.

Remember, it’s always important to clearly communicate to your customers why you’re collecting certain pieces of information and to ensure you’re handling and storing their data responsibly.

This answer was reviewed by @Bryan-Square.