Make the invite permanent before you print it
Discord invites expire by default — seven days unless you change it. That's fine in a chat, and fatal on a poster: every code printed with a default invite stops working a week later. Before you generate anything for print, create an invite set to never expire, with no use limit, and encode that one.
If your server has a vanity URL (discord.gg/yourname), that's even better. It never expires, it's readable on the printed preview, and it survives regenerating your other invites. Boosted servers can set one in server settings.
Discord usernames don't have a public web address, so there's no "profile QR" to make — a server invite is the thing worth encoding. For a personal account, a small private server or a link-in-bio page that lists your Discord name works better.
Every Discord code made here is static: the link lives in the pattern itself, with no redirect service in the middle that can expire, start charging or go down. There's no account, no watermark and no scan limit — download it once and it keeps working for as long as the Discord link behind it does.