Abonamentowy dostęp do kursów online w LearnPress
Gdy zaczynamy przygodę z kursami online, w którymś momencie próbujemy wdrażać różne sposoby dostępu do materiałów edukacyjnych. Na początku zwykle jest to klasyczny mechanizm sprzedaży kursów, czyli: klient dodaje kurs do koszyka (zwykle jest to koszyk WooCommerce), realizuje zamówienie i zostaje zapisany na kurs. W ustawieniach kursu decydujemy, czy klient otrzymuje dostęp na zawsze, czy np. na rok (o ile taka opcja jest dostępna w naszym LMS). Jest to stosunkowo prosty mechanizm i działa we wszystkich LMSach, które miałam przyjemność testować (LearnDash, LearnPress, WPLMS).
Chcąc wdrożyć dostęp abonamentowy należy wykorzystać specjalny moduł, który pozwoli tworzyć profile abonamentowe i sprzedawać określone dostępy w sposób cykliczny. Najpopularniejsze moduły, z którymi współpracuje większość LMS’ów to: Paid Memberships Pro (darmowy w podstawowej wersji) oraz WooCommerce Subscriptions (płatny). Testowana trójka LMS’ów współpracuje z modułem Paid Memberships Pro, natomiast dostęp abonamentowy z WooCommerce Subscriptions można wdrożyć z LearnDash oraz WPLMS. LearnPress co prawda nie dogaduje się jeszcze z Woo Subscription (przynajmniej na razie), ale całkiem dobrze działa z darmowym modułem Paid Memberships Pro, który nie tylko ogranicza dostęp do kursów LearnPress, ale jeśli mamy określoną bibliotekę wpisów, którą chcielibyśmy udostępniać klientom płacącym za kursy – również możemy to łatwo zrealizować z wtyczką PMP. Od czasu do czasu mam okazję testować różne narzędzia na platformie kursów online. Tym razem test dla klienta dotyczył płatności cyklicznych z Braintree, Paid Memberships Pro i LearnPress.
PROFILE ABONAMENTOWE
W dużym skrócie: wtyczka PMP pozwoli klientom wykupić dostęp abonamentowy na określony czas, np. 1 m-c, 3 m-ce, rok itp. Klient, w zależności od wybranego profilu, może wykupić dostęp jednorazowo lub wybrać opcję cyklicznego odnawiania abonamentu. Płatności cykliczne we wtyczce Paid Memberships Pro realizowane są m.in. przez wbudowane płatności PayPal, Braintree, Stripe. W praktyce oznacza to po prostu podpięcie płatności w taki sposób, aby klient miał możliwość wprowadzenia danych karty kredytowej (płatności cykliczne będą ściągane z karty).
Aby ustawić subskrypcję dla kursów LearnPress potrzebujemy tak naprawdę dwóch dodatkowych modułów:
- Paid Memberships Pro – wtyczka do tworzenia profili abonamentowych i blokowania treści
- LearnPress Paid Memberships Pro Add on – dodatek do LearnPress z możliwością blokowania dostępu do kursów, w oparciu o profile abonamentowe Paid Memberships Pro
W ustawieniach wtyczki Paid Memberships Pro należy zdefiniować profile abonamentowe i dla każdego z nich ustalić treści do blokowania, cenę oraz cykliczność pobierania opłat. Jeżeli chodzi o subskrypcję odnawialną, konieczne jest zweryfikowanie czy dany cykl (np. co 14 dni, 2 m-ce itp.) jest wspierany przez wybraną bramkę płatności (dla przykładu: Braintree nie obsłuży płatności cyklicznych w oparciu o dni).
Bramka płatności (braintree)
Braintree – firma zakupiona przez PayPal – jest rozwiązaniem dostępnym w ponad 40 krajach (m.in. w Polsce) i akceptuje płatności w ponad 130 walutach. Można więc spokojnie przetestować płatności kartami kredytowi w polskiej walucie. Wystarczy zarejestrować się na ich stronie sandbox’owej (czyli w obszarze przeznaczonym do testowania), co pozwoli spokojnie przeprowadzać testy bez obawy, że coś zepsujemy.
Domyślnie konto Merchanta zostanie utworzone z obsługą waluty EUR. Chcąc obsługiwać polską walutę należy dodać kolejne konto na stronie Business. Konfiguracja sprowadza się do wprowadzenia unikalnego identyfikatora oraz wybrania właściwej waluty. Można od razu zaznaczyć, która waluta ma być domyślną dla przeprowadzanych transakcji. Po rejestracji konta, w zakładce API znajdziemy wszelkie klucze do integracji z Paid Memberships Pro, czyli: Merchant ID, Public Key oraz Private Key.
Do kompletu będzie jeszcze potrzebny Client-Side Encryption Key, który będzie się znajdować na osobnej podstronie zakładki API.
Kiedy wszystkie potrzebne identyfikatory i klucze wkleimy w odpowiednie pola konfiguracji wtyczki PMP, będziemy jeszcze musieli wkleić tzw. Web Hook URL na koncie sandbox w Braintree. To ustawienie znajdziemy również w zakładce API na podstronie Webhooks. Trzeba po prostu dodać URLa przyciskiem Create New Webhook, a następnie określić, które zdarzenia mają być obsługiwane, np. anulowanie subskrypcji, płatność za subskrypcję itp.
Jeszcze tylko zaznaczamy jakie karty mają być obsługiwane i taką konfigurację zapisujemy w ustawieniach płatności wtyczki Paid Memberships Pro.
Mogłoby się wydawać, że to już wszystko jeżeli chodzi o konfigurację integracji, ale po zapisaniu ustawień będziemy jeszcze musieli powiązać profile subskrypcyjne stworzone w PMP, z planami w Braintree. Konfiguracja sprowadza się do skopiowania ID profilu, stworzonego w PMP i wklejeniu go na stronie konfiguracji planu w Braintree. W jaki sposób uzyskać ID profilu? Wystarczy przejść na stronę edycji danego profilu i tam znajdzie się dokładna instrukcja odnośnie dodania planu w Braintree.
Dla każdego profilu stworzonego w PMP musimy stworzyć analogiczny plan w Braintree, podając wspomniany wcześniej plan ID, nazwę, cenę oraz cykl odnawiania subskrypcji. Jeżeli wszystko zostanie skonfigurowane poprawnie będzie można przeprowadzić transakcję testową.
Integracja Paid Memberships Pro z LearnPress
Na razie skonfigurowaliśmy profile abonamentowe oraz bramkę do płatności cyklicznych. Brakuje nam jeszcze automatu, który po zakupieniu subskrypcji zapisze klienta na kurs w LearnPress. Dlatego w tym miejscu kluczową rolę zaczyna odgrywać dodatek do LearnPress (LearnPress – Paid Memberships Pro), którego aktywacja spowoduje pojawienie się dodatkowej zakładki Memberships, w ustawieniach LearnPress. Przechodząc do ustawień tej zakładki znajdziemy opcję “Always buy the course through membership”. Tutaj możemy zdecydować, czy klient może kupić kurs bez konieczności kupowania subskrypcji, czy też musi dołączyć do jednego ze zdefiniowanych planów. Jeśli opcja zostanie zaznaczona, zniknie przycisk Buy course, zostanie wyłącznie przycisk Buy Membership (etykiety obu przycisków można zmienić).
Zakładamy, że klient może wybrać sposób dostępu do kursu, więc opcję pozostawiamy jako niezaznaczoną. Teraz pozostaje tylko przypisać kurs/kursy do odpowiednich profili abonamentowych. Można to zrobić na stronie kursu lub na stronie profilu abonamentowego.
W ten sposób kurs można zakupić klasycznie, wrzucając produkt do koszyka WooCommerce lub kupując profil abonamentowy przy pomocy płatności Braintree.
Wybranie dowolnego profilu przeniesie klienta na stronę zamówienia, gdzie może wprowadzić dane do założenia konta, dane adresowe oraz dane karty kredytowej. Ponieważ platforma działa w trybie testowym można podać dowolną sekwencję liczb w numerze karty. System 'łyknie’ wszystko.
Pomyślne przeprowadzenie transakcji przeniesie klienta na stronę z potwierdzeniem aktywacji wykupionego profilu abonamentowego. Faktura nie jest oczywiście dokumentem, który mógłby być akceptowany w polskich warunkach. Jest to więc pewna niedogodność, w porównaniu z płatnościami WooCommerce, gdzie można łatwo zintegrować wtyczki z automatycznym fakturowaniem.
Przeprowadzona transakcja będzie też widoczna na koncie testowym Braintree. Daje to pewność, że wszystko jest poprawnie skonfigurowane i można zarejestrować konto produkcyjne.
Warto na koniec wspomnieć o kosztach. LearnPress i wtyczka Paid Memberships Pro to moduły darmowe. Dodatek integracyjny LearnPress Paid Memberships Pro Add-on jest płatnym modułem, który można zakupić osobno za $39.99 lub w pakiecie z innymi dodatkami, kupując jeden z motywów ThimPress (ok. $60-$70). W Braintree rejestracja jest darmowa, ale oczywiście trzeba się liczyć z prowizją od transakcji 1,9% + €0,30.
Świetna seria wpisów o LearnPress. 😉
Dziękuję 🙂
Czy w learnpress można zrobić opóźnienie dostępu do kursów ? np. kurs A mam od razu po zakupie, a kurs B mogę przejrzęć dopiero po 5 dniach ?
Tak, ale z płatnym dodatkiem „Content Drip add-on for LearnPress”.
Super, bo myślałam, że ten dodatek jest tylko do odblokowania pojedynczych lekcji kursu, a nie całego kursu. Dziękuję za odpowiedź 🙂
Funkcja drip działa na zasadzie opóźniania dostępu do poszczególnych elementów kursu. Jeżeli każdej lekcji przyporządkujemy tą samą datę, to wtedy osiągniemy zamierzony efekt – to miałam na myśli 🙂 Natomiast jeżeli chodzi o zablokowanie automatycznego zapisu na kurs to można to zrobić w ustawieniach LearnPress, a w określonym dniu zapisać ręcznie studentów na kurs. Nie jest to dość eleganckie rozwiązanie, więc podejrzewam, że da się ustawić auto-enroll na określony dzień za pomocą hooks&filters, ale nie testowałam tego.
CZy można w learnpressie ustawić zakup dostępu czasowego np. (na 14,30dni) do danego kursu (jednego), że po czasie określonym jako czas dostępu możliwość wejścia w kurs przez klienta zostaje wyłączona
Tak, można ustawić czasowe ograniczenie – służy do tego parametr Course Duration. Musi być dodatkowo ustawiona opcja blokowania lekcji, bo bez tego student będzie mógł w dalszym ciągu przeglądać lekcje.
Bardzo dziękuje za odpowiedź. Jednak ustawiając na próbę 5 min course duration z zaznaczonym block lesson content when completed course i ustawieniu 0 przy „ile razy kursant może wziąć udział…”. Kurs staje się zablokowany jedynie po przyciśnięciu Zakończ kurs. Upłynięcie ustawionego czasu w course duration nie blokuje dostępu do lekcji
Proszę usunąć wszystkie zamówienia w LearnPress związane z danym użytkownikiem i testowanym kursem i przeprowadzić test od nowa. Testowałam na kursach płatnych i darmowych i faktycznie może być problem jak już w bazie są poprzydzielane dostępy. Po wyczyszczeniu wszystkiego powinno działać – mi przynajmniej zadziałało.
A jakby mogła pani podać jak powinny być ustawione wtedy oceny w ustawieniach kursu. Bo cały czas po upływie czasu ustawionego w course duration, lekcje i ich pliki są dostępne.
Ustawienie oceny nie wpływa na dostęp do materiałów lekcji. Musi być jakiś błąd na etapie konfiguracji LearnPress, skoro w dalszym ciągu to Panu nie działa. Trudno mi coś więcej podpowiedzieć, ponieważ nie znam konfiguracji Pana platformy.
Super artykuł! Dziękuję!
A czy jest opcja żeby ten abonament opłacać poprzez woocommerce i przelewy24?
Albo jak zrobić abonament bez tej bramki?
Lub jak w prosty sposób ograniczyć czas dostępu do kursu na LearnPresie do kilku miesięcy?
Lub dostęp do video?
Dzień dobry, dziękuję za dobry wpis. Dla mnie w punkt, bo właśnie jestem na etapie ustawiania platformy abonamentowej – jednak nie mogę nigdzie znaleźć dodatku: LearnPress Paid Memberships Pro Add on – dodatek do LearnPress
a bez tego nic z tego.
Ponadto w artykule nie wspomniano o bramce PAYU, ja mam PAYU do płatności cyklicznych – w ustawieniach płatności też nie mam tego do wyboru.
Nie wiem czy to znaczy, że learn press nie współpracuje z payu?
jestem pod wrażeniem szczegółowości instrukcji wpisu o podłączeniu platformy abonamentowej.
Jak dla mnie pojawił się w pierwszych wynikach wyszukiwania, bo właśnie jestem na etapie ustawiania platformy subskrypcyjnej.
Mam pytanie:
Mam zainstalowaną wtyczkę, ale nie znajduję dodatku: LearnPress Paid Memberships Pro Add on [a bez niego ani rusz] – gdzie mogłabym go znaleźć? – patrzyłam w opcjach ad-on – brak.
Czy płatności subskrypcyjne mogą być zrealizowane w learn pressie z PAYU? Nie mam wyboru tego dostawcy w ustawieniach płatności.