Skip to main content
Collecting a payment is the easy half. The hard half is wiring up everything that has to happen after the charge clears — minting a license key, inviting the buyer to a private repo, dropping a Discord role, topping up a usage balance — and then unwinding all of it cleanly when a subscription lapses or a refund lands. Benefits are the entitlement engine that closes that gap. Define an entitlement once, attach it to any product or subscription tier, and Macropay grants access at purchase and revokes it at expiry — automatically. There are no fulfillment cron jobs to babysit and no customer.subscription.deleted webhooks to reconcile by hand. And because Macropay is your Merchant of Record, one system does the whole job: it charges the card, remits sales tax and VAT on your behalf, limits your tax liability, and drives fulfillment. Billing and entitlement never drift apart, because they’re the same flow.

The benefit types you can attach

A benefit is a reusable resource — configure it once, then link it from as many products as you like.

Prepaid Credits

Top up a customer’s usage-meter balance. The backbone of prepaid, metered, and AI/agent billing.

License Keys

Mint branded keys with your own format, expiry, and activation/validation rules.

File Downloads

Serve downloadable assets of any type — up to 10 GB per file.

GitHub Repository Access

Auto-invite paying customers to one or more private repositories.

Discord Invite

Issue invites and assign server roles to customers and active subscribers.
Need something off this list? Reach for a custom benefit, and watch this space — more built-in types are landing over time.
Building an AI product, API, or autonomous agent? Pair a Prepaid Credits benefit with a usage meter so each plan grants a balance that draws down as the customer consumes tokens, calls, or agent runs. That pairing is the foundation for metered AI and agent-outcome billing.

Define once, reuse everywhere

The thing that makes benefits manageable at scale is that each one is a standalone resource — not a blob of config copied into every product. You attach the same benefit to one product or to fifty. Concrete example. You sell a developer tool through three SKUs: Indie Monthly, Team Annual, and a Lifetime license. A single “Insiders Discord role” benefit attaches to all three. Rename the role or swap the server, and every plan picks up the change at once — no per-product edits.

Who has access at any moment

Macropay derives entitlements from the customer’s current standing, so the access list is always correct without sweeping for stale grants.
One-time purchases grant lifetime access to their benefits. Subscription benefits live and die with the subscription — when it lapses, the associated access (repo invite, Discord role, license key) is pulled automatically.

Two ways to set one up

1

Inline, while building a product

Add a benefit directly in the product form as you create or edit an offering — handy when you’re standing up a new plan and want everything in one pass.
2

From the Benefits dashboard

Manage every benefit in one place under Benefits, then attach existing ones to any product or tier. Best when a single entitlement spans several plans.
Once a benefit is attached, fulfillment runs itself for every future purchase, renewal, and cancellation. You stop shipping access by hand — Macropay grants and revokes it for you.