Easy Digital Downloads jest zaprojektowany tak, aby automatycznie oznaczać płatności jako Zakończone po pomyślnym zweryfikowaniu zakupu przez procesor płatności.
Jeśli Twoje płatności PayPal nie są automatycznie oznaczane jako Zakończone, zazwyczaj oznacza to występowanie jednego z kilku powszechnych problemów.
Aby płatność została oznaczona jako zakończona, Easy Digital Downloads musi być w stanie komunikować się z procesorem płatności, takim jak PayPal, w celu weryfikacji zakupu. Jeśli ta komunikacja jest w jakikolwiek sposób zablokowana lub naruszona, może to spowodować, że zakupy nie zostaną oznaczone jako zakończone, co również spowoduje, że linki do pobrania i e-maile z potwierdzeniem zakupu nie zostaną dostarczone.
Istnieje kilka powszechnych powodów, dla których płatności pozostają jako „Oczekujące”:
- System Webhooks PayPal nie jest włączony lub prawidłowo skonfigurowany na Twoim koncie PayPal
- Masz zainstalowany wtyczkę, która blokuje żądania
- Twoja witryna nie może wysyłać zdalnych żądań za pomocą cURL
- Masz reguły w pliku .htaccess, które blokują żądania IPN
- Twoja witryna ma zbyt agresywne buforowanie, co skutkuje nieprawidłowymi zapytaniami o aktualizację
- Potrzebujesz HTTPS (SSL), jeśli korzystasz z PayPal
Konfiguracja PayPal
Aby zamówienia działały poprawnie, Twoje konto PayPal musi być połączone. Bez konfiguracji płatności nie zostaną ustawione jako Zakończone. Potwierdź, że PayPal jest skonfigurowany zgodnie z dokumentacją.
Przed wersją EDD 2.11, aby zamówienia działały poprawnie, IPN musi być skonfigurowany dla bramki PayPal Standard i PayPal Express. Bez konfiguracji płatności nie zostaną ustawione jako Zakończone. Konfiguracja IPN jest nieco inna dla PayPal Standard i PayPal Express, zobacz przewodnik dla wersji, której używasz:
Stripe
Jeśli tak się dzieje w przypadku Stripe, jest to oznaka, że coś zakłóca proces realizacji zakupu i uniemożliwia EDD otrzymywanie odpowiedzi od Stripe. Jeśli dzieje się tak przy wszystkich zakupach, dezaktywuj wszystkie inne wtyczki oprócz EDD i sprawdź, czy problem nadal występuje. Jeśli nie, aktywuj ponownie każdą wtyczkę po kolei, aż problem powróci. Skontaktuj się z wsparciem EDD, jeśli potrzebujesz pomocy w zbadaniu tego problemu.
CloudFlare
CloudFlare to popularna usługa, która pomaga poprawić wydajność i bezpieczeństwo Twojej witryny. Czasami może powodować konflikty z procesem weryfikacji zakupu.
Jeśli masz problemy z tym, że Twoje płatności nie są oznaczane jako zakończone i korzystasz z CloudFlare na swojej stronie internetowej, spróbuj tymczasowo wyłączyć CloudFlare, aby sprawdzić, czy płatności są prawidłowo oznaczane jako zakończone po jej wyłączeniu.
Może być konieczne wykluczenie strony realizacji zakupu z buforowania Cloudflare. Oto jeden z ich artykułów pomocy, który pomoże Ci zacząć:
https://support.cloudflare.com/hc/en-us/articles/200172316-How-do-I-exclude-a-specific-URL-from-CloudFlare-s-caching-
Zdalne żądania nie powiodły się: cURL wyłączony
Jeśli Twój hosting internetowy ma wyłączone rozszerzenia cURL i/lub inne mechanizmy komunikacji zdalnej, może to powodować problemy z możliwością komunikacji Easy Digital Downloads z PayPal.
Możesz potwierdzić, czy to jest potencjalna przyczyna, przechodząc do Pobieranie > Informacje o systemie i szukając tej sekcji:
WP Remote Post: wp_remote_post() works
Jeśli mówi, że wp_remote_post() nie działa, skontaktuj się ze swoim hostingodawcą i poproś o włączenie cURL.
Możesz dalej potwierdzić, czy to jest problem, przechodząc do Pobieranie > Raporty > Logi > Błędy płatności i sprawdzając, czy są tam zarejestrowane jakieś komunikaty o błędach, które wyglądają tak:
{"errors":{"http_failure":["There are no HTTP transports available which can complete the requested request."]},"error_data":[]}
Ten błąd oznacza, że Twoja witryna nie może komunikować się z PayPal, więc płatności nie mogą zostać zweryfikowane.
Konfliktujące wtyczki
Jeśli IPN PayPal działa w pełni, według Twojej najlepszej wiedzy, a problem nadal występuje, jest bardzo prawdopodobne, że masz zainstalowaną inną wtyczkę, taką jak Bad Behavior, która blokuje IPN PayPal. Tego rodzaju wtyczki antyspamowe zazwyczaj blokują komunikację z PayPal. Jeśli masz zainstalowaną jedną z tych wtyczek, spróbuj ją dezaktywować, przeprowadź testowy zakup, a następnie sprawdź, czy Twoja płatność została oznaczona jako zakończona.
Wtyczki, o których wiadomo, że powodują problemy:
- All-In-One Security
- Bad Behavior
- Complete Cache
- iThemes Security
- Wordfence Security
- W3 Total Cache
- WP Super Cache
- WP-SpamShield
Jeśli masz aktywowaną jedną z tych wtyczek, spróbuj ją dezaktywować, a następnie wykonaj testowy zakup. Jeśli płatności zostaną oznaczone jako zakończone po dezaktywacji wtyczki, będziesz wiedzieć, co jest przyczyną.
Tylko dlatego, że masz zainstalowaną jedną z tych wtyczek, nie oznacza to jednak, że na pewno napotkasz problemy. Wszystkie te wtyczki można pomyślnie skonfigurować tak, aby działały dobrze obok Easy Digital Downloads. Zazwyczaj problem wynika z jednej lub dwóch konkretnych opcji konfiguracji w ramach wtyczki.
Blokowanie serwera
Czasami ustawienie serwera może blokować odpowiedź IPN. Oto kilka znanych problemów,
Strato
Strato to niemiecki hosting i ma ustawienie bezpieczeństwa księgi gości, które zakłóca działanie PayPal. Oto jak wyłączyć to ustawienie:
- Zaloguj się do Obsługi Klienta Strato.
- Wybierz opcję zmiany pakietu hostingowego.
- Wybierz pozycję Ustawienia.
- Wybierz Bezpieczeństwo po stronie serwera.
- Wyłącz pozycję „filtr dla spamu w księdze gości”.
Między domenowe żądania HTTP
Jeśli masz wtyczkę, która wymusza ruch HTTP na HTTPS, a żądanie IPN przychodzi na HTTP, zostanie odrzucone, ponieważ są to technicznie różne domeny. Jeśli zauważysz, że Twoje żądania IPN są odrzucane, upewnij się, że używasz tego samego protokołu we wszystkich żądaniach.
