Skip to main content
Getly
New for sellers

Sell access for a period. One payment, no subscription.

1, 3, 6 or 12 months — or any number of days — each with its own price.

The buyer picks a term, pays once and holds access until a date. Nothing renews by itself, no card is stored, and buying again extends from the current expiry. When the date passes, downloads and licence keys stop and your own system is told by webhook.

  • Same take as any sale — no extra fee
  • Works for files and for externally hosted services
  • Webhooks: access.expiring · access.expired

Who it is for

Anything a buyer uses over time rather than downloads once.

Courses and video programmes

A fitness programme, a language course, a masterclass: sold as three or twelve months of access, hosted wherever you host it.

Tools and services with licence keys

Turn on licence keys and the key stops validating when the term ends — your app checks it with one API call.

Communities and private channels

A Telegram or Discord community, a members-only feed: the webhook tells your bot when to let someone in and when the period is over.

How it works

Five steps, nothing to run

  1. 1

    Turn it on

    On the pricing step of any product choose “Timed access” instead of lifetime.

  2. 2

    Add your terms

    1, 3, 6 or 12 months or a custom number of days, up to six terms, each with a price and an optional crossed-out price. The page shows buyers how much each longer term saves.

  3. 3

    The buyer picks and pays once

    Card, Apple Pay, Google Pay or stablecoin — the same checkout as any Getly sale. Their library shows the date access ends.

  4. 4

    The end date does the work

    Seven days before the end the buyer gets one reminder and your webhook receives access.expiring. On the date, downloads stop, the licence key reports expired, and access.expired fires.

  5. 5

    Renewal is a purchase

    The buyer buys the term again and the new period is added to the end of the current one — renewing early never costs a day.

For your own system

If the product lives on your platform, two webhook events are all you need.

Create a webhook endpoint in the developer settings and subscribe to access.expiring and access.expired. Each payload carries the order item, product, term length, the exact expiry and the buyer’s email. Products with licence keys also answer GET /api/v1/licenses/validate with the expiry, so a client can check locally. Everything is available through the v1 API (accessMode, accessTerms) and the @getly/mcp tools.

API docs
POST https://your-api.com/webhooks/getly
{
  "type": "access.expired",
  "data": {
    "orderItemId": "6f1c…",
    "productId": "3f6f…",
    "productSlug": "prenatal-program",
    "durationDays": 90,
    "expiresAt": "2026-12-05T09:14:00.000Z",
    "buyerEmail": "buyer@example.com"
  }
}

Questions sellers ask

Is this a subscription?
No. Nothing renews by itself and no card is stored against a future charge. The buyer pays once for a period and buys again if they want more. Recurring store subscriptions are a separate product on Getly, Member Plans.
What does it cost?
The same as any sale: 10% on a buyer you bring yourself, 20% on a marketplace sale, lower with volume or with Getly Exclusive. There is no fee for the feature itself.
Can I use it for a plain file?
Yes. Downloads for that purchase simply stop on the date. Lifetime stays the default for every product; timed access is a per-product choice.
What happens when a buyer renews early?
The new period is added to the end of the current one, not to today. A buyer who renews a week early keeps that week.
How does my own platform know when to revoke access?
By webhook: access.expiring seven days before the end and access.expired on the day, both carrying the buyer’s email and the exact expiry. If you issue licence keys, the key also reports expired.
Can I change the terms later?
Yes. Add, reprice or retire terms at any time. A retired term stays valid for everyone who already bought it; it simply cannot be bought again.

Sell what you already sell — for a period

Set it on any product in a minute. Nothing changes for the products you leave on lifetime.

Open the product editor