The best credit and debit cards can do is PIN verification or biometrics (for Apple/Google Pay), but even there you still trust the terminal to not show you a different amount than you'll be charged (assuming the screen is even pointing towards you; I've often been asked to tap without seeing what I'm even consenting to).
Online, there's 3DS, but that's not required everywhere and for every transaction.
There once was a vision to extend both positive cardholder approval and cardholder authentication for each card transaction, but it turns out the friction of that is higher on average than just letting everything but the most egregiously suspicious fraud go through by default and handle the rest via the disputes process.
Out of curiosity:
> you open the app on your phone and it gives you a 6 digit BLIK code, you give that code to the seller
Is this the flow for online payments as well, or only for in-person payments?