But not many crypto wallets support attaching transaction data...

For merchants that want to actually accept crypto, I don't think the Bitcoin and Ethereum protocols are good enough.

So they have to rely on centralized payment providers like BitPay and Coinbase Commerce