We’re using Square to handle payments for a business in London, where people from around the world come to take classes.
A significant number of customers are unable to complete the checkout process because Square considers their valid, working phone number to be invalid (either returning INVALID_PHONE_NUMBER from the API or displaying “A valid phone number must be provided” on the checkout page). This prevents them from paying for a class.
How does Square decide which phone numbers are valid?
For example, a number of the format +44 077xx xxx xxx is being rejected; it is a valid UK mobile number, but I suspect Square may be misidentifying it as a virtual number 070 xxxx xxxx or pager 076 xxxx xxxx.
If that’s not the reason, I would like a little more information on how Square validates numbers, because right now we’re unable to support our customers who want to know why they are being told their phone numbers aren’t valid.
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.
Square checks if the number is valid based on the country code and the length of the number. However, it doesn’t check if the number is actually in use or if it’s a virtual number or a pager.
In your example, the number +44 077xx xxx xxx should be a valid UK mobile number. If it’s being rejected, it might be due to an issue with the formatting. Can you try removing the leading zero after the country code, making it +44 77xx xxx xxx, and see if that resolves the issue.