Access Codes
Let subscribers activate plans using redeemable codes instead of paying through a gateway.
Access Codes are alphanumeric keys you generate and hand out — each one unlocks a specific subscription plan without the subscriber having to pay through a gateway.
At a glance
| Feature | Support |
|---|---|
| Money movement | None — bypasses payment gateways entirely |
| Recurring billing | ❌ One-time activation only |
| Modes | Live only |
| Supported currencies | Any (*) — the code inherits the plan's configured currency |
| Quota | Plan-based (Free 5, Starter monthly 200, Growth monthly 500; annual tiers are higher) |
Typical use cases
- Offline sales — you accepted cash, bank transfer, or invoice-based payment, and you hand the subscriber a code.
- Giveaways and promotions — free access to winners, contest participants, or select influencers.
- Team access — onboard staff or collaborators without going through billing.
- Private / gated plans — pair with a plan's Access codes only setting so the plan is invisible on the public portal.
Enable as a payment method
Open Setup a Payment Method
In MemberPass, go to Payment Methods → Setup a Payment Method.
Pick Access Codes
Pick Access Codes under the provider list. No credentials to enter.
Activate and save
Toggle Active on and click Save Changes.
Generate your first codes
Now that the payment method is live, head to Access Codes to actually generate codes.
Quotas and overage fees
Each creator plan includes a free allocation of access codes per billing cycle:
- Free: 5 codes per cycle
- Starter monthly: 200 / cycle
- Starter annually: 2,600 / cycle
- Growth monthly: 500 / cycle
- Growth annually: 6,500 / cycle
Key rules
"Used" means redeemed, not generated. An access code is counted against your quota when a subscriber redeems it — not when you generate it. You can generate as many unredeemed codes as you want; they only start costing quota (or money) when someone actually activates them.
No rollover. Unused quota does not carry over to the next billing cycle — it resets automatically at cycle start.
Over-the-limit billing
If the number of codes redeemed in a cycle exceeds your free allocation, the extra redemptions are subject to your plan's standard transaction fee (10 % on Free, 3 % on Starter, 1 % on Growth). These fees are rolled into your next invoice as usage-based billing.
See Transaction fees and the footnotes on plan limits for the precise billing mechanics.
Generating codes
See the full flow in Access codes (creator guide). In short:
- Enable the Access Codes payment method (this page).
- Go to Access Codes in your project.
- Click Generate New Access Codes, pick a plan and quantity.
- Choose an expiry window.
- Codes are delivered in your Telegram chat with the bot (as a CSV file for large batches, or individual messages for small ones).
How subscribers redeem
See Redeem an access code (subscriber guide).
- Bot — send the code as a chat message, or tap a deep-link like
t.me/YourBot?start=CODE. - Portal — use the Use Access Code button; enter the code and click Redeem.
Expiry & renewal reminders
Redeeming a code starts a subscription that runs for the plan's billing period — for example one month or one year. Access-code subscriptions never auto-renew: there's no payment method on file, so when the period ends, access ends.
To help subscribers stay ahead of this, the bot sends a ladder of renewal reminders as the subscription approaches its end date, then a final notice on expiry:
| When | Message |
|---|---|
| 7 days left | "expiring in 7 days" — asks the subscriber to redeem a new code |
| 3 days left | "expiring in 3 days" |
| 2 days left | "expiring in 2 days" |
| 1 day left | "expiring in 1 day" |
| On expiry | "your subscription has ended" — access is removed, with a prompt to redeem a new code |
- Each reminder fires at most once — no duplicate messages for the same milestone.
- Each reminder names the plan and project and says roughly how long is left. Access-code subscriptions are told to redeem a new access code; provider-backed (card) subscriptions instead get auto-renew wording.
- To renew a subscriber, generate and hand them a new code — redeeming it starts a fresh period.
Short plans skip long-lead reminders. A milestone is only sent when the plan's billing period is longer than that milestone. A 1-day plan never sends the 7/3/2/1-day reminders — only the on-expiry notice. A weekly (7-day) plan sends the 3/2/1-day reminders. Monthly and yearly plans get the full ladder.
Lifetime codes don't get reminders. If the plan has no recurring cycle (a one-off / lifetime plan), the subscription never expires, so no renewal reminders are sent.
Reminder timing and wording are standard across all projects and can't be customized per project today. Messages are automatically translated to the subscriber's language.
Frequently asked
Related
- Access codes (creator guide) — generate, export, and distribute.
- Subscription plans → Access codes only — hide a plan publicly and only reach it via codes.
- Redeem an access code (subscriber guide) — the other end of the flow.
- Transaction fees — overage fee mechanics.
How is this guide?