The receiver won't learn your IP, but a somewhat determined adversary could. (Of course, if the seller is an adversary, then they could.) This isn't a part of the protocol (there's no sender_IP
field in the transaction), it is accomplished via listening in many places on the mesh network and doing statistics to determine the originating node of a transaction. Bitcoin unmask attack. No one knows you're the originator, unless they're watching many nodes in the network. The transaction, when first sent, is indistinguishable from a forwarded transaction; so the first node to see it will think the true sender is just forwarding from another node.
You don't want to run Bitcoin over Tor, because it would allow the exit node to arbitrarily confuse your client as to the real state of the external bitcoin network. It can do this because it is the middle man in the only link b/t the client and the outside world. Bitcoin over Tor attack. To understand how this can work even with bitcoin's POW system, consider that, since there is only one point of connection (the Tor exit node) b/t the bitcoin client and the rest of the network, it is trivial for the exit node segment the network, isolating the client from all legit nodes and all legit POW. The attacker can then run its own bitcoin node on the segmented network, making the only hashing power on the network that of the user (you) and of the attacker. To execute the well known 51% attack, all the attacker needs is more hashing power than you. (Given that most clients don't having hashing enabled at all, any amount of hashing the attacker wants to do would be sufficient, given enough time.)
To be clear, you can use Tor to proxy your browser. But don't use it to proxy your Bitcoin client.
If it's really a problem, and you're willing to sacrifice absolute control of your coins, I would recommend using a web client that doesn't require much info to register and doing so through Tor. That way the unmask attack only unmasks the web client's server, which has no way of tracing you since you access it through Tor. If you're not willing to sacrifice a little control, then I don't believe there is a totally anonymous way to transact in Bitcoin.