Jak zbudować własny system SaaS (Paywall) w 10 minut bez pisania bazy danych?
20 kwietnia, 2026 • Opublikował(a) Lukasz

Jak zbudować własny system SaaS (Paywall) w 10 minut bez pisania bazy danych?

Masz świetny pomysł na aplikację, płatny kalkulator w Excelu online, tajną stronę z sygnałami krypto albo generator memów? Super! Ale zaraz pojawia się ściana: Jak za to pobierać opłaty?

Zazwyczaj oznacza to tygodnie kodowania: tworzenie bazy danych użytkowników, integrację z bramkami płatniczymi, systemy logowania, resetowanie haseł… Koszmar.

W KeyAPI.pl rozwiązaliśmy ten problem za Ciebie. Stworzyliśmy system Licencji Czasowych, który zamieni każdą, nawet najprostszą stronę HTML w pełnoprawny biznes SaaS (Software as a Service) w 10 minut.

Oto jak wdrożyć własny Paywall, krok po kroku, nawet jeśli jesteś programistycznym laikiem!

🧠 Jak to w ogóle działa? (Na chłopski rozum)

Wyobraź sobie, że Twoja aplikacja to ekskluzywny klub. Zamiast zatrudniać własnego ochroniarza i prowadzić skomplikowany zeszyt z nazwiskami gości, wynajmujesz KeyAPI.

  1. Klient kupuje bilet: Wchodzi na Twój link zakupowy KeyAPI, płaci i natychmiast dostaje na maila unikalny ciąg znaków (Klucz Licencyjny, np. ABCD-1234).
  2. Podchodzi do drzwi: Klient wchodzi na Twoją stronę internetową i wpisuje ten klucz w okienko.
  3. Pytamy szefa: Twój skrypt na stronie „dzwoni” do serwerów KeyAPI z pytaniem: „Hej, czy klucz ABCD-1234 jest ważny dla moich produktów?”.
  4. Wchodzisz! KeyAPI odpowiada: „Tak, zapłacił za 30 dni, zostało mu jeszcze 29”. Twoja strona zdejmuje blokadę i wpuszcza klienta.

Zero baz danych po Twojej stronie. Zero obsługi płatności. Czysty zysk.


🛠️ KROK 1: Ustawienie produktu w panelu KeyAPI

Zanim zaczniemy kodować, musimy stworzyć „bilet” (lub kilka rodzajów biletów) do Twojego klubu.

  1. Zaloguj się do panelu na KeyAPI.pl i w zakładce Produkty kliknij Dodaj Produkt.
  2. Wypełnij dane (np. Dostęp 24h, cena 10 zł).
  3. W sekcji 🔑 System Licencyjny / Paywall:
    • W polu Czas ważności wpisz odpowiednią liczbę dni (np. 1).
    • Zaznacz checkbox Produkt typu Paywall.
  4. PRO TIP: Jeśli chcesz oferować różne pakiety (np. 1 dzień, 7 dni i 30 dni), stwórz trzy osobne produkty.
  5. ⚠️ BARDZO WAŻNE: Po zapisaniu, na liście produktów zobaczysz żółty numerek, np. ID: 142. Jeśli masz więcej wariantów, spisz wszystkie ID (np. 142, 143, 144). Będą potrzebne w Kroku 3.

💻 KROK 2: Dodajemy bramkę na Twojej stronie (HTML)

Wklej ten kod tam, gdzie ma pojawić się blokada. Sekcja „Premium” jest domyślnie ukryta.

<div id="paywall-box" style="text-align: center; padding: 50px; background: #f4f4f0; border: 4px solid #000; border-radius: 12px; max-width: 400px; margin: 0 auto; font-family: sans-serif;">
    <h2 style="font-weight: 900;">🔒 Dostęp Premium</h2>
    <p>Wpisz swój klucz licencyjny, aby odblokować narzędzie.</p>
    
    <input type="text" id="license_input" placeholder="Wklej klucz tutaj..." style="width: 100%; padding: 15px; margin-bottom: 15px; border: 3px solid #000; border-radius: 8px; font-weight: bold; box-sizing: border-box;">
    <button id="check_btn" onclick="sprawdzKlucz()" style="background: #a6e22e; padding: 15px; font-weight: 900; border: 3px solid #000; border-radius: 8px; cursor: pointer; width: 100%; text-transform: uppercase; box-shadow: 4px 4px 0px #000;">Odblokuj dostęp</button>
    
    <p style="margin-top: 20px; font-size: 0.9em; font-weight: bold;">
        Nie masz klucza? Kup dostęp:<br>
        <a href="LINK_DO_OPCJI_1_DZIEN">Dzień (10 zł)</a> | <a href="LINK_DO_OPCJI_MIESIAC">Miesiąc (49 zł)</a>
    </p>
</div>

<div id="premium-content" style="display: none; padding: 30px; border: 4px solid #00c853; border-radius: 12px; background: #fff;">
    <h1 style="color: #00c853;">🎉 Gratulacje! Uzyskałeś dostęp.</h1>
    <p id="dni_waznosci" style="font-weight: 900; background: #eaffea; display: inline-block; padding: 5px 10px; border-radius: 4px;"></p>
    <hr>
    <p>Twoja tajna zawartość znajduje się tutaj...</p>
</div>

🧙‍♂️ KROK 3: Ożywiamy bramkę (Magia JavaScript)

To jest „mózg” Twojej operacji. Skrypt sprawdzi klucz i upewni się, że pasuje do Twoich produktów.

<script>
// WPISZ TUTAJ ID SWOICH PRODUKTÓW Z PANELU KEYAPI
// Możesz wpisać jedno ID lub kilka po przecinku, jeśli masz warianty cenowe.
const PRODUCT_ID = '142,143,144'; 

async function sprawdzKlucz() {
    const klucz = document.getElementById('license_input').value.trim();
    const btn = document.getElementById('check_btn');
    
    if(!klucz) {
        alert("Proszę wpisać klucz!");
        return;
    }

    btn.innerText = "WERYFIKACJA...";
    btn.disabled = true;

    try {
        // Zapytanie do serwera KeyAPI (sprawdza klucz i przypisanie do Twojego ID)
        const odpowiedz = await fetch(`https://keyapi.pl/wp-json/keyapi/v1/check?key=${klucz}&product_id=${PRODUCT_ID}`);
        const dane = await odpowiedz.json();

        if (dane.status === 'active') {
            // SUKCES!
            document.getElementById('paywall-box').style.display = 'none';
            document.getElementById('premium-content').style.display = 'block';
            
            if(dane.is_lifetime) {
                 document.getElementById('dni_waznosci').innerText = "✅ Masz dostęp DOŻYWOTNI!";
            } else {
                 document.getElementById('dni_waznosci').innerText = "⏳ Dostęp wygasa za: " + dane.days_left + " dni.";
            }
            
            // Zapamiętujemy klucz, żeby nie wpisywać go przy każdym odświeżeniu
            localStorage.setItem('moj_klucz_keyapi', klucz);
            
        } else if (dane.status === 'expired') {
            alert("Niestety, Twój klucz wygasł! Kup przedłużenie.");
        } else {
            alert("Błąd: " + (dane.message || "Nieprawidłowy klucz!"));
        }
        
    } catch (error) {
        alert("Błąd połączenia z serwerem licencji.");
    } finally {
        btn.innerText = "Odblokuj dostęp";
        btn.disabled = false;
    }
}

// Autologowanie: sprawdza czy klucz jest już w pamięci przeglądarki
window.onload = function() {
    const zapisanyKlucz = localStorage.getItem('moj_klucz_keyapi');
    if(zapisanyKlucz) {
        document.getElementById('license_input').value = zapisanyKlucz;
        sprawdzKlucz();
    }
};
</script>

🏆 Podsumowanie

I to wszystko! Dzięki parametrowi PRODUCT_ID Twój system jest w 100% szczelny – nikt nie użyje klucza z Twojej innej aplikacji (lub od innego twórcy), aby włamać się do tego narzędzia.

Wkładając na swoją stronę zaledwie kilkanaście linijek gotowego kodu, zintegrowałeś:

  • System płatności (Stripe/HotPay).
  • Generator unikalnych licencji.
  • Bramkę dostępu (Paywall).
  • System fakturowania.

Nie musisz pisać ani jednej linii kodu bazy danych. Skup się na tworzeniu świetnych narzędzi, a my zajmiemy się całą resztą. Zaloguj się do KeyAPI i zacznij zarabiać już dziś!

Gotowy, by zacząć zarabiać?

Dołącz do grona polskich twórców. Załóż konto na KeyAPI w 30 sekund i zacznij sprzedawać swoje produkty cyfrowe bez żadnych opłat stałych.

Załóż Sklep za 0 PLN