Lista zdarzeń wysyłanych na webhook
Jeśli sam obsługujesz automatyzację, możesz zrobić to programistycznie, lub z pomocą narzędzi jak Zapier. W ustawieniach produktu dodaj adres URL webhooka w zakładce Integracje i webhook. Po zakupie trafią na niego informacje na temat transakcji. Webhook możesz wygenerować za pomocą Zapiera lub Make (dawniej Integromat).
Główne zdarzenia, po których filtrujemy oznaczone są kluczem event i są to odpowiednio:
- single_product_bought - zakup pojedynczego produktu
- product_assigned - udane przypisanie dostępu do pojedynczego produktu
- product_access_expiring - dostęp do pojedynczego produktu wkrótce wygaśnie
- product_access_expired - wygaśnięcie dostępu do pojedynczego produktu
- subscription_created - zakup nowej subskrypcji
- subscription_plan_changed - zmiana planu przez panel Easycart
- subscription_canceled - anulowanie subskrypcji w panelu Easycart (będzie ważna do końca okresu rozliczeniowego)
- subscription_expired - ostateczne wygaśnięcie subskrypcji
- subscription_renewed - odnowienie subskrypcji
- subscription_renewal_failed - nieudana próba pobrania środków przy odnowieniu
- subscription_renewal_upcoming - zbliżające się odnowienie
- subscription_resumed - udane wznowienie subskrypcji
- subscription_deleted - permanentne usunięcie subskrypcji
- customer_data_changed - zmiana danych klienta
Wszystkie przypadki oraz odpowiedzi webhooka znajdziesz poniżej
Webhook po pomyślnym zakupie pojedynczego produktu
Webhook po pomyślnym przypisaniu dostępu do pojedynczego produktu
Webhook kiedy wygasa dostęp do jednorazowego zakupu
Webhook po wygaśnięciu dostępu do produktu
Webhook po pomyślnym zakupie subskrypcji
Jest to zdarzenie wysyłane po zakupie subskrypcji. Na tym etapie należy przydzielić dostęp do produktu.
Ważne: subskrypcja może być aktywowana w trybie okresu próbnego (Trial). W takiej sytuacji właściwość trial_ends_at będzie wskazywać na datę jego zakończenia. W przeciwnym razie będzie ustawione na wartość null.
Webhook po kliknięciu Przełącz na ten plan w panelu subskrypcji
Klient ma możliwość przełączenia się na inny plan (o ile taki został zdefiniowany) z poziomu panelu Easycart. Nazwa planu przekazana do webhooka będzie pochodzić stąd:

- Właściwość subscription_plan_name mówi Ci na jaki plan przełączył się użytkownik
- Właściwość subscription_plan_price mówi jaka jest aktualna cena.
Webhook po kliknięciu przez użytkownika Anuluj w panelu subskrypcji
Właściwość subscription_current_period_end wskazuje na datę w której plan powinien zostać wyłączony (i tym samym odebrany dostęp do produktu).
Webhook po wygaśnięciu subskrypcji
Zdarzenie wysyłane w chwili gdy subskrypcja przestaje być aktywna w wyniku jej anulowania przez klienta lub ręcznego anulowania w panelu Stripe lub w sytuacji gdy nie udało się pobrać opłaty określoną liczbę razy. Jest to moment w którym dostęp do produktu powinien zostać wyłączony.
Webhook po poprawnym pobraniu pieniędzy za kolejny okres rozliczeniowy
Po pobraniu opłaty za okres rozliczeniowy, wysyłane jest zdarzenie zawierające poniższe dane.
- Właściwość amount_paid to pobrana kwota w PLN - na tę kwotę należy wystawić fakturę
- Dane do faktury znajdują się we właściwości invoice_data (która może być wartością null w przypadku ich braku)
Webhook przy nieudanej próbie pobrania pieniędzy za kolejny okres rozliczeniowy
W przypadku nieudanej próby pobrania pieniędzy za okres rozliczeniowy. Właściwość error_message zawiera informację o błędzie.
Webhook na X dni przed kolejnym pobraniem pieniędzy
Poniższe dane wysyłane są na webhook na X dni przed kolejnym pobraniem pieniędzy. Właściwość subscription_renews_at wskazuje na datę, kiedy nastąpi najbliższe pobranie opłaty.
Webhook wysyłany jest na podstawie zdarzenia invoice.upcoming od Stripe.
Webhook na X dni przed zakończeniem trial
Webhook jest identyczny jak powyższy, ale jeżeli właściwość trial_ends_atnie jest równanull, to znaczy, że będzie to pierwsze pobranie.
W Stripe masz możliwość ustawienia ile dni przed pobraniem pierwszej płatności ma zostać wysłane powiadomienie do klienta.
Aby to zrobić:
- Przejdź do ustawień w Stripe
- W sekcji Prevent failed payments wybierz odpowiednią liczbę dni
