What is a usual approach to fixed-price software project payment? Does a vendor get the money after the result of the project is delivered to a customer? Or is the payment made upfront? Or a mixed approach?
It's a matter of how the vendor and the client negotiate the contract. Most commonly though, payments are made as work proceeds (monthly, quarterly, more frequently or less, etc) or at specific intervals (like agreed upon milestones, etc).
It's a fixed-price contract, so both parties know upfront what needs to be payed, but vendors usually prefer to have payments done for the work already completed so they don't support all the costs on large projects up to the end when they would receive a one time full payment (which would be riskier). Clients sometimes also prefer it that way because they don't want to risk the vendor going bust for lack of money working on their project (assuming for example a smaller vendor).