Subskrypcje kryptowalutowe nie działają jak subskrypcje kartą, a udawanie, że jest inaczej, to miejsce, w którym większość integracji popełnia błąd.Karta kredytowa może być obciążona ponownie w przyszłym miesiącu, ponieważ posiadasz token, który pozwala ci pobrać środki. Kryptowaluty nie mają odpowiednika: nikt nie może sięgnąć do portfela użytkownika i obciążyć go. Więc prawdziwe powtarzające się płatności kryptowalutowe to okresy dostępu opłacone z góry — klient płaci, ty przyznajesz dostęp do daty, a gdy zapłaci ponownie, dodajesz kolejny okres. Zrozum ten model mentalny, a wszystko inne — przypomnienia, okresy łaski, kontrola dostępu — układa się w całość. Ten post wyjaśnia, jak naprawdę działają subskrypcje kryptowalutowe, kiedy przewyższają fakturowanie kartą, kiedy nie, i jak wdrożyć logikę dostępu w sposób czysty.
Dlaczego kryptowaluty nie mają automatycznego obciążania (i dlaczego to w porządku)
Sieci kartowe są oparte na pobieraniu. Gdy zapisujesz kartę, sprzedawca przechowuje token, a sieć pozwala im inicjować obciążenia według harmonogramu. Klient nie jest w pętli co miesiąc. Blockchainy są oparte na wysyłaniu. Płatność odbywa się tylko wtedy, gdy posiadacz portfela podpisuje i ogłasza transakcję. Nie ma stałej autoryzacji, którą brama może powtórzyć. W Payora to jest podwójnie prawdziwe — nic nie jest automatycznie wysyłane i nic nie jest automatycznie obciążane: płatność odbywa się tylko wtedy, gdy płacący ją podpisuje, a pieniądze opuszczają twoje saldo tylko wtedy, gdy o to poprosisz.
Ludzie czasami wskazują na on-chainowe "subskrypcyjne" prymitywy — ERC-20 approve()dodatki, klucze sesji z abstrakcją konta lub protokoły strumieniowe, takie jak Sablier. Istnieją, ale są niszowe, specyficzne dla łańcucha, wymagają od użytkownika wcześniejszego zatwierdzenia limitu wydatków i dodają rzeczywistą powierzchnię UX i bezpieczeństwa. Dla 99% firm fakturujących klientów w USDT lub BTC pragmatycznym modelem jest odnawianie prepaid. Jest to prostsze, bezpieczniejsze i działa identycznie w każdej obsługiwanej monetę i sieć.
Model prepaid: opłata, a następnie dodaj +30 dni
Oto cały wzór. Subskrypcja to po prostu access_untilznacznik czasu na koncie klienta. Każda udana płatność go przedłuża.
- Nowa rejestracja: klient płaci za plan na 30 dni. Na Twoim potwierdzonym webhooku ustaw
access_until = now() + 30 days. - Odnawianie: klient płaci ponownie. Przedłużasz od tego, co jest późniejsze — aktualnego
access_untiljeśli zapłacili wcześniej, lubnow()jeśli pozwolili mu wygasnąć. To jest zasada "dodaj +30 dni":access_until = max(access_until, now()) + 30 days. - Wygaszenie: zaplanowane zadanie (lub prosta kontrola na żądanie) porównuje
access_untilz teraz. Po tym, dostęp jest cofany do momentu, gdy następna płatność wpłynie.
Używanie max() ma znaczenie. Jeśli ktoś odnowi trzy dni wcześniej, nie chcesz stracić tych trzech dni — przedłuż od ich istniejącej daty końcowej. Jeśli odnowią tydzień później, przedłuż od dzisiaj. Ta jedna linia zapobiega dwóm najczęstszym skargom na fakturowanie.
Konkretny przykład
Powiedzmy, że sprzedajesz członkostwo za 15 USD miesięcznie i akceptujesz USDT na TRC-20, ponieważ opłaty są minimalne. Proces wygląda tak:
// on confirmed payment webhook (HMAC-verified)
$sub = getSubscription($userId);
$base = max($sub->access_until, now());
$sub->access_until = $base->addDays(30);
$sub->last_paid_at = now();
save($sub);
grantAccess($userId);To jest sedno fakturowania członkostwa w kryptowalutach. Brak przechowywanej karty, brak skarbca, brak chargebacków. Klient otrzymuje fakturę lub link do płatności kilka dni przed wygaśnięciem, płaci to, a webhook zajmuje się resztą. Jeśli nie zapłaci, dostęp po prostu kończy się — brak prób ponownego obciążenia, brak e-maili windykacyjnych do nieaktywnej karty.
Cykliczne fakturowanie kartą vs. cykliczne płatności kryptowalutowe
Żaden z modeli nie jest ściśle lepszy; optymalizują różne rzeczy. Karty wygrywają w zakresie bezproblemowej retencji. Kryptowaluty wygrywają w zakresie ostateczności, zasięgu i kosztów. Oto szczere porównanie:
| Wymiar | Cykliczne fakturowanie karty | Cykliczne płatności kryptowalutowe |
|---|---|---|
| Model opłat | Sprzedawca pobiera automatycznie | Klient dokonuje płatności co okres (przedpłacone) |
| Działanie użytkownika na cykl | Brak | Jedna płatność |
| Chargebacki | Tak — odwracalne | Nie — ostateczne po potwierdzeniu |
| Nieudane płatności | Typowe (wygasłe karty, odmowy) | N/D — brak płatności, brak dostępu |
| Globalny zasięg | Zależne od sieci kart | Każdy z portfelem |
| Opłaty | 2,9% + stała opłata, za transakcję | Sieć gazowa tylko; 0% do zaakceptowania na Payora |
Wymiana jest prosta: karty odnawiają się cicho, ale tracą przychody z powodu odmów i chargebacków; kryptowaluta nigdy nie zaskakuje cię zwrotem, ale polega na tym, że klient podejmuje działanie w każdym cyklu. Dlatego przypomnienie e-mailowe nie jest opcjonalne — to cały twój lejek odnawiania.
Kiedy każdy model naprawdę pasuje
Subskrypcje kryptowalutowe prepaid błyszczą, gdy:
- Twoja publiczność jest globalna lub związana z kryptowalutami i już posiada stablecoiny.
- Oszustwa chargebackowe to realny koszt — dobra cyfrowe, SaaS, dorosłe, gry, wysokiego ryzyka branże.
- Chcesz rozliczenia w aktywach, które kontrolujesz, a nie w procesorze trzymającym twoje saldo.
- Plany roczne lub kwartalne są wykonalne — mniej odnawiania oznacza mniej szans na rezygnację z powodu braku działania.
Karty wciąż lepiej pasują do subskrypcji konsumenckich o niskiej cenie i dużej objętości, gdzie jakiekolwiek tarcia w cyklu obniżają retencję. Wiele firm prowadzi oba modele i pozwala klientowi wybierać. Jeśli już akceptujesz jednorazowe kryptowaluty, dodanie subskrypcji to głównie warstwa harmonogramu i komunikacji na szczycie procesu zakupu, który już masz — zobacz akceptowania kryptowalut bez procesora płatności dla podstawowej konfiguracji.
Czysta implementacja kontroli dostępu
Utrzymuj decyzję o dostępie bardzo prostą i zcentralizowaną. Każde chronione żądanie powinno zadawać jedno pytanie: czy now() < access_until? Nie rozprzestrzeniaj logiki subskrypcji w swoim kodzie.
- Przechowuj stan, a nie zdarzenia. Źródłem prawdy jest
access_until, a nie stos wierszy płatności. Płatności zmieniają to pole; twoja aplikacja czyta to. - Dodaj okno łaski. Potwierdzona płatność on-chain może zająć kilka minut. Daj mały bufor (powiedzmy, 2–3 dni po upływie terminu), aby klient płacący w ostatnim dniu nie był zablokowany podczas potwierdzania transakcji.
- Zarządzaj wszystkim z podpisanego webhooka. Rozszerz dostęp tylko wtedy, gdy Payora wyśle zdarzenie potwierdzonej płatności i zweryfikuj
HMAC-SHA256podpis, zanim mu zaufasz. Szczegóły w weryfikacji podpisu webhooka. - Wyślij faktury odnawiające przed upływem terminu. Wygeneruj link do płatności na kilka dni przed i wyślij go mailem. To ten sam proces fakturowania, który stosują freelancerzy — zobacz fakturowanie klientów w kryptowalutach.
- Zrób odnowienie jednym kliknięciem.Ponownie użyj preferowanej monety i sieci klienta, aby powracający członek nie musiał co miesiąc ponownie wybierać między łańcuchami.
W przypadku odnowień, potwierdzone środki są przypisywane zgodnie z Twoim skonfigurowanym trybem rozliczenia: domyślnie możesz przeglądać wewnętrzne stronie salda. i wypłacać je według swojego harmonogramu, płacąc opłatę za swój plan (1,5% w planie Free) plus opłatę sieciową monety tylko wtedy, gdy wypłacasz (minimum 50 USD), a nie gdy akceptujesz. Zatwierdzone bezpośrednie rozliczenie jest specyficzne dla konta, gdzie jest to wspierane. Utrzymywanie niskich opłat w przypadku odnowień również warto przeczytać: zmniejszaniu opłat za płatności kryptowalutowe.
Typowe błędy do unikania
- Rozszerzając od
now()przy wczesnych odnowieniach — kradniesz dni, za które klienci zapłacili. Zawszemax(access_until, now()). - Cofnięcie dostępu w momencie, gdy zegar wybije — potwierdzająca transakcja wygląda jak brak płatności. Skorzystaj z okresu łaski.
- Ufając niesigned webhookowi — każdy może POSTować do twojego punktu końcowego. Zweryfikuj podpis, inaczej rozdajesz darmowe członkostwa.
- Obiecując "automatyczne odnawianie" w interfejsie — to jest opłacone z góry. Powiedz "odnawia się, gdy zapłacisz"; szczerość tutaj zapobiega zgłoszeniom wsparcia.
Zacznij
Subskrypcje kryptowalutowe to mniej magia, a więcej dyscypliny: okresy z góry opłacone, pojedyncze access_until pole i podpisany webhook, który kumuluje czas. To model, który możesz wdrożyć w jedno popołudnie i analizować go w nieskończoność. Utwórz darmowe konto Payora aby uzyskać klucze API, połącz swoje odnawiania z dokumentacją SDK i webhooków, lub wypróbuj demo płatności na żywo najpierw, aby zobaczyć przepływ płatności, którego będą używać Twoi członkowie. Kiedy będziesz gotowy, skonfiguruj hostowane płatności, faktury i linki do płatności i zacznij fakturować w 20+ monetach, które już posiadają Twoi klienci.

Comments