Stanęłam przed wyzwaniem integracji płatności za pomocą Woocommerce z platformą do kursów online Teachable. Zobacz jak to zrobiłam i jak można połączyć płatności Woocommerce z niemal dowolną platformą z do kursów.
Problem
Potrzebowałam sposobu na nadanie użytkownikom dostępu do kursów na Teachable na podstawie płatności w Woocommerce.
Znalazłam tylko jeden plugin, który coś takiego robi. Miał tylko 4 opinie i nieco ponad 100 instalacji. To bardzo niewiele.
Do pluginu z taką małą ilością instalacji i opinii mam bardzo małe zaufanie. Mało instalacji oznacza, że plugin nie został mocno przetestowany w boju, na faktycznych produkcyjnych stronach. A dodam, że tutaj chodzi o bardzo ważną funkcjonalność, czyli nadawanie użytkownikom dostępu do kursów po płatności w Woocommerce.
Sprawdziłam jeszcze kim są deweloperzy tego pluginu czy mają może jakieś inne wtyczki, z większą ilością instalacji i wieloma opiniami. Niestety, tego testu też nie zdali.
Własne rozwiązanie
Moja klientka miała już zainstalowane na swoim serwerze n8n. To aplikacja podobna do Make czy Zapier, ale pozwalająca na instalację na własnym serwerze (i za darmo). Postanowiłam więc wykorzystać co mamy.
Logika była dosyć prosta: po zakupie i opłaceniu danego produktu w Woocommerce, nadajemy dostępy do odpowiedniego kursu w Teachable. To wymaga co najmniej planu Pro w Teachable, żeby mieć możliwość korzystania z webowego API.
Zależało mi na tym, żeby po stworzeniu automatyzacji nie trzeba było jej zmieniać, gdy stworzymy w przyszłości nowy kurs.
Woocommerce i Teachable: automatyzacja w n8n
Przede wszystkim najpierw przygotowałam produkty w Woocommerce. Musiały zawierać informację do jakiego kursu na Teachable powinny być przypisane.
Żeby nie dodawać nic nowego wykorzystałam coś, co Woocommerce już ma: atrybuty produktu. Dodałam nowy nowy atrybut do każdego produktu. Jego wartość to numer id kursu w Teachable.

W ten sposób nie będę musiała grzebać w automatyzacji za każdym razem, gdy dojdzie nowy kurs. Po prostu ta informacja będzie pobierana z Woocommerce. Dzięki temu unikam ryzyka popsucia czegoś w automatyzacji w przyszłości (bo w ogóle jej nie będę musiała ruszać), a jednocześnie moja klientka będzie mogła w razie potrzeby samodzielnie dodać nowy produkt i spiąć go z odpowiadającym kursem.

Automatyzacja odpala się, gdy zamówienie zostanie zaktualizowane. Potem:
- Sprawdzamy czy zamówienie zostało opłacone oraz czy automatyzacja dla tego zamówienia została już wcześniej wykonana. Jeżeli zamówienie nie zostało jeszcze przeprocesowane przez naszą automatyzację oraz jest opłacone, przechodzimy do następnego kroku.
- Pobieramy produkt (wraz z informacją o id kursu).
- Upewniamy się że produkt jest kursem a nie czymś innym (np. ebookiem).
- Szukamy użytkownika o danym adresie email.
- Jeżeli użytkownik istnieje, nadajemy mu dostępy i wysyłamy maila.
- Jeżeli nie istnieje to najpierw zakładamy mu konto.
Ile to zajęło
Niecałe 3 godziny z czego większość czasu to testy rozwiązania, żeby się upewnić, że we wszystkich przypadkach zadziała dobrze.