Web has no state borders.
Nowadays almost all websites have forms for entering postal addresses. Postal addresses are fully or partially required for a wide variety of purposes. And all the difficulties of working with addresses in the web come from the need to ensure proper work with users from all countries of the world.
The simplest example is mailing a product or letter. Also, the address is trumpeted before the goods are shipped - to calculate the cost of packaging and mailing (packaging and shipping costs). Partially, the address is necessary for the correct calculation of taxes when buying goods - namely, the percentage of VAT in the United States depends on the state.
That is, even when the user pays for a product or service, you must know from which country he is and, if it is USA, then from which state he is from. It is quite simple to do this: if you are from the USA, enter your ZIP / Postal Code.
')
Naturally, all developers are trying to reduce the form of the postal address to a unified form. It's easier to ask the user a little more than you really need than to make various forms or hide / show form elements depending on the situation.
But this approach has common side effects.
Do not forget or offend users.
The most common mistake is to make the Zip / Postal Code input field mandatory.
That's right - not all countries have a zip code. He is not in Hong Kong. Pay attention to this and maybe you will have more buyers.

If you offer users to choose a country from the list - do not forget to add Bermuda (Bermuda) there. Yes, they are considered a country and they have zip codes of two different formats.
It is also worth mentioning that most likely everyone knows this way: in different countries zip codes of different formats. There are consisting only of numbers, there are letters, there are mixed - letters and numbers.