There cannot be a transaction if my friend doesn't want the stuff I am willing to offer. What if there is not enough quantity, and he wants more?
A transaction takes place when there is a little compromise or traction from normal course. The only point left after compromise is charity, which too comes with a limit.
Any limitation that can be applied on barter can be applied on currency.