> Das würde ich eher auf der Formularseite per JS abfangen,
> bevor die form gesendet wird.
Das schützt Dich nicht davor, es in PHP nochmal zu machen - denn sonst
kommen irgendwelche Sparfüchse und Scriptkiddies ganz schnell auf die
Idee, Dir manipulierte Formulardaten zu schicken... in der Hoffnung, in
anderen Ländern (vor allem in "undefined" oder "n/a"-Land) gibt's
bessere Preise, vor allem wenn durch weitere Nachlässigkeiten im
Programm bspw. Land in Deiner Datenbank nicht gefunden wird und dann
möglicherweise ein Rückgabewert von Null übernommen wird. Oder sie
finden es einfach lustig, wenn so eine Seite crasht oder infolge von
manipulierten Eingaben "Daten leakt".
> $_POST['billing_country_field'] == 'Deutschland'
Funktioniert nur, wenn der User auch wirklich "Deutschland" eingibt.
"deutschland" führt bereits zu einem Fail.
Bau das nach alle Kontrollen. Also nicht direkt die Eingaben verwenden,
sondern erstmal auf Plausibilität prüfen und ggf. korrigierte Eingaben
checken, mit denen Du auch weiterarbeiten würdest.