Generate an access code after a customer pays. The code stops working by itself when the date passes.
Keep this page bookmarked, not linked from the site. The key is checked on the server, so this page holds no secrets. To revoke a code before its date, rotate LOOP_SECRET in Vercel (this invalidates every code, so regenerate the active ones).