From the Agile Manifesto, the latter two priority points present specific challenges for fixed price contracts:
"[We value] Customer collaboration over contract negotiation"
This is either pretty straightforward, or else impossible, to reconcile. The principle is that the contract does the job of defining commercial terms.
A 'classic' development contract that sets out waterfall-style milestones etc is obviously anti-agile. If the customer requires this non-collaborative approach, some agile ideas may help you in your internal processes, but don't kid yourself.
However, the collaborative approach will often include helping the relevant manager to create a contract that will satisfy internal procurement processes based on price-for-scope, but create what should be more valuable to the manager, price-for-progress.
You can fix the total contract price, or the price per month, or pretty much anything you like, and be fully agile.
"[We value] Responding to change over following a plan"
Agile doesn't say, "don't plan." It just says it's crazy to follow the plan blindly when the world changed. Again, traditional buying processes tend to look exactly the opposite of us. But this is an easier reconciliation.
In some cases, especially smaller projects or ones driven by external factors such as compliance, there is no significant likelihood of change. In others, this is a minor contractual issue (what is the mechanism within the contract to allow for variation), but more importantly a relational one (how do we stay engaged with stakeholders so that situational change is discovered quickly and embraced organically.
If you are truly embracing agile, and change arrives such that the project doesn't make sense, or can be reduced, or considered complete early - be ready to give the customer the gift of freedom to end up below the fixed price.