The one who gives you the contract has an annoyance meter, which if it gets too high will revert the price back to the starting amount. Because of this, you get to negotiate your price with the contract giver, and you should try to get as much as possible. My favorite part about The Witcher 3 is taking contracts to defeat monsters, which is the entire purpose of a witcher. You may have to jump around from merchant to merchant though, as each one has a limited amount of money. Maximize your profits by throwing out the weapons with less value and picking up the more expensive ones. One trick to help you carry more is to have the best saddlebags you can get. You’ll defeat hundreds of enemies over the course of the game, and bandit camps are a constant source of new weapons.
Probably the most reliable way to get crowns is to collect as many enemy weapons as you can and sell them to merchants.