2009-06-30 14 views
51

Dodaję subskrypcje do witryny za pomocą PayPala IPN, który działa bardzo dobrze, mogę z powodzeniem utworzyć nową subskrypcję i ją zweryfikować. Subskrypcja ma dwutygodniowy bezpłatny okres próbny. Przewodnik był niestety mało precyzyjny pod względem statusu subskrypcji.Subskrypcje z Paypal IPN

W tej chwili konto użytkowników otrzymuje status subskrybowania po otrzymaniu subscr_signup lub subscr_payment i jest usuwane po otrzymaniu subscr_cancel lub subscr_failed. Uważam, że jest to poprawne, ale najlepiej się upewnić.

Co to jest subscr_eot? przewodnik IPN opisuje go jako "koniec okresu subskrypcji". Czy to się uruchamia po zakończeniu okresu próbnego?

Odpowiedz

75

subscr_eot jest wysyłany, gdy wygasł ostatni interwał użytkownika. subscr_cancel zostaje wysłany, gdy tylko użycie anuluje subskrypcję - na przykład:

Użytkownik rejestruje się w 1 dniu subskrypcji naliczanej raz w miesiącu. subscr_signup zostaje wysłany natychmiast, subscr_payment zostaje wysłany, gdy płatność zostanie zrealizowana (zwykle natychmiastowo).

W dniu 13 użytkownik anuluje. subscr_cancel jest natychmiast wysyłany, mimo że użytkownik dokonał zapłaty technicznej do dnia 30. Anulowanie w tym momencie zależy od Ciebie.

W dniu 30, subscr_eot zostaje wysłany - użytkownik anulował, a jest to dzień, w którym jego ostatnia płatność została wypłacona do.

Niewielkie zmiany w przypadku subskrypcji próbnych - jeśli użytkownik anuluje przed rozpoczęciem subskrypcji próbnej, zostanie natychmiast wysłany subscr_cancel, a pod koniec okresu próbnego zostanie wysłane subscr_eot.

+0

Nie jestem pewien, czy to musi być prawda. Myślę, że zależy to od rodzaju subskrypcji, którą mają, zaczynając od I/S itp. – ajbeaven

+0

Słyszałem, że subscr_ * jest starym sposobem. Czy to prawda? W każdym razie, próbuję uzyskać te wartości txn_type wymyślone. http://stackoverflow.com/questions/13855287/parsing-paypal-subscription-ran-out – Volomike

+2

Wystarczy dodać do tego - afaik - jeśli nie robiłeś bezpłatnego okresu próbnego, wówczas "subscr_signup" jest wysyłane tylko, jeśli pierwszy płatność również się udała. Możesz więc słuchać tylko subscr_signup i subscrote, aby aktywować/dezaktywować subskrypcje. – Webcognoscere

34

Jednym z interesujących szczegółów jest sposób, w jaki subscr_eot współpracuje z subscr_failed.

Wygląda na to, że subscr_eot pochodzi po FINALsubscr_failed. Więc jeśli na koncie ustawisz go automatycznie ponownie zawiodły Płatności 3 razy, to powinno iść tak:

pierwszy udało płatności => subscr_failed sekund udało płatności => subscr_failed trzeci udało płatności => subscr_failed i subscr_eot

więc w zasadzie w kodzie można ustawić subscr_failed do uruchomienia e-mail jak

hi użytkownika, poświęć chwilę, aby sprawdzić swoje informacje o płatności, może trzeba aktualizacji katalogu c kredyt Data wygaśnięcia data, itp. Nadal masz dostęp, spróbujemy ponownie za kilka dni.

i konfiguracja subscr_eot rzeczywiście włączyć ich subskrypcji off i wywołać e-mail jak

Niestety, nadal nie miałaś”dostał wypłatę i miały swój profil w dół.Można nadal aktywować go po zalogowaniu się i aktualizowania informacji płatność

Zasadniczo jest to „miły” sposób to zrobić, dzięki czemu klienci mają okresu karencji, a ich konto nie jest wyłączony z powodu nieoczekiwanego tylko przeterminowana karta kredytowa lub coś w tym stylu.

+0

Czy płatności nie powiodły się i wysyłanie powiadomień podscr_eot nadal działa tak, jak w 2009 roku? – ajbeaven

+0

@ajbeaven: Wygląda na to, że odkąd post został zaktualizowany w kwietniu, informacje nadal są aktualne. – Brett

+0

@BrainArmstrong po zakończeniu subscr_eot, czy prosimy użytkownika o ponowne zarejestrowanie subskrypcji lub modyfikację istniejącej subskrypcji? więc byłoby to subscr_modify lub subscr_signup on po zakończeniu terminu. lub dla anulowanych użytkowników? – Basit

4

To zależy od konta, czy jest nowy, czy nie, czy wysłano subscr_eot, co jest poza mną?

Nie znalazłem jeszcze odpowiedniego sposobu zarządzania subskrypcjami. Obliczanie dat na serwerze może pójść bardzo szybko, jeśli wystąpi opóźnienie w płatności.

9

Wątek opublikowany przez Chrisa został niedawno zaktualizowany.

Kiedyś w 2010 r. PayPal przestał używać subscr_eot, gdy użytkownik anulował swoje konto. Po kilku zażaleniach przywrócono to, ale zajęło to 6 miesięcy. Wszystko to oznacza, że ​​możesz ponownie obsługiwać powiadomienia o subskrypcji opisane przez Petera w zaakceptowanej odpowiedzi.

od przedstawiciela PayPal:

subscr_cancel oznacza, że ​​profil jest anulowane i nie będzie w przyszłości płatności. Jeśli jednak kupujący ma już już zapłacony za bieżący cykl rozliczeniowy , ponieważ są one naliczane z góry, , możesz następnie użyć subscr_eot do zakończyć profil.

Nadal nie wiadomo, co stanie się w przypadku wielu nieudanych prób płatności. Dokumentacja PayPal w tej chwili jest okropna.

+3

Pewnie. Istnieje bardzo mała autorytatywna dokumentacja dotycząca rzeczy związanych z API/IPN, a to, co jest, zwykle zaprzecza innym dokumentom * lub drańowi zwanemu rzeczywistością. – Ashe

+0

tak, jak tego dnia, że ​​_payment ipn wydarzyło się przed _ignign ipn: D – Sebas