Payment reference


Let's imagine I am hosting an online shop. I sell five different items with a price of 1 BTC.

Bob buys item A and Alice buys items B. Bob is paying the bill by sending 1 BTC to my Bitcoin address. Alice decides not to pay anything.

Now here is the big question: How do I know that I have received the money from Bob and not from Alice (I don't know their wallet)? Is there some kind of optional order reference / comment field in a transaction?


Posted 2015-10-24T23:17:50.843

Reputation: 45



Your best option is for the online shop to provide unique bitcoin addresses for each customer.

Bob clicks to buy item A and then fills out a quick form with his shipping information, after completion he is prompted to send 1 BTC to bitcoin address X. Alice at the same time clicks to buy item B and fills out a form and she is prompted to send her payment to address Y. If address X receives funds, the shop owner will know that Bob paid, and Alice did not.


Posted 2015-10-24T23:17:50.843

Reputation: 4 083

Address reuse is bad in general anyway. Don't ruin your customers' privacy. – Jannes – 2015-10-25T22:04:00.513

1Or rather, when payment arrives on the address you gave to Bob, you know that Bob's bill was paid. You don't know (and shouldn't care) whether it was Bob himself who paid. – Pieter Wuille – 2017-09-23T16:05:11.863

Yes, that is an important distinction. All we care is which invoice/bill is paid, not which individual made the payment. – m1xolyd1an – 2017-09-23T18:35:24.523