Yes, just a plain tap-to-pay on the meter itself (or a nearby kiosk) is the obvious solution. I think doing it on the meter is awkward because then they all need to be online, so you're either dealing with individual M2M cards or some kind of local mesh network, not to mention powering them all. The kiosk is another thing to have to install and maintain and power. And doing a plain tap would have no way of inputting how long you wanted to pay for.
All that to say, I can fully understand how we ended up with "here's a sticker with a number on it, pay on your phone"; it's just, the pay on your phone option should be a one step apple/google pay webpage where you at most have to enter your license plate, and it certainly should not be collecting credit card details within the app.
And what if I don't use Apple Pay or Google Pay?