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.