Closed MichalCzerwonka closed 5 years ago
Jak mogę przenieść ładowanie jQuery płatności do sekcji
?Dodaj ładowanie jQuery pomiędzy znacznikami <head></head>
bo wordpress domyślnie ładuje je w stopce.
function insert_jquery(){
wp_enqueue_script('jquery', false, array(), false, false);
}
add_filter('wp_enqueue_scripts','insert_jquery',1);
Dodałem coś takiego do pliku functions.php, jednak nadal jQuery ładowany jest na dole strony, podpowiesz jak to rozwiazać?
Problem nie został rozwiązany - dodanie jQuery w head nie jest rozwiązaniem. Czy ktoś dał radę naprawić ten problem? Korzystam z najnowszej wersji wtyczki.
@mbed92 spróbuj: w panelu dotpay przejdź do menu Ustawienia → Powiadomienia → Konfiguracja urlc i odznacz opcję „Blokuj zewnetrzne urlc”. Pole adres Urlc pozostaw puste. Odznacz też checkboxy związane z https i certyfikatem.
(u mnie pomogło)
@mbed92 spróbuj: w panelu dotpay przejdź do menu Ustawienia → Powiadomienia → Konfiguracja urlc i odznacz opcję „Blokuj zewnetrzne urlc”. Pole adres Urlc pozostaw puste. Odznacz też checkboxy związane z https i certyfikatem.
(u mnie pomogło)
Dzisiaj też trochę powalczyłem z problemem i pomogło to samo co u Ciebie - odznaczenie external urlc
Temat zamknięty, problem uznany za rozwiązany.
Rozwiązanie:
@mbed92 spróbuj: w panelu dotpay przejdź do menu Ustawienia → Powiadomienia → Konfiguracja urlc i odznacz opcję „Blokuj zewnetrzne urlc”. Pole adres Urlc pozostaw puste.
Odznacz też checkboxy związane z https i certyfikatem.(u mnie pomogło)
Brak potwierdzeń najczęściej związany jest z opcją Blokuj zewnętrzne urlc/Block external urlc. Jeśli nie ma certyfikatu SSL na stronie, a opcje HTTPS verify i SSL certificate verify są zaznaczone, to płatność się nie utworzy i wyświetlony zostanie komunikat błędu.
No i niestety problem powrócił tylko kompletnie nie rozumiem dlaczego (w tym czasie byłem na wakacjach - nic nie robiłem).
Mam w panelu Dotpay odznaczone HTTPS i SSL, mam odznaczone blokowanie zewnętrznego URLC. W htcaccess dodana została linia (zgodnie z sugestią supportu dotpay):
php_value max_execution_time 1800
Niestety to nie pomogło. Skierowany zostałem do zenboxa, u którego mam hosting - też nic. Wiadomo tylko, że połączenie wychodzące z serwera do Dotpay jest prawidłowe. Błąd występuje podczas sprawdzania statusu operacji. Zwracana jest bowiem wiadomość:
timer_off Błąd płatności
Nie mam już pomysłów gdzie może leżeć błąd.
Logi Dotpay pokazują:
Param "customer" is invalid - validation errors: {'order': {'delivery_address': {'city': [u'This field may not be blank.'], 'street': [u'This field may not be blank.'], 'postcode': [u'This field may not be blank.'], 'country': [u'This field may not be blank.']}}}
--
Próbowałem zaznaczyć opcję z używaniem starego REST API, ale bez skutku.
Przydałby się reopen, bo błąd jest nadal.
Informacja z logów mówi jedynie o parametrach wymaganych do specyficznego kanału płatności, nie ma ona znaczenia dla występującego błędu.
Występuje tu problem z adresem IP, z którego przekazywane jest potwierdzenie - rozpoznawany jest adres IP zendbox'a. Modyfikację modułu można przeprowadzić we własnym zakresie: zmieniając warunki weryfikacji adresu IP (dodanie zgłaszanego IP) lub też pomijając weryfikację kompletnie (niezalecane). Kod odpowiedzialny za weryfikację adresu IP znajduje się pod tym linkiem. Z racji, że jest to zmiana indywidualna (dotycząca specyficznego przypadku), nie zostanie wdrożona w ogólnodostępnym wydaniu.
Dziękuję @MrBloodyJohn Problem leżał dokładnie w tej linii, którą zalinkowałeś. Adres IP zwracany przez getClientIp() to adres serwera Zenbox'a i nie pasował on do DOTPAY_IP ani OFFICE_IP. O ile pierwszy adres to adres serwisu Dotpay, to ten drugi nie wiem co to za adres.
// Office Dotpay IP address
const OFFICE_IP = '77.79.195.34';
Tak czy siak dodałem weryfikację IP mojego serwera i teraz jest już ok. Dzięki za pomoc i pozdrawiam.
W przypadku gdy jQuery nie jest ładowane w nagłówku(
<head>
) a w stopce, na dole dokumentu, wtyczka zawiesza się na etapie:"Płatność czeka na potwierdzenie przez Dotpay"
Chwile mi zeszło odnalezienie dlaczego tak się dzieje, dlatego zostawiam informacje dla innych mających ten problem. :)