I was looking into payment links and QR codes recently. It seems like EIP-681/831 are not properly implemented in almost any wallet, for some reason. When you generate a payment link/QR, most wallets will pick up just the recipient address, but ignore the amount and currency/contract. What’s worse, I didn’t find a single wallet that would allow generating the QR codes. Is there a reason why all this is largely ignored?
The typical use case is this:
I go to coffeeshop and buy a coffee for $5
The merchant types 5 USDC to his wallet (or point-of-sale terminal) and generates a payment QR
I scan the code and just confirm the payment
^ this is very much akin to how payment cards / applepay work nowadays
I understand that current gas prices are not feasible for micropayments, but that may soon change with eth 2.0 and/or layer 2 solutions.
One bonus use case would be if both recipient and sender could set the currency, and it would be converted during the transaction. In other words, the merchant accepts only USDC, but I hold only EURT in my wallet, I still want to be able to transact before going to dex first.
Anyway, is any of the above possible, or are there some obstacles I am not aware of? Thank you.
Yea - this is the unfortunate reality. I think nowadays one should go the WalletConnect route. And due to the bidirectional nature of WC you can even improve the UX of your use-case by querying the address first - then analyzing which assets the user has (on which chain/layer) that you would like to trade for your goods or services.