It wouldn't necessarily be insecure - the bus could reject an offline-generated ticket at the time the user tries to get on the bus if the user's account is unable to pay for it.
Sure, if the scanners are online that makes a great deal of sense (though you would have to perform that transaction in real-time, which would be slow)