This part of the contract is not followed in SEA countries. If you want to pay with something that carries a fee, you are going to pay the fee on top of the price. Logically, most people will choose to pay cash then.
The second reason is taxes. Most small vendors do not bother with taxing their incomes; they are too poor for that anyway, every coin helps. With electronic ledgers documenting all the transactions, that would be much more difficult. The local IRSes do not bother with chasing these people, they know that the price would be higher than revenue; so they check only businesses with significant enough turnover.