I had to pay because I didn't fill out their "prove you deserve to get it for free" form. I'd rather spend $23 than have Shopper's add a bunch of stuff to my file. Plus, I like pretending I'm not part of a vulnerable population.
They didn't even ask that of me the first time I had the shot at Walmart two years ago. All they asked was the usual name/address/phone number/health care number and if I had any allergies or bad reactions in the past to flu shots. This time around they also asked if I had any prescriptions on file with them, and I told them I'd picked up a couple of things earlier this year and had my flu shot there last year and the year before, so they would have a file for me.
Not that it was a requirement, but of course they're always hoping for new customers. If they had delivery service, I'd seriously consider switching, because my current pharmacy isn't giving me satisfactory service anymore.
So yeah, it was free, no questions asked about proving I was in one of the high-risk groups (a question always asked at the seniors centre because I'm obviously younger than 65). They're happy to have people ask about the flu shots since there are always situations in this city when outbreaks happen (an unfortunate number of people are hospitalized every year and some of them die). Herd immunity is what they're going for, and every person helps.
Now for me, I have to be a hermit for the next week or two until it kicks in, and be even more careful about what I touch in public places (ie. phones - we still have a few pay phones around - and elevator buttons, door handles, and I wish the custom of shaking hands would go away).
Your choice to spend $23 when you didn't have to is your own, of course. I'm not too proud to take advantage of whatever I'm allowed to claim because of health issues or age issues (I'm now eligible for seniors' discounts at one of the pharmacies in town, but only on Tuesdays; it's nice to be able to save 20% on occasion).