According to Bulbapedia,
Prize money is the money that a Trainer pays out at the end of a battle.
So we know that the money comes directly from the trainer that just lost, and not some third-party committee or sponsor.
But how is this done?
It can be easy seeing the random trainers who challenge you along the way wanting to wager and then, after admitting defeat, sticking to their word and handing over their hard-earned pokebucks. Then there are the likes of Team Rocket and Giovanni, who also give money once they lose. This doesn't seem like something people in a criminal organization would willingly do.
From this it appears that trainers have no say in whether or not they cough up the dough after losing, but I can't find anything on how exactly the funds are transferred from loser to winner.
So how do Pokemon trainers receive their winnings?