Oh it's easy: they don't use Visa / Mastercard, but their own domestic system called Swish, which is much cheaper for businesses and of course completely free for individuals.
Similar instant payment systems have really blossomed across the world, especially in recent years. One by one, countries are finally figuring out that there's no reason to rely on American brands for all of the payment processing.
A lot of stores have minimums if you want to pay with Swish, the more common answer to how we pay for small amounts like that is... we just use our cards like any other purchase.
No because you need BankID which is issued by your bank and to get BankID you need a Swedish bank and a personnummer. You can use a foreign phone number with Swish but some banks don't allow it (or only allow some countries, e.g. finland).