Skip to main content
Getly
New for developers

Subscriptions for your own product. Without building billing.

Plans by API, a hosted subscribe page, card or crypto — and webhooks your backend can act on.

You create a plan, send a customer to a page we host, and from then on your server hears about every renewal, failed payment and cancellation with your own customer id attached. Card subscriptions renew through Stripe; crypto pays one period at a time. The take is 10% and there is nothing else to pay.

  • 10% take, no monthly fee
  • Card renews by itself · crypto per period
  • Webhooks: created · renewed · payment_failed · canceled · expired

Built for products that live outside the marketplace

A Getly listing sells a file. Getly Billing charges for something you run yourself.

SaaS and tools

A hosted app, an API, a browser extension with a paid tier. Your backend checks our status endpoint or listens to webhooks and unlocks features.

Communities and content

A Discord, a Telegram channel, a members-only site. Grant the role on created, remove it on expired or canceled.

Anyone who needs crypto

Card billing where Stripe works, USDT/USDC everywhere else. One plan, both rails, one set of webhooks.

How it works

Five steps from zero to a paying subscriber

  1. 1

    Apply

    Tell us the website and what you will sell. A human reviews it — Getly is the merchant of record, so we need to know what we charge for.

  2. 2

    Create a plan

    POST /api/v1/billing/plans with a name, an amount in cents and an interval — month, year, or any count of days or weeks.

  3. 3

    Send the customer to checkout

    POST /api/v1/billing/checkout with your customer reference and your success and cancel URLs. You get a hosted page URL, valid for 24 hours.

  4. 4

    Act on webhooks

    billing.subscription.created, renewed, payment_failed, canceled and expired reach your endpoint with the same customer reference you sent.

  5. 5

    Check status any time

    GET /api/v1/billing/subscriptions/{id} answers "is this person paid up" — for the moments a webhook is not enough.

Two calls to integrate, one webhook to keep

The plan lives in our API. The subscribe page lives on our domain. Your backend never touches a card.

Every webhook carries externalCustomerRef — the id you handed us at checkout — so your handler needs no lookup. Deliveries are signed, retried, and listed in your developer dashboard. Cancel from your side with POST /api/v1/billing/subscriptions/{id}/cancel; the subscriber can also cancel from their Getly account and keeps access to the end of the paid period.

API docs
curl -X POST https://www.getly.store/api/v1/billing/checkout \
  -H "Authorization: Bearer gk_your_api_key" \
  -d '{ "planId": "…", "customerRef": "user_8841",
        "successUrl": "https://your-app.com/welcome",
        "cancelUrl":  "https://your-app.com/pricing" }'

{ "success": true,
  "data": { "url": "https://www.getly.store/billing/subscribe/…" } }

# later, on every renewal:
{ "event": "billing.subscription.renewed",
  "externalCustomerRef": "user_8841",
  "status": "active",
  "currentPeriodEnd": "2026-10-08T09:14:00.000Z" }

Questions developers ask

Is this the same as Member Plans?
No. Member Plans are a store subscription shown on your Getly storefront. Getly Billing is for a product you run yourself: the plan never appears in the catalogue, and the subscriber lands on your site, not ours.
What does it cost?
10% of every payment — the same rate as a sale you bring yourself — and nothing else: no monthly fee, no per-plan fee, no setup. Card processing is included in that rate.
Where does the money go?
If your store has a Stripe Connect account, the transfer happens inside Stripe on every invoice. If not, the money lands on Getly's account and is paid out on the 1st and 15th like any sale. Crypto always settles through Getly and is paid out the same way.
How does crypto renew?
It does not — nothing can pull a crypto payment. One payment buys one period. The subscriber is reminded seven days before it ends and pays again from their Getly account; an unpaid period is closed within the hour and your endpoint receives billing.subscription.expired.
Why is access by application?
Because Getly is the merchant of record: what we charge for is on our name. You tell us the public website and what you sell; a person reviews it, usually within a day. Until then plan writes answer 403 billing_not_approved and reads work.
Can a subscriber cancel without me?
Yes, from their Getly account. Cancelling stops renewal at the end of the paid period; they keep access until then, and your endpoint receives billing.subscription.canceled when it ends.

Charge for what you built

Apply from your dashboard. A human reviews it, and the API is open the moment it is approved.

Open Billing