Payments
You never pay the whole budget upfront. Each milestone is funded on its own and only released once you approve it.
You pay for one milestone at a time. The money is held by Stripe and only goes to the developer once you approve the work.
By card, with 3D Secure. Never the whole budget at once.
The developer sees it is funded and starts working.
Ask for changes until it matches what you agreed.
Only then is the payment released.