Coder Social home page Coder Social logo

pay-now / paynow-woocommerce Goto Github PK

View Code? Open in Web Editor NEW
12.0 7.0 7.0 6.64 MB

WooCommerce Plugin for Paynow

Home Page: https://paynow.pl

License: Other

PHP 70.36% Shell 1.85% CSS 3.32% JavaScript 11.52% TypeScript 12.94%
woocommerce woocommerce-plugin woocommerce-payment paynow paynow-api payments

paynow-woocommerce's People

Contributors

adjurk avatar dependabot[bot] avatar developermovecloser avatar emilleszczak2 avatar krzysztofustowski avatar mateusz0lejnik avatar mateusztwardowski avatar michalskladanowski avatar mmiedzinski avatar piotr-stankiewicz-melements avatar piotrdrozdek avatar piotrgoreckimelements avatar piotrniewczas avatar programista86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

paynow-woocommerce's Issues

Call to undefined function wc_add_notice()

After providing API key & signature key, on saving WooCommerce payments settings, the following error appears:

Uncaught Error: Call to undefined function wc_add_notice() in /public_html/kahawa.pl/wp-content/plugins/woocommerce-gateway-paynow/includes/class-wc-gateway-paynow.php:75

WooCommerce v: 3.7.0

Błąd krytyczny w logach

Kilka dni temu oraz dzisiaj zaobserwowałem w logach taki błąd:

CRITICAL Uncaught Error: Call to a member function get() on null in /****/wp-content/plugins/pay-by-paynow-pl/includes/class-paynow-gateway.php:187
Stack trace:
#0 /****/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php(530): Paynow_Gateway->payment_methods()
#1 /****/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php(328): WC_Gateway_Pay_By_Paynow_PL->get_only_payment_methods_for_type('BLIK')
#2 /****/wp-content/plugins/pay-by-paynow-pl/includes/gateways/class-wc-payment-gateway-pay-by-paynow-pl-blik.php(62): WC_Gateway_Pay_By_Paynow_PL->is_payment_method_available('BLIK')
#3 /****/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(154): WC_Payment_Gateway_Pay_By_Paynow_PL_Blik->is_available()
#4 /****/wp-content/plugins/woocommerce/packages/woocommerce-admin/src/Features/OnboardingTasks/Tasks w /****/wp-content/plugins/pay-by-paynow-pl/includes/class-paynow-gateway.php w linii 187

Wcześniej nie obserwowałem tego błędu. Czy to coś poważnego?

Warningi

Już trochę tradycyjnie powracam z tematem warningów w logach :)

Od wczoraj pojawiają się w logach dwie linijki (notice i warning):

PHP Notice:  Undefined index: trash in /.../public_html/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php on line 422
PHP Warning:  in_array() expects parameter 2 to be array, null given in /.../public_html/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php on line 422

Co ciekawe - wcześniej ich nie było a wtyczka ostatni raz była aktualizowana 17. stycznia do wersji 2.4.6

Problem z zarzadzaniem stanem magazynowym Oczekuje na platnosc - zmniejsza stan

Woocomerce ma taki dziwną ceche, zamowienia w trybie "oczekuje na platnosc" maja zarezerwowane produkty na stocku. Stock jest nie zmniejszony ale woocomerce nie pozwala na ich kupno. Wtyczki z platnosciami w woo, czekaja ze zmiana stanu magazynu na to aż zamowienie przejdzie w stan "W realizacji". Pay now odraz zmniejsza stan. To powoduje że wiszące zamowienie ma zarezerwowane 2 produkty (jeden przez paynow - zdjecie ze stanu, drugi przez woocomerce ta cicha rezerwacja).

To powoduje duże problemy w sklepach z rzadkimi przedmiotami w ktorych stan magazynowy jest niski. Jedno wiszące zamowienie w stanie "oczekuje na platność" z rzadkim produktem ktorego mamy 2 egzemplarze przyblokowuje nam ten produkt na 48h!

Co gorsze ten produkt dalej jest widoczny w sklepie, bo ta rezewacja woocommrece jest nie widoczna dla klienta i produkt wyswietla sie jako dostepny 1 na stanie, na tomiast proba kupienia go konczy się nie powodzeniem, co bardzo irytuje naszych klientow (mamy pelno chatow z tym zwiazanych).

Stan czeka na płatność został stworzony do płatności kartą w których oczekiwanie nie jest dlugie - maksymalnie pare minut, to jak ten stan jest to uzywany w paynow jest nie kompatybiliny z woo :( i powoduje problemy.

Czy możemy coś z tym zrobić?

Błąd przy zapisie konfiguracji

Przy próbie zapisania konfiguracji płatności pojawia się krytyczny błąd pluginu.

WordPress w wersji 6.1.1
Aktualny motyw: GutenVerse (wersja 2.2)
Aktualna wtyczka: Pay by paynow.pl (wersja 2.4.14)
Wersja PHP: 7.4.3-4ubuntu2.17

Szczegóły błędu

Błąd typu E_ERROR został spowodowany w linii 260 pliku /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/php-http/curl-client/src/Client.php. Komunikat błędu: Uncaught TypeError: Return value of Http\Client\Curl\Client::getProtocolVersion() must be of the type int, string returned in /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/php-http/curl-client/src/Client.php:260
Stack trace:
0 /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/php-http/curl-client/src/Client.php(211): Http\Client\Curl\Client->getProtocolVersion()
1 /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/php-http/curl-client/src/Client.php(143): Http\Client\Curl\Client->prepareRequestOptions()
2 /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/pay-now/paynow-php-sdk/src/Paynow/HttpClient/HttpClient.php(69): Http\Client\Curl\Client->sendRequest()
3 /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/pay-now/paynow-php-sdk/src/Paynow/HttpClient/HttpClient.php(124): Paynow\HttpClient\HttpClient->send()
4 /var/www/wordpress/wp-content/plugins/pay-by-paynow-pl/vendor/pay-now/paynow-php-sdk/src/Paynow/Service/ShopConfiguration.php(28): Pay

Po złożeniu zamówienia i poprawnym opłaceniu status zamówienia nie zmienia się na "W trakcie realizacji"

Tak jak w tytule, gdy klient złoży zamówienie i opłaci je poprawnie po przez paynow status zamówienia nie zmienia się z "Oczekujące na płatność" na "W trakcie realizacji". Przez to ani klient ani sprzedawca nie otrzymują potwierdzenia transakcji. Czy trzeba ustawić coś dodatkowo żeby to działało poprawnie (z automatu zmieniało te statusy) czy jest to bug tej wtyczki?

Wersja 1.0.11

Wtyczka zostala usunieta ze sklepu wordpress'a

Cześć, wordfence przedstawilo was jako krytyczny blad, bo wtyczka zostala usunieta z katalogu wordpresa. Czy to jest jakis tymczasowy błąd, czy się wycofujecie z hostowania automatycznych upgradow tam?

Problem jest o tyle powżny że teraz ktoś może wydać paynow w wersji malware i automatycznie zainstalować się na moich serwerach stagingowych. :(

Paynow opóźnia mi stronę z produktem o 1.5 sec (Zapytanie do api.paynow.pl/v2/payments/paymentmethods)

Cześć, właśnie google search console, powiedział mi że moja strona zaczęła kuleć (od 25 grudnia), zacząłem szukać i znalazłem call paynow podczas renderowania się strony z produktem. Call jest async ale jako ze wykonuje się prawie na końcu nie wiele to zmienia i strona renderuje mi się o 1.5sec dłużej

Czy moglibyście to przenieść do jakiś cron'a / woo scheduled actions?

Poniżej screenshot z new relica
Screenshot 2023-01-06 at 18 12 47

Błędne wywołanie register_rest_route

Po aktualizacji do najnowszej wersji, wtyczka powoduje w logach pojawianie się następującego komunikatu:

[27-Dec-2021 10:48:38 UTC] PHP Notice:  Funkcja register_rest_route została wywołana <strong>nieprawidłowo</strong>. 
W definicji routingu REST API dla <code>paynow/status</code> brakuje wymaganego argumentu <code>permission_callback</code>. 
Dla routingów REST API, które mają być publiczne, użyj <code>__return_true</code> jako wywołania uprawnień. 
Dowiedz się więcej: <a href="https://wordpress.org/support/article/debugging-in-wordpress/">Debugowanie w WordPressie</a>. (Ten komunikat został dodany w wersji 5.5.0.) 

w wersji 2.2 nie mogę wybrać banku dla szybkiej płatności

Wczoraj zaktualizowałem wtyczkę w dwóch niezależnych sklepach i w obu występuje ten sam problem. Wybierając płatność paynow nie mogę zaznaczyć żadnego banku - wszystkie są "nieklikalne" a przycisk "Kupuję i płacę" jest nieaktywny
Screenshot 2021-05-07 14 42 43

Problem z numerami zamówień

Korzystam z wtyczki Sequential Order Numbers for WooCommerce Wersja 1.4.3 | Autor: WebToffee

W waszej wtyczce zmieniłem w pliku /includes/class-wc-paynow-notification-handler.php jedną linijkę
$order_id = $order->get_order_number();
niestety w paynow nadal dostaję numery zamówień według starej nomenklatury
Proszę o pomoc w pozyskiwaniu numerów zamówień z wtyczki generującej nowe numery
paynow Wersja 1.0.8

Panowie kiedy wersja 1.0.9 ?

Widzę poprawione błędy z mailem, jeden z zapytaniem ale dalej wersji 1.0.9 brak ? Możecie dodać jedną cyferkę ?

2.2.1 nie można złożyć zamówienia przy powtórnym wybraniu płantości szybkim przelewem

Dzień dobry. Problem jest pokazany na załączonym screenshocie. Wybrany jest mbank ale nie da sie złożyć zamówienia.

Aby zreplikować problem wystarczy:

  • wybrać szybki przelew, zaznaczyć bank
  • wybrać blik
  • wybrać szybki przelew - bank już jest zaznaczony ale przycisk złóż zamówienie nie jest włączony.

Dodatkowo miałbym dwie prośby:
1). Jak musicie mieć wybór banku na stronie z zamówieniem ktróra i tak jest juz przeładowana, to dobrze byłoby być zgodnym w obsłudze błędów z woo commerce, który zawsze pozwala kliknąć 'zlóż zmówienie' ale jak coś jest nie tak to pokazuje komunikat że należy coś poprawić. Robienie przycisku z zamówieniem nie aktywnym będzie trudne do zrozumienia przez moich klientów co obnizy nam konwersje we sklepie.
Wiec jak musicie mieć walidacje to starałbym się a by była zgodna z walidacją innych pół. Ale byłbym za tym żeby tej walidacji nie było przy nie wybranym przelewie aby pojawiał sie screen paynow z możliwością wyboru.

2). Ekran woocommerce jest już wystarczająco skomplikowany dodawani dużego pola z logo wszystkich banków robi ten ekran jeszcze bardziej skomplikowanym. Czy była by taka możliwość aby pokazać rożne typy płatności paynow (blik, szybkie przelewy, karta) ale aby nie wymagać wyboru typu szybkiego przelewu? Tak aby nie pojawiał się taki duży screen ze wszystkim bankami.
Wtedy problem 1 się rozwiąże.

Ewentualnie jak nie da się zmienić jak działają stare przelewy to czy moglibyście dodać do konfiguracji (lub kodu) możliwość włączenia starego trybu działania?

Screenshot 2021-05-10 at 11 33 24

Zwroty przez API przechodzą bez błędu mimo braku środków

Mamy system który korzysta z API woocommerce do robienia zwrotów automatycznych na podstawie wystawionych faktur korekt.
Pracownik dostaje listę takich korekt i robi zwrot za zwrotem w wypadku paynow/stripe jednym kliknięciem zamieniając fakture korygującą na korespondujący zwrot w woocommerce.

Niestety ostatni zmiana w paynow spowodowała problemy które dopiero teraz zauważyliśmy. Otóż jak nie ma wystarczającej ilości gotówki na koncie kartowym lub paynow, to zwrot przechodzi bez błędu w API. Wcześniej taki zwrot nie przechodził i pracownik wiedział że ma zrobić zwrot manualny na konto klienta lub korzystając z interfejsu paynow.

Poporzednie wersje Paynow jak również Stripe, działają w ten spób że w wypadku błedu podczas zwrotu, ten błąd zwracany jest po API a sam zwrot nie jest tworzony. Czy możemy jakoś przywrócić tą funkcjonalność?

Teraz lecimy przez arkusz z długą listą zwrotów i próbujemy to jakoś naprawić ręczenie ale chcielibyśmy móc ufać paynow które jak tworzy zwrot z automatyczną zapłatą to ten zwrot jest wykonany.

Możliwe że widzimy problem dopiero teraz bo cześciej paynow jest wyzerowany.

Paynow nie pozwala wylączyć niechcianej płatności

Nie moge wylaczyc platności kartą w paynow, za każdym razem jak wybiore wyłącz, płatności włączają się na nowo.

Płatności kartą zapewnia nam inna firma (stripe), nie chce tego zmieniac bo przy okazji dają nam apple pay i googlepay które wypełnienia nam adres dostawy.

Co moge zrobić żeby to naprawić?

PHP Fatal error: require_once(): Failed opening required '/var/www/html/wp-content/plugins/pay-by-paynow-pl/vendor/autoload.php'

wordpress | NOTICE: PHP message: PHP Warning: require_once(/var/www/html/wp-content/plugins/pay-by-paynow-pl/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/wp-content/plugins/pay-by-paynow-pl/pay-by-paynow-pl.php on line 35 wordpress | NOTICE: PHP message: PHP Fatal error: require_once(): Failed opening required '/var/www/html/wp-content/plugins/pay-by-paynow-pl/vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/html/wp-content/plugins/pay-by-paynow-pl/pay-by-paynow-pl.php on line 35

New release 2.2.12 on Wordpress repository is missing a vendor/autoload.php file. Zip archive on github https://github.com/pay-now/paynow-woocommerce/releases/latest/download/pay-by-paynow-pl.zip is fine.

Płatności linkiem

Dzień dobry czy Pay Now rozważa uruchomienie opcji płacenia linkiem, taka funkcjonalność pojawia się w Tpay, przelewy24 i Payu. Bardzo brakuje jej w rozwiązaniu Pay Now.

Chodzi mi o niezależną funkcję generowania np po stronie systemu mbank.pl w przelewach 24 nazywa się to Wirtualny Koszyk

Ikony płatności

Witam. Da radę dodać płatność blikiem jako osobny sposób płatności, ale wciąż korzystający z Paynow? Jeśli nie, to może da radę dodać chociaż ikony Blika i kart płatności?

Generowanie linku do płatności EUR kartą

Witam

Sprawa nie dotyczy stricte wtyczki ale nie mogę przebrnąć przez support mailowy gdyż tam ktoś uparcie twierdzi że jest inaczej niż jest faktycznie.

Mianowicie, mam swoją wtyczkę, która korzysta z Waszego API REST czyli robi dokładnie to samo co Wasza wtyczka.
Mam aktywowane płatności kartą w EUR natomiast po wygenerowaniu linku i wpisaniu danych karty już na formatce pojawia się błąd.

Support uparcie twierdzi że blue media nie wspiera takiego rozwiązania jakie posiadam i mam użyć wtyczki oficjalnej i dodać wybór waluty w sklepie.

Nie bardzo rozumiem skąd blue media ma wiedzieć czy link wygenerowała Wasza wtyczka czy moja, gdzie prawidłowo zgodnie z dokumentacją REST API generuję link z walutą EUR i ten link działa ale sama płatność nie przechodzi.

Skoro opieram się w 100% na dokumentacji i wszystkie płatności w PLN działają a te w EUR nie chcą, gdzie tam zmiana jest tylko waluty w requeście, to nie rozumiem dlaczego support uparcie twierdzi, że takie rozwiązanie nie zadziała.

BLIK - zniknęła możliwość wprowadzenia kodu bezpośrednio na stronie zakupu

Zauważyłem dzisiaj, że na stronie składania zamówienia po wybraniu BLIK-a jako metody płatności nie ma pól na wpisanie kodu - a jakiś czas temu jeszcze były.

Żadne ustawienia bramek płatności nie były ostatnio zmieniane.

Strona używa WooCommerce 6.1.1, WP 5.8.3 oraz wtyczki PayNow w wersji 2.4.6

Co może być przyczyną takiej zmiany? Nie widzę opcji pozwalających takie zachowanie wtyczki włączyć/wyłączyć

Wtyczka nie aktualizuje statusu zamówienia

Zamówienie złożone pieniądze klient płaci, dostaje potwierdzenie zapłaty od PAYNOW, ale w sklepie status zamówienia nadal zostaje. OCZEKUJE NA PŁATNOŚĆ.
brak informacji w panelu że zamówienie zapłacone

proszę o pomoc,
przykładowy identyfikaror płatnosci NO7C-N42-ZGO-HY4
sytuacja powtaż a się za każdym razem.
WOOCOMERCE 5.1.0

Cloudflare i paynow

Kiedyś konfigurowałem płatności przez paynow i trafiłem na problem z odbieraniem statusu płatności ponieważ cloudflare blokował odpowiedź z tym statusem.

Czy może ktoś podać numer IP, z którgo paynow wysyła odpowiedź ze statusem transakcji zarówno dla środowiska produkcyjnego jak i sandbox?

Myślę, że to ułatwi życie ludziom, którzy zmagają się z brakiem aktualizacji statusów płatności blokowanych przez CF.

Błąd krytyczny po instalacji wtyczki.

Wtyczka powoduje błąd krytyczny dla całej witryny. Nie można wejść w ustawienia woocommerce.

WordPress w wersji 5.7.2
Aktualna wtyczka: Pay by paynow.pl (wersja 2.2.8)
Wersja PHP: 7.3.19
Woocommerce: Wersja 5.4.1

Błąd typu E_ERROR został spowodowany w linii 20 pliku /public_html/wp-content/plugins/pay-by-paynow-pl/vendor/pay-now/paynow-php-sdk/src/Paynow/Client.php. Komunikat błędu: Uncaught TypeError: Argument 1 passed to Paynow\Client::__construct() must be of the type string, null given, called in public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-paynow-gateway.php on line 35 and defined in public_html/wp-content/plugins/pay-by-paynow-pl/vendor/pay-now/paynow-php-sdk/src/Paynow/Client.php:20
Stack trace:
#0 public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-paynow-gateway.php(35): Paynow\Client->__construct(NULL, NULL, 'production', 'Wordpress-5.7.2...')
#1 public_html/wp-content/plugins/pay-by-paynow-pl/includes/abstract/abstract-wc-gateway-pay-by-paynow-pl.php(32): Paynow_Gateway->__construct(Array)
#2 public_html/wp-content/plugins/pay-by-paynow-pl/includes/gateways/class-wc-payment-gateway-pay-by-paynow-pl-blik.php(12): WC_Gateway_Pay_By_Paynow_PL->_construct()
#3 public_html/wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(94): WC_Payment

Nowa wersja 2.2.0 -konflikt z wtyczką eform

Konflikt z wtyczką eForm - WordPress Form Builder

  • Puli Factory is not available
  • No valid candidate found using strategy "Http\Discovery\Strategy\CommonClassesStrategy". We tested the following candidates: Http\Discovery\Strategy\CommonClassesStrategy::buzzInstantiate.
  • No valid candidate found using strategy "Http\Discovery\Strategy\CommonPsr17ClassesStrategy". We tested the following candidates: .

in /home/------/ftp/wp-content/plugins/wp-fsqm-pro/vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php:41
Stack trace:
#0 /home/-------/ftp/wp-content/plugins/wp-fsqm-pro/vendor/php-http/discovery/src/ClassDiscovery.php(79): Http\Discovery\Exception\DiscoveryFailedException::create(Array)
#1 /home/---------/ftp/wp-content/plugins/wp-fsqm-pro/vendor/php-http/discovery/src/Psr18ClientDiscovery.php(25): Http\Discovery\ClassDisc

ERR: cannot redeclare registered "Clue-StreamFilter-register" previously declared in "woo-MailerLite"

Witam,
Zrobiłem osobne zgłoszenie, bo sama wtyczka działa, ale "gryzie się" z inną instancją zadeklarowanej funkcji.
Jeśli jest wcześniej zainstalowaną wtyczką "woo-mailerlite".

Po zainstalowaniu i włączeniu wystąpił klasyczny:

W witrynie wystąpił błąd krytyczny. W wiadomości wysłanej na adres e-mail administratora strony umieszczono dodatkowe instrukcje.

Parametry witryny
WP: 5.4.2
WC: 4.3.0
PHP: 7.3.19-1+0~20200612.60 + debian9 ~1.gbp6c8fe1
cURL: 7.52.1, OpenSSL/1.0.2u
paynow: 1.0.12

Namierzyłem Error w logach serwera:

Got error 'PHP message: PHP Fatal error: Cannot redeclare Clue\\StreamFilter\\register() (previously declared in /www/robieto/wp-content/plugins/paynow/vendor/clue/stream-filter/src/functions.php:140) in /www/robieto/wp-content/plugins/woo-mailerlite/vendor/clue/stream-filter/src/functions.php on line 127', referer: https://robieto.pl/wp-admin/plugins.php?activate=true&plugin_status=all&paged=1&s=

Czyli w moim przypadku "gryzie się" z inną wtyczką - z MailerLite'a... chyba trzeba będzie zmienić nazwę tej funkcji, albo coś podobnego ;)

Po wyłączeniu wtyczki MailerLite'a - PayNow śmigał prawidłowo.
Po ponownym włączeniu wtyczki od newslettera, oczywiście błąd serwera identyczny jak wcześniej...

Aktualnie mam jeszcze inne systemy płatności, więc PayNow może chwilkę zaczekać ;)

Zdecydowanie popieram -> Prepare official
Originally posted by @4tech-wojtek in #42 (comment)

Możliwość wysłania linka do płatności do Klienta

Inne bramki jak np. P24 posiadają możliwość wygenerowania i wysłania linka do płatności do Klienta, jeżeli z jakiegoś powodu nie opłaci zamówienia w normalnym procesie.

Czy jest rozważane dodanie takiej funkcji do PayNow?

Nie działa z Woocomerce 5.3.0

Wtyczka jest włączona, nie widać jej w Ustawieniach / Płatności. Po kliknięciu w przycisku Zapisz zmiany w Ustawieniach / Płatności, pojawia się. Zmiana zakładki np. na Konta i prywatność i powrót do zakładki Płatności skutkuje ponownym zniknięciem. Kliknięcie w przycisk konfiguruj nic nie powoduje.

Uncaught TypeError: Return value of WC_Gateway_Pay_By_Paynow_PL

Wersja WP 5.8.2, wersja plugin'a 2.4.4

Fatal error: Uncaught TypeError: Return value of WC_Gateway_Pay_By_Paynow_PL::get_only_payment_methods_for_type() must be of the type array, null returned in /wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php:536 Stack trace: #0 /wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php(328): WC_Gateway_Pay_By_Paynow_PL->get_only_payment_methods_for_type('BLIK') #1 /wp-content/plugins/pay-by-paynow-pl/includes/gateways/class-wc-payment-gateway-pay-by-paynow-pl-blik.php(62): WC_Gateway_Pay_By_Paynow_PL->is_payment_method_available('BLIK') #2 /wp-content/plugins/woocommerce/includes/class-wc-payment-gateways.php(154): WC_Payment_Gateway_Pay_By_Paynow_PL_Blik->is_available() #3 /wp-content/plugins/woocommerce/includes/wc-template-functions.php(3820): WC_Payment_Gateways->get_available_payment_gateways() #4 /wp-includes/class-wp-hook.php(303): wc_get_pay_buttons('') #5 /wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters('', Array) #6 /wp-inclu in /wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php on line 536

Paynow anuluje zamowienia ktore są oplacone w inny sposób.

Gdy paynow nie zadziała a klient opłaci inaczej zamówienie (np. przelew bankowy czy inny przez innego dostawce platności) zamówienie przechodzi w stan "in progress" i jest realizowane.
Niestety paynow po pewnym czasie (6 dni?) wysyła informacje że zamowienie nie przeszło i anuluje je co powoduje błędy na stocku.
Co gorsze klient dostaje maile ktore moga wygladac dla niego jak losowe.

Dodatkowo widać też tu że "anulowanie zamowienia" powoduje zwiekszenie stocka 2 razy tak jak wspominalem w review do #33, paynow nie powinien manulanie zwiekszać stanu tylko polegać na woo, w ten sposob inne pluginy ktore polegaja na woo (typu stripe) beda dobrze wspolpracowaly i stan magazynowy nie bedzie sie zwiekszal dwa razy przy anulowaniu.

Jak mysle o tym bugu to zrobiłbym zabezpieczenie ze "anulować" można tylko zamówienie które jest w stanie "pending" (oczekuje na platność), a jeżeli juz zostanie przeniesione w inny stan ("in progres", "complted" czy "canceled") to paynow nie powinien zmieniać jego stanu, w ten sposob unikniemy takiej systuacji jak na ponizszym screenshotcie.
Screenshot 2020-09-14 at 15 59 46

Błędy PHP po ostatniej aktualizacji (2.2.11)

Po aktualizacji wtyczki na stronie klienta z wersji 2.2.10 do 2.2.11, zaobserwowałem pojawienie się logów typu fatal-errors-DATA-XYZ.log.

Wygląda na to, że obsługa wyjątków jest niepoprawna - przykładowy błąd:

2021-09-01T19:20:49+00:00 CRITICAL Uncaught Error: Wrong parameters for Exception([string $message [, long $code [, Throwable $previous = NULL]]]) in /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-notification-handler.php:93
Stack trace:
#0 /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-notification-handler.php(93): Exception->__construct('Order status tr...', Array)
#1 /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-notification-handler.php(58): WC_Gateway_Pay_By_Paynow_PL_Notification_Handler->process_notification(Object(Automattic\WooCommerce\Admin\Overrides\Order), Array)
#2 /***/public_html/wp-includes/class-wp-hook.php(303): WC_Gateway_Pay_By_Paynow_PL_Notification_Handler->handle_notification('')
#3 /***/public_html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters('', Array)
#4 /***/public_html/wp-includes/plugin.php(470): WP_Hook->do_action(Array) w /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-notification-handler.php w linii 93

Błędy te pojawiają się z pewną regularnością - pojawiły się:

30 sierpnia:

  • 11:23:35
  • 11:24:37
  • 11:25:22
  • 11:26:23
  • 11:27:26
  • 11:28:27
  • 11:30:28
  • 11:35:30
  • 11:50:32

I potem już regularnie i dużo rzadziej:

  • 12:20
  • 13:20
  • 15:20
  • 19:20

31 sierpnia

  • 3:20
  • 19:20

1 września

  • 19:20

Z mojej perspektywy wygląda to tak jakby to były jakieś zewnętrzne zapytania przychodzące z bramki PayNow w formacie nieobsługiwanym przez nową wersję wtyczki.

Dodam, że godziny błędów nie pokrywają się z płatnościami. Znalazłem też ukończoną płatność poprzez bramkę, także raczej są to błędy niezwiązane z obsługą płatności.

Na wszelki wypadek na ten moment przywróciłem na stronie klienta wersję 2.2.10, która powyższego błędu nie miała.

W obu wypadkach (wersja 2.2.11 oraz 2.2.10) podczas zakupu testowego byłem poprawnie przekierowywany na stronę bramki płatności (samego zakupu nie finalizowałem). Podczas testów nie pojawiły się żadne nowe logi błędów.

Paynow z jakiś powodów nie zawsze przechodzi w on-hold zostając w pending, co powoduje problemy ze stockiem.

Po ostatnim evencie gdzie bylo duzo zakupów na nasze stronie pojawiły się 4 zamówienia z paynow w stanie oczekuje na płatność - pending. W których stock nie był zmieniony. Po wysłaniu szczegółów zamówienia do klienta (ten mail zawiera link do innych płatności), paynow automatycznie ściągnął towar ze stocka, mimo że zamówienie pozostało pending. To spowodowało ze po anulowania zamówienia, stock nie został przywrócony. Musiałem zmienić zamówienie na Wstrzymane ( on-hold) a potem na anulowane zeby stock się przywrócił. Co ciekawsze pierwsza zmiana na stocku jest wykonana jako admin (jest szara) a nie użytkownik systemowy. Problem pokazany na załączonym zdjęciu.
tu jest ten błąd który obserwujemy:
błąd
tak wyglada poprawne zamowienie:
poprawne zamowienie

Problem po instalacji

Niestety po instalacji pojawia się taki błąd:

Warning: PHP Startup: failed to open stream: No such file or directory in /wp-content/plugins/paynow-woocommerce-master/woocommerce-gateway-paynow.php on line 32

Warning: PHP Startup: Failed opening '/wp-content/plugins/paynow-woocommerce-master/vendor/autoload.php' for inclusion (include_path='.:/:/usr/local/php73/lib/pear') in /wp-content/plugins/paynow-woocommerce-master/woocommerce-gateway-paynow.php on line 32

Fatal error: Uncaught Error: Class 'Paynow\Client' not found in /wp-content/plugins/paynow-woocommerce-master/includes/class-wc-gateway-paynow.php:95 Stack trace: #0 /wp-content/plugins/paynow-woocommerce-master/includes/class-wc-gateway-paynow.php(63): WC_Gateway_Paynow->init_paynow_client() #1 /wp-content/plugins/paynow-woocommerce-master/includes/class-wc-paynow-notification-handler.php(12): WC_Gateway_Paynow->__construct() #2 /wp-content/plugins/paynow-woocommerce-master/includes/class-wc-paynow-notification-handler.php(143): WC_Gateway_Paynow_Notification_Handler->__construct() #3 /wp-content/plugins/paynow-woocommerce-master/woocommerce-gateway-paynow.php(36): include_once('/wp-content/plu...') #4 /wp-includes/class-wp-hook.php(287): woocommerce_gateway_paynow_init('') #5 /wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #6 /wp-includes/plugin.php(478): WP_Hook->do_action(Array) #7 /wp-settings.php(403): do_action('plugins_loaded') #8 /wp-config.php(76): require_once('/wp-settings.ph...') #9 / in /wp-content/plugins/paynow-woocommerce-master/includes/class-wc-gateway-paynow.php on line 95

PHP notice: Trying to get property 'total' of non-object

W logach strony przy wykorzystaniu wtyczki w wersji 2.2.10 regularnie pojawia mi następujące wpis:

PHP Notice:  Trying to get property 'total' of non-object in /XXX/wp-content/plugins/pay-by-paynow-pl/includes/abstract/abstract-wc-gateway-pay-by-paynow-pl.php on line 263

Co ciekawe zawsze pojawia się on 8 razy pod rząd w tym samym czasie.

Wtyczka powoduje timeout w koszyku i nie tylko

Mam taki problem od paru dni, że strona zawiesza się (timeout) w sytuacjach:

  1. Koszyk z produktem
  2. Zamówienie
  3. Zapis opcji wtyczki Paynow (opcje są zapisane w bazie ale przeładowanie strony kończy timeout)

Problem występuje także gdy metody płatności od Paynow są wyłączone, a ustępuje po deaktywacji wtyczki.
Wygląda jakby wtyczka inicjowała komunikację w tle, nie dostawała odpowiedzi i tkwiła w tym stanie.

Dzieje się to na serwerze produkcyjnym używającym Cloudflare.

Czy mieliby Panowie jakieś tropy/sugestie?

2022-03-11T09:55:53+00:00 INFO Retrieving payment methods {currency=PLN, amount=5000}
2022-03-11T09:58:10+00:00 ERROR Operation timed out after 300351 milliseconds with 0 out of 0 bytes received

Opcja wyboru wariantu kolorystycznego dla logotypów

Dobry,

jeśli motyw strony jest ciemny, to niestety przy wybieraniu rodzaju płatności logotypy banków i usług są niewidoczne. Przydałaby się możliwość ustawienia wariantów kolorystycznych dla logotypów, aby były również widoczne na ciemnych tłach.

W załączniku prezentacja:
Zrzut ekranu 2021-07-1 o 14 18 17

Potraktujcie to proszę jako feature request :)

Problem z odpaleniem wtyczki

Pobrałem waszą bramkę
Parametry witryny
wp 5.3.4
woo 4.0
mam php 7.3

Przy odpaleniu wtyczki mam biały ekran oraz
Error thrown
Class 'Paynow\Client' not found

Podstrona - /potwierdz-platnosc-blikiem-w-aplikacji-bankowej/

Hej,
Czy podstrona utworzona podczas ostatnich aktualizacji może zostać usunięta?

/potwierdz-platnosc-blikiem-w-aplikacji-bankowej/

Tam jest widoczny shortcode [pay_by_paynow_pl_content]

Czy po ostatnich aktualizacjach można ją usunąć z wp

Brak możliwości zmiany opisu metody płatności

Wtyczka nie umożliwia ustawienia własnego opisu metody płatności, który ma ogromne znaczenie przy decydowaniu o wyborze bramki przez Klientów.

Ustawiłem w swoim sklepie Paynow jako pierwszą/domyślną metodę płatności, a mimo to Klienci wybierają P24, które mogę opisać jako "Natychmiastowy przelew online".

Dodanie możliwości ustawienia własnego opisu, byłoby bardzo cenną funkcją.
Załączam jak to wygląda u mnie w sklepie w tej chwili:

image

Błąd zapisywania konfiguracji wtyczki

Podczas zapisywania ustawień konfiguracyjnych wtyczki (Klucz API, klucz podpisu) występuje krytyczny błąd. Niezależnie od zaznaczonych opcji czy wpisanych kluczy.
Wersja WooCommerce 4.1.0
Wordpress 5.4.1

Fatal error: Uncaught Error: Call to undefined function wc_add_notice() in /home/atheron/websites/savoir7.pl/wp-content/plugins/paynow-woocommerce-b79ba07d5add4454c16ce5aa9926da32fb3c32e6/includes/class-wc-gateway-paynow.php:74 Stack trace: #0 /home/atheron/websites/savoir7.pl/wp-includes/class-wp-hook.php(287): WC_Gateway_Paynow->process_admin_options('') #1 /home/atheron/websites/savoir7.pl/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters('', Array) #2 /home/atheron/websites/savoir7.pl/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #3 /home/atheron/websites/savoir7.pl/wp-content/plugins/woocommerce/includes/admin/settings/class-wc-settings-payment-gateways.php(227): do_action('woocommerce_upd...') #4 /home/atheron/websites/savoir7.pl/wp-includes/class-wp-hook.php(287): WC_Settings_Payment_Gateways->save('') #5 /home/atheron/websites/savoir7.pl/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters('', Array) #6 /home/atheron/websites/savoir7.pl/wp-includes/plugin.php(478): WP_Hook->do_action(Array) in /home/atheron/websites/savoir7.pl/wp-content/plugins/paynow-woocommerce-b79ba07d5add4454c16ce5aa9926da32fb3c32e6/includes/class-wc-gateway-paynow.php on line 74

BLIK rzuca fatal error

Uncaught Error: Call to undefined method Paynow\Model\PaymentMethods\PaymentMethod::getAuthorizationType() in /wp-content/plugins/pay-by-paynow-pl/includes/gateways/class-wc-payment-gateway-pay-by-paynow-pl-blik.php:53

Zduplikowany mail - "Nowe zamówienie".

Po podłączeniu bramki PayNow - przy opłacaniu zamówienia wysyła się zduplikowany email odnośnie realizacji zamówienia "Nowe zamówienie".

Email wysyła się 2 razy:
1 raz - po kliknięciu przycisku "kupuję" w checkoucie Woocommerce (przed przekierowaniem do płatności PayNow),
2 raz - po opłaceniu zamówienia PayNow.

Konflikt z wtyczką Redux lub Elementor

Wtyczka ma konflikt z Redux lub Elementor

Problem polega na tym, że gdy włączam edycję strony przez Elementor zatrzymuje się na ekranie ładowania.

Zauważyłem, że problem występuje tylko jeśli włączona jest wtyczka Redux i Paynow.

Jeśli wyłączę Redux lub Paynow wszystko działa prawidłowo, tzn. jeśli wyłączę tylko "Redux" wszystko działa prawidłowo lub jeśli wyłączę tylko "Paynow" wszystko również działa poprawnie.

Próbowałem zainstalować Paynow na innej stronie gdzie jest zainstalowany Redux i natychmiast po instalacji dostaję:
Fatal error: Uncaught Error: Call to undefined function wc_pay_by_paynow_pl_plugin_version() in /home/klient.dhosting.pl/****/****.pl/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-manager.php:96 Stack trace: #0 /home/klient.dhosting.pl/****/****.pl/public_html/wp-includes/class-wp-hook.php(303): WC_Pay_By_Paynow_Pl_Manager->enqueue_admin_scripts('plugins.php') #1 /home/klient.dhosting.pl/****/****.pl/public_html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters(NULL, Array) #2 /home/klient.dhosting.pl/****/****.pl/public_html/wp-includes/plugin.php(470): WP_Hook->do_action(Array) #3 /home/klient.dhosting.pl/****/****.pl/public_html/wp-admin/admin-header.php(102): do_action('admin_enqueue_s...', 'plugins.php') #4 /home/klient.dhosting.pl/****/****.pl/public_html/wp-admin/plugins.php(603): require_once('/home/klient.dh...') #5 {main} thrown in /home/klient.dhosting.pl/****/****.pl/public_html/wp-content/plugins/pay-by-paynow-pl/includes/class-wc-pay-by-paynow-pl-manager.php on line 96

Fatal w 1.0.9

[21-May-2020 17:04:04 UTC] PHP Warning: include_once(/private_html/wp-content/plugins/paynow-woocommerce-1.0.9/vendor/autoload.php): failed to open stream: No such file or directory in /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/woocommerce-gateway-paynow.php on line 31
[21-May-2020 17:04:04 UTC] PHP Warning: include_once(): Failed opening '/private_html/wp-content/plugins/paynow-woocommerce-1.0.9/vendor/autoload.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/woocommerce-gateway-paynow.php on line 31
[21-May-2020 17:04:04 UTC] PHP Fatal error: Uncaught Error: Class 'Paynow\Client' not found in /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/includes/class-wc-gateway-paynow.php:95
Stack trace:
/private_html/wp-content/plugins/paynow-woocommerce-1.0.9/includes/class-wc-gateway-paynow.php(63): WC_Gateway_Paynow->init_paynow_client()
#1 /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/includes/class-wc-paynow-notification-handler.php(12): WC_Gateway_Paynow->__construct()
#2 /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/includes/class-wc-paynow-notification-handler.php(141): WC_Gateway_Paynow_Notification_Handler->__construct()
#3 /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/woocommerce-gateway-paynow.php(35): include_once('/home...')
#4 /private_htm in /private_html/wp-content/plugins/paynow-woocommerce-1.0.9/includes/class-wc-gateway-paynow.php on line 95

Kilka problemów na bazie logów

Kilka znalezisk z logów odnośnie wtyczki - nie wiem czy istotne, bo wtyczka zdaje się na ten moment działać poprawnie, dlatego wolę dać do dalszej analizy :)

  1. Po aktualizacji do WooCommerce 6.5.1 pojawia się taki notice w logach
[16-May-2022 06:41:48 UTC] PHP Notice:  Funkcja is_internal_meta_key została wywołana <strong>nieprawidłowo</strong>. Do wewnętrznych metod meta nie należy używać ogólnych metod dodawania/aktualizacji/pobierania metadanych, w tym "_payment_method". Użyj getterów i setterów. Backtrace: require('wp-blog-header.php'), wp, WP->main, WP->parse_request, do_action_ref_array('parse_request'), WP_Hook->do_action, WP_Hook->apply_filters, WC_API->handle_api_requests, do_action('woocommerce_api_wc_gateway_pay_by_paynow_pl'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Gateway_Pay_By_Paynow_PL_Notification_Handler->handle_notification, WC_Gateway_Pay_By_Paynow_PL->process_order_status_change, WC_Order->payment_complete, WC_Order->save, WC_Order->status_transition, WC_Order->add_status_transition_note, WC_Order->add_order_note, wp_insert_comment, do_action('wp_insert_comment'), WP_Hook->do_action, WP_Hook->apply_filters, WPDesk\WooCommercePaymentStatus\Plugin->wp_insert_comment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition,  in /***/public_html/wp-includes/functions.php on line 5775
  1. Natrafiłem też w ostatnim czasie na takie logi:
[15-May-2022 15:56:25 UTC] PHP Notice:  Undefined index: cancelled in /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php on line 422
[15-May-2022 15:56:25 UTC] PHP Warning:  in_array() expects parameter 2 to be array, null given in /***/public_html/wp-content/plugins/pay-by-paynow-pl/includes/abstract/class-wc-gateway-pay-by-paynow-pl.php on line 422

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.