2012-10-12 14 views
6

Jeśli płacący miesięczny abonent ma kartę kredytową, która wygasa, a paypal nie powiodło się trzy razy, próbując uzyskać fundusze, to są one "zawieszone" przez paypal. Próbuję zaktualizować mój skrypt PHP, aby w tej sytuacji nastąpiła poprawna zmiana w bazie danych. Zapoznałem się z dokumentacją systemu PayPal i nie mogę znaleźć jasnej odpowiedzi na temat, która zmienna IPN powinna być używana, gdy konto użytkownika zostanie zawieszone.Prawidłowa zmienna paypal IPN dla zawieszonych subskrypcji

Czy ktoś wie, która z poniższych jest poprawną zmienną i wartością do użycia?

if ($ payment_status == "zawieszony" || $ txn_type == "zawieszony" || $ txn_type == "subscr_failed" || $ profile_status == "zawieszona") {

Dzięki!

Odpowiedz

6

Otrzymuję $ txn_type == "recurring_payment_suspended_due_to_max_failed_payment", zauważ także, że zamiast $ subscr_id będziesz miał zamiast tego $ recurring_payment_id. Przynajmniej to się dzieje, gdy symuluję nieudane płatności w Paypal Sandbox.

+3

Tak, dokumentacja Paypal to trochę żart. Rozmawiałem przez telefon z jednym z pracowników pomocy technicznej, który powiedział mi, że po dwóch błędach płatności subskrypcja zostanie anulowana. Oczywiście, że nie. Po 3 niepowodzeniach subskrypcja została zawieszona i przeglądając moje dzienniki, jako jedyną wskazówkę znalazłem status "recurring_payment_uspa_ed_to_max_failed_payment". – glidester

+6

Facet, który zaprojektował IPN "recurring_payment_suspended_due_to_max_failed_payment" powinien zostać zwolniony. Jest zupełnie inny niż wszystkie inne IPNy, poczynając od tego śmiesznego txn_type, potem brakuje parametru biznesowego i zmienionej nazwy recurring_payment_id. Chodzi mi o to, że to był pomysł dewelopera? – mrbrdo

Powiązane problemy