Alternatywa dla Lemon Squeezy: merchant of record dla SaaS, licencji i rozliczeń za zużycie
28 stycznia 2026 prezes Lemon Squeezy, którego Stripe kupił w 2024 roku, napisał, że firma jest przebudowywana wokół Stripe Managed Payments. W tym samym wpisie przyznał, że odpowiedzi wsparcia i aktualizacje produktu zwolniły na czas przejścia i że użytkownicy Lemon Squeezy dostaną sposób na przeniesienie się do Managed Payments. Jeśli wolisz przejść teraz, Skalp jest sprzedawcą (merchant of record) z tym, czego używa firma programistyczna: checkoutem, subskrypcjami, opłatami za zużycie, kluczami licencji i podpisanymi webhookami.
Co czemu odpowiada
| W Lemon Squeezy | W Skalpie |
| Store | Sklep pod adresem twojanazwa.skalp.gg albo na własnej domenie |
| Produkty i warianty | Produkty. Każdy plan to osobny produkt, a subscriptions.changePlan przenosi subskrybenta między nimi |
| Checkout | checkout.create dla jednorazowych zakupów, subscriptions.createCheckout dla planów |
| Klucze licencji | Dostawa typu klucz licencji i licenses.validate, z limitem urządzeń |
| Rozliczenia za zużycie | subscriptions.createUsageCharge |
| Kody rabatowe | Kupony, które działają też na subskrypcje |
| Afilianci | Program partnerski |
| Webhooki | Webhooki podpisane HMAC-SHA256 w nagłówku Skalp-Signature |
Start subskrypcji z twojej aplikacji
import { Skalp } from '@skalpgg/sdk'
const skalp = new Skalp()
const checkout = await skalp.subscriptions.createCheckout({
productSlug: 'pro-monthly',
externalRef: team.id,
customerEmail: user.email,
returnUrl: 'https://app.example.com/billing?status=done',
})
redirect(checkout.url)
externalRef wraca w każdym webhooku tej subskrypcji, więc dopasujesz płatność do zespołu albo konta w swojej bazie bez zapisywania wcześniej identyfikatorów Skalpa.
Dostęp zawsze zgodny z płatnościami
const event = await skalp.webhooks.constructEvent(rawBody, request.headers)
switch (event.type) {
case 'subscription.created':
case 'subscription.renewed':
await setPlan(event.data.externalRef, event.data.productSlug, event.data.currentPeriodEnd)
break
case 'subscription.past_due':
await warnAboutBilling(event.data.externalRef)
break
case 'subscription.canceled':
await endPlan(event.data.externalRef)
break
}
Gdy klient anuluje, plan działa do końca opłaconego okresu, a ty dostajesz subscription.updated. subscription.canceled przychodzi dopiero wtedy, gdy plan naprawdę się skończy, z cancelReason, na przykład requested, payment_failure albo dispute.
Opłaty za zużycie
await skalp.subscriptions.createUsageCharge(subscription.id, {
amount: 12.34,
currency: 'EUR',
description: 'API calls over the plan, September 2026',
idempotencyKey: `overage:${team.id}:2026-09`,
periodStart: new Date('2026-09-01T00:00:00Z'),
periodEnd: new Date('2026-10-01T00:00:00Z'),
})
Opłata trafia na zapisaną kartę subskrybenta, w walucie twojego sklepu. Jeśli karta nie przejdzie, opłata wraca ze statusem open i linkiem do zapłaty, który możesz wysłać klientowi. Ten sam idempotencyKey zawsze zwraca tę samą opłatę, więc ponowienie po timeoucie nigdy nie obciąży klienta dwa razy.
Przeniesienie obecnych subskrybentów
Dane kart zostają u operatora, który je zebrał, więc aktywnych subskrypcji nie da się skopiować z jednej platformy na drugą. Większość zespołów najpierw kieruje do Skalpa nowe rejestracje. Obecni subskrybenci dostają przed kolejnym odnowieniem maila z linkiem do checkoutu w Skalpie, a stary plan jest anulowany, gdy przejdą. Jeśli jako externalRef podajesz własny identyfikator konta, aplikacja obsługuje oba rodzaje subskrybentów tak samo.
Opłaty
Skalp bierze 10% od każdej sprzedaży, a 7%, gdy twoja sprzedaż z ostatnich 30 dni przekroczy 20 000 $. Obsługa płatności jest w cenie i nie ma opłaty miesięcznej. Każde odnowienie to sprzedaż z tą samą stawką.
Najczęstsze pytania
Czy Skalp jest tylko dla gier?
Nie. Skalp sprzedaje oprogramowanie, plany SaaS, klucze licencji i inne produkty cyfrowe. Serwery gier i skrypty to tylko część tego, co obsługuje.
Kto widnieje na wyciągu z karty klienta?
Skalp, bo to Skalp jest sprzedawcą (merchant of record). Wystawia też fakturę za każdą płatność, w tym za odnowienia.
Mogę dać darmowy okres próbny?
Tak, do 14 dni na plan.
Czy firmy dostają faktury bez VAT?
Firma z UE, która w checkoucie poda ważny numer VAT, kupuje w odwrotnym obciążeniu, a jej faktura nie zawiera VAT.
Jest SDK dla Go?
Tak. Instalujesz je przez go get skalp.gg/go i obejmuje to samo API co pakiet dla Node.