Yea I've worked both in customer service giving refunds and then later on for the bank in the back office
. The problem isn't the shop, it's the bank. They use temporary accounts - so when your payment was authorised your bank would have debited your account to stop you spending the cash, and put it into their own account. For Scan to give you the payment refund though, they need to go to their own bank, tell them it needs to be refunded (this is typically very straightforward and done over the same machine you use to put your chip and pin in), then the bank put it at the top of a pile, and have to send through each file to the other bank, and the bank gets it, but then has to wait a few days for some reason.
I never really understood it completely, but basically the bank holds onto your money much longer than it needs to which is what causes the delays. Of course, if scan are loaded with work and it's taking them extra to put it through (this is what I used to do on monday mornings, fun!) then by all means ring and complain...
...but in most cases blame the banks. But they do it for our own protection. Theoretically. In reality it's because if they refunded you and it turned out it was a mistake it comes out of the banks pocket (they would still try and get it back of course, but ffs even when they know they're in the wrong banks dig their heels in - if a fraudulent cheque is paid then the other bank won't give the money back, you have to take the person to court).
Anyway, little explanation, probably wrong in a lot of senses but the gist of it is the banks take ages to do stuff.