I come back from 3 weeks in Japan. I travel from Fukuoka to Tokyo, Kyoto, Osaka, Kobe,… and that is my experience :
So, I have take 2 cards with me, the first one was a Revolut VISA card(fee 0%), and the second one was a VISA card from a french bank(fee 2%).
I could withdraw ONLY in Japan Post ATM with my Revolut card.
For payment, I could pay everywhere but not at every hour !?
For example, in a 7-eleven, I pay successfully with the revolut card at 1am. At 2am, in the same 7-eleven(same place, same cashier), the payment was refused.
That’s was very weird.
I didn’t report this issue with my french card, withdraw(in international ATM) and payment works well everywhere.
So, every time you need to pay something, you need to bring cash or a 2nd card from another bank with you, only in the case of a refused payment.
A withdraw in a JP ATM will apply fee(216¥), regardless of the amount withdraw.
The best solution for me was withdrawing a lot in JP ATM, and put ~50% of the withdraw on a Icoca/Suica card.
For information, Icoca/Suica card is accepted in a lot of store, including every Lawson/7-eleven/Familymart/Biccamera, but you can also take the train, the subway, the tramway,… more easily, without buying a ticket.
If you have any question feel free to ask