Collecting memberships in person

What is the best way to collect memberships in person?

Has anyone had success using a card reader? I think the setup might get a bit complicated, considering it will need to involve payment for a specific tier, choosing whether that’s annual/monthly, collecting emails, and collecting full names – all while trying to make it quick enough so a queue doesn’t form!

My first thought for an alternative is just QR codes dotted around the room linking to the membership page. But I imagine this wouldn’t convert people well.