So I'm creating a form for users to purchase things from my site, and currently, I have the following fields (all required):
- CC Number
- CVC
- Expiry MM/YY
- Name on Card
- Billing Postal Code
But I'm curious about the viability of that last one. My payment gateway supports validation of those fields when charging a card, and I'd like as much as possible when validating a payment to prevent fraud. However, in doing a bit of validation research, I came across this very helpful map on the postal code Wikipedia page that details where postal codes of what length are used. And in looking at the map, there are some countries that don't use a postal code, which would likely mean validation based on that may not work as a required field.
For example, from the looks of the map, Ireland does not seem to have a postal code. Does that mean that postal codes cannot be used to validate credit card transactions there? Clearly if they don't have a postal code, making it a required field seems problematic.
But, in doing the transactions, I'm also going to need to do verification for sales taxes that need to be paid, and Zip/postal code seems like the best way to accomplish this.
Is Postal Code a valid required field when processing credit cards? And if not how can I support international sales with a decent level of fraud prevention, and still be able to calculate sales tax worldwide?