It depends on how the payment is integrated, i guess.
Is some relatively local stores it's along the lines of:
- check out an item in the cart
- you're taken to a payment processor's page (gateway)
- there you pick your payment method, e.g. which of the supported banks you use
- then you enter your bank's user ID and personal identifier
- then a prompt pops up on your phone (though you can also use a "code calculator") with a reference ID
- you enter your PIN code to confirm the prompt on your phone, granting the gateway access to your bank account
- it then lists your payment accounts, from which you pick one that you'd like to pay with
- then you get yet another prompt on your phone, this time you have a separate longer PIN to enter for confirming the payment
- you do so, the payment is processed and you're taken back to the store page, with your order placed
Note: that app (SmartID) that's used for the codes and confirmations isn't actually maintained by the bank, but is a separate entity, so to make a payment you might have to rely on the shop being up, the payment gateway being up, the confirmation solution being up and the bank also being up. Despite all of those vectors for failure, i've actually had a pretty good track record with this solution (i've only seen the bank's service crash once and the occasional store have issues).
Oh, and the app can also be used to confirm authentication for online banking: you enter your bank user ID and personal identifier, which makes a prompt pop up on your phone, so you also get 2FA there out of the box!
For anyone wondering: https://www.seb.lv/en/private/daily-banking/smart-id
Of course, the bank also has its own app where you can make payments to specific people, or request payments, as well as view your account balance and see how your investments are doing, which is pretty nice, though you cannot use it for confirming those purchases.
On global stores (e.g. the likes of Amazon, eBay, AliExpress etc.), however, the process is generally far less involved, you just check out an item that you want, shortly afterwards the money shows up as "reserved" on your account. If you don't recognize that order, you can dispute the charge. Of course, if you don't have card details saved, you would need to enter that information first (card number, name, expiration date, code), but the end result is the same there.
That said, despite the seemingly more cumbersome approach of integrating with the bank directly for payment processing instead of going with just the card approach, i'd say that it has some security advantages for sure! With this approach, even if my bank account is compromised, no one can make payments without having direct access to my phone AND knowing the codes (as long as the system works). Of course, many still choose to pay with their cards instead.