Skip to main content
Getly

Command menu

Jump to a page or search the catalog

New for developers

Subscriptions for your own product. Without building billing.

Plans by API, a hosted subscribe page, USDT/USDC billing today - 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 automatically; 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

USDT/USDC billing everywhere today; card billing returns when a processor is live. One plan, 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 catalog, 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?
Every invoice - paid in USDT/USDC today - lands on Getly's account, is credited to your balance and is paid out on the 1st and 15th in USDT/USDC like any sale.
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