Why not just use a system similar to influencing NPC attitudes?
Replace the words "Hostile, Unfriendly, Indifferent, Friendly, Helpful" with "Bargain, Reasonable, Moderate, Pricey, Outrageous"
If the PC wants a chance to haggle, the merchant must first be warmed to the idea with a diplomacy...