Decide an appropriate treat, and tell your DS that if he is well behaved he will get it once he is in his car seat. If he has a tantrum in the shop, you say "DS, I am going to count to 3. If I get to 3, we will be going home, and no treat."
Count slowly but evenly to 3. No emotion, firm voice. If he starts to respond, congratulate him, tell him that he is being very grown up. Remind him about the treat. If you get to 3, say "OK, DS, we are going home, and no treat". Pick him up, carry him to the car, ignoring any tantrumming.
When you get to the car, put him into his seat. Always make sure you loosen the straps fully when you get him out, so that they are loose when you get him in. You should be able to do up the straps, even if he is 'stair rodding', but they will be loose and not hold him in. If he is 'stair rodding' i.e. stiffening and pushing himself out of the seat, don't fight him. Just wait and watch. Generally speaking, as they 'stair rod' they breath hold. Eventually, they have to take a breath, which is distracting. So when he takes a breath, gently but firmly push the palm of your hand into his stomach area, grab the strap and pull, so that the straps tighten.
I have a DD with SN who is an expert at all of this. But the trick is to get in quickly and not to wind them up further by fighting them. Just watch, wait, then make your move.