Why ask for the name on card? That's not auth'ed.
Sample size of one company, so take this for what it's worth.
zip->state is not a many to one mapping, it's many to many.
Example: Zip code 19973 spans both maryland and delaware.
https://www.google.com/maps/vt/data=Ay5GWBeob_WIPLDYoIWcfVXx...
The dashed vertical line is the maryland/delaware boundary.
You can see there are people both in maryland, and delaware, who have that zip code. The post office is in seaford, de.
This actually came up in the real world in some elections stuff, because these folks often list their mailing address as in seaford, de, but vote in maryland ;)
Why doesn't it auto-fill when the user types a valid zipcode? Seems like cheap satisfaction.