How to verify Billing Address in Payments API?

And more related concerns here:

You guys have such a great platform, but it feels like withholding details and/or overriding bad postal, zip and cvv failures is a real weakness. Why not expose these details so API consumers can make choices appropriate to their platform? Because, our customer are the ones who are going to have to eat the chargebacks.

Here is a quote from one of my customers who doesn’t use Square for this reason – or requires their customers to call them on the phone, give credit card details, when they enter in by hand (paying a higher fee) to make sure things match.

Square has an invoice feature which allowed customers to enter their own payment information and I liked it bc I never had to handle any of it.
This was also nice because I believe you can do payment plans as well so they pay on the invoice progressively.

Sadly this ended up in a scenario where I could never trust the shipping information that they provided and got burned by someone using a stolen CC.
Had I gotten the credit card info I could have then compared it to their shipping info (completely different states/ends of the country) and asked more questions.
As such since that point in time I only take credit card directly and then manually enter the information in myself into square which is comically at a higher rate even tho it’s less likely for fraud.
This is my top concern with any approach using square and their more applicable invoicing feature, how to provide this or similar protection through (my platform) if it uses invoicing on Square.
Matching billing and shipping addresses (we only ship to hubs by the address for billing unless we know them)