Jak zbudować system licencjonowania wtyczki WordPress

Sprzedaż komercyjnej wtyczki WordPress wymaga systemu licencjonowania.

Musisz aktywować klucze na stronach klientów. Musisz przypisać klucze do konkretnych domen. Musisz uniemożliwić użytkownikom udostępnianie jednego klucza na wielu stronach.

Większość osób korzysta z Freemius lub EDD. Te narzędzia działają dobrze, ale pobierają udział w przychodach. Są to zależności zewnętrzne. Nie masz pełnej kontroli nad tym procesem.

Zbudowaliśmy własny system dla RideCab WP. Oto jak zbudować własny system od zera.

System składa się z dwóch części.

  1. Serwer licencji Działa on na Twojej własnej infrastrukturze. Użyj wtyczki typu WordPress must-use na swojej stronie marketingowej. Przechowuje on klucze w bazie danych. Wykorzystuje REST API do aktywacji i walidacji. Zapewnia panel administracyjny do zarządzania kluczami.

  2. Klient Jest to klasa PHP wewnątrz Twojej komercyjnej wtyczki. Dodaje ona stronę ustawień. Wywołuje ona Twój serwer w celu aktywacji. Przechowuje wyniki walidacji w pamięci podręcznej. Ponownie przeprowadza walidację w tle.

Podstawowe wymagania:

Najważniejszą zasadą jest "fail open".

Jeśli Twój serwer licencji nie działa, nie blokuj dostępu klientowi. Jeśli zastosujesz "fail closed", klient zobaczy niedziałającą stronę. To niszczy Twoją reputację. Jeśli zastosujesz "fail open", wtyczka będzie nadal działać. Kilku piratów może korzystać z niej za darmo, ale Twoi płacący klienci pozostaną zadowoleni.

Dobre praktyki:

Ta konfiguracja obsługuje podstawy licencjonowania. Nie obejmuje ona dostarczania aktualizacji. Omówię to w przyszłym wpisie.

Źródło: https://dev.to/canopuswebagency/how-to-build-a-wordpress-plugin-licensing-system-from-scratch-without-freemius-4l51