Always at the end.
Same with everything in Thailand. That's why they provide a good service. If you get them from the internet and don't like them when they arrive give them 200-500 baht to go away.
If you meet a girl and she demands money up front I would be smelling a rat, absolutely not the done thing