This is much simpler version of your question:
Given a list of strings, how do I check the user input is in that list?
You don't need a special service or fancy software to do that, just make a big list of the zipcodes you support and use in_array
.
const $supported_zipcodes = [
'zipcode1...',
'zipcode2...',
... etc
];
function ncblender_check_zipcode( string $zipcode ) : bool {
// clean up the zip code, remove trailing spaces and make it all lowercase
$zipcode = trim( strtolower( $zipcode ) );
// don't do empty zipcodes
if ( empty( $zipcode ) ) {
return false;
}
// if our cleaned up zipcode is in the list, return true
return in_array( $zipcode, $supported_zipcodes, false )
}
Now you can create a generic form with a text input, and use that function to check if it's a supported zipcode or not. You might want to find better zipcode validation code online as what I put above is a simple/crude check, but that might just be enough for you