A few request for the average user:
Quick and easy identification of the counterpart of a transaction is important, instead of long human-unfriendly addresses.
When I use a national peer-to-peer monetary solution (“Mobilepay” in Denmark), I can see the name of the receiver and sender, along with an optional message. These features are also useful in determining which of several consumers at the same store with identical invoice amounts have settled payment (e.g. concert tickets online), or as a quick overview over which of my friends paid for lunch.
Attached transaction text, e.g. “Merry xmas from grandpa”, “invoice #1234567”, “Great lunch!, here’s my third of the bill” would also be very useful.
Payments in UTXO based systems (like Cardano) do not need that sort of metadata, because payments are assigned to transactions via the payment address alone and nothing else needed.
That means when ordering something, like in your example, the payment system will create a new, unique payment address for this customer and payment and monitors this address. For this reason, there would be no need to store any of your data on the blockchain, and yet everything works.
This does not mean that we will never see metadata on the Cardano Blockchain. In small amounts, that would even be possible right now. But probably not in the form of storing whole messages that would be irrelevant to most people. (this would inflate the block chain with unnecessary data as you can see in many projects)
Rather, we need to think carefully about what kind of metadata and in what form it makes sense to store on a blockchain at all. And probably, the result will be that metadata will be stored and hashed elsewhere and only the hash of that metadata will be stored with the transaction together on the blockchain.
Thank you adatainment for clarifying
Thank you RobJF, Syre looks interesting