In the future, I would suggest the use of Escrow.
Well, that's not always necessary. If a seller does not yet have trust but the buyer does the seller might be willing to proceed with the transaction without an escrow as the buyer is the history shows the buyer is very likely to pay or at least likely to be rational and reasonable should any dispute arise.
This might be a problem though:
I did say before we even agreed to conduct the transaction that I would pay once the goods have been shipped.
The Secure Trading article on the Bitcoin wiki addresses this:
Make sure both parties agree to the terms of the trade with signed messages
Get a PGP signed quote, and check the signature.
Send a PGP signed receipt.
This allows either party to go public if the trade has become sour and stops your trading partner from claiming the details of the agreement were somehow different.
-
http://en.bitcoin.it/wiki/Secure_Trading#Use_Bitcoin-OTCIn this instance, I'm presuming there was no agreement that was signed. If there had been, the seller probably would not have implied that the buyer wasn't following the agreement, and the buyer would have had proof, signed by the seller, that the agreement most definitely allowed the buyer to withhold payment until the order from Amazon has shipped.