dotpay / WooCommerce2

WooCommerce2
MIT License
11 stars 11 forks source link

Wtyczka powoduje problemy ze zbieraniem konwersji. Po migracja do Przelewy24 #85

Closed matdabrowski closed 2 years ago

matdabrowski commented 2 years ago

Od 20 stycznia 2022, czyli od dnia migracji do Przelewy24 prawdopodobnie wtyczka powoduje błędy w procesie potwierdzania zamówienia. Czego wynikiem jest brak konwersji w zewnętrznych systemach (Google analitics i reklamy Facebook).

W logach znalazłem błąd PHP Warning: array_count_values(): Can only count string and integer values, entry skipped in /home/xxxxx/public_html/wp-content/plugins/woocommerce-dotpay/Gateway/Gateway.php](http://xxxxxx/public_html/wp-content/plugins/woocommerce-dotpay/Gateway/Gateway.php) on line 750

Kod funkcji, która zwraca ten błąd:

public function count_Double_Payment($a)
{
       $data = array();

      for ($i = 0; $i < count($a); $i++) {
             $b = $this->get_DpTrNumberNote($a[$i],'nr');
             $c = $this->get_DpTrNumberNote($a[$i],'status');

             // for english and polish lang (use ASCII translation of this section for it to work well)
             // if you use a different translation of the Woocommerce administration panel - complete this condition:
             if(trim($c) == 'paid : processing' || trim($c) == 'paid : completed (virtual product)' || trim($c) == 'oplacone : przetwarzane' || trim($c) == 'oplacone : zrealizowane (produkt wirtualny)')
              {
                      $data[] = $b;
              }
      }
      return array_count_values($data);  
}

Ostatnia linijka array_count_values($data) - tutaj $data nie jest poprawnie zliczane. Tu leci błąd.

Za zmienną $data odpowiada ta metoda $b = $this->get_DpTrNumberNote($a[$i],'nr'); - być może pole z notatką zmieniło swoją strukturę i teraz metoda get_DpTrNumberNote zwraca dane w nieodpowiedni sposób. Przez co elementy tablicy nie mogą być policzone.

Nie wiem, czy to ten błąd powoduje moje problemy, ale tylko taki znalazłem.

Sklonowałem stronę na środowisko testowe i testowałem wtyczkę na ustawieniach testowych i tam wszystko działa. Więc różnica pomiędzy środowiskiem testowym a produkcyjnym była tylko w ustawieniach wtyczki.

Zainstalowałem inna wtyczkę do płatności i problem znikną, więc jestem prawie pewien, że to z wtyczką Dotpay jest problem.

Dodam jeszcze, że przed i w dniu wystąpienia problemów nic na stronie nie było zmieniane.

wpawel commented 2 years ago

od wersji v3.6.3 problem nie powinien już występować.