its a cool idea. if your city is already using the barcode scanners I say at least start there. at least with an app the usage would be tied to a user account. python and django or flask with mysql or postgres or mariadb for sql are fine. java / c# are a bit harder. if you're familiar with html/js and want to make a quick app there's cordova and then maybe the barcode could be an svg or something programatic. docker is fine too. you could also just do
apt install python3 postgres
on a vps or the cheapest hosts are usually php / mysql / cpanel and then you don't have to setup anything and you could basically just have raw PHP files for api endpoints if you want and you could do local dev with xamp, wamp or mamp. an endpoint for the scanners to log completed scans for analytics would be good. (linking scans back to the bus, user, and time) the stripe api isn't too bad. make sure to argon2id / bycrypt passwords. anyways I think your plan is good. good luck!