pay-now / paynow-woocommerce

WooCommerce Plugin for Paynow
https://paynow.pl
Other
12 stars 7 forks source link

blik nie działa losowo #165

Closed PiotrCzapla closed 1 year ago

PiotrCzapla commented 2 years ago

Dostaje info ze nie podałem kodu blik mimo ze jest podany :(

Screenshot 2022-04-06 at 12 36 06
PiotrCzapla commented 2 years ago

Jeszcze chwile temu wszystko działało, klienci płacili blikiem.

emilleszczak2 commented 2 years ago

@PiotrCzapla Do analizy tego przypadku potrzebuję logów z wtyczki, koniecznie externalId.

PiotrCzapla commented 2 years ago

@emilleszczak2 jak ci to wysłać prywatnie?

PiotrCzapla commented 2 years ago

w logach nie widze tej tranzakcj wcale, co gorsza jak wylaczylem i wlaczylem blik to mizaczelo dzialac :(

PiotrCzapla commented 2 years ago

oo mam, to sie pojawia jak blik jest pierwsz płatnościa i jest otwarty przy przechodzeniu do checkoutu

PiotrCzapla commented 2 years ago

zmakniecie i otworzenie platnosci blik naprawia problem.

PiotrCzapla commented 2 years ago

a nie niestety, zamkniecie wybranie szybkiego transferu i ponowne otwarcie blik i wpisanie nazwy nie zmienia wiele, zamowienie przechodzi bo wysyla mnie do paynow szybki transfer :(

PiotrCzapla commented 2 years ago

zapytanie POST do wc-ajax: checkout niczym się nie różnią. w obu wypadkach kod blik jest przesylany jako authorizationCode.

Jak blik jest na pierwszym miejscu to sie wywala inforamcja ze nie ma kodu blik jak jest na drugim miejscu to działa.

PiotrCzapla commented 2 years ago

A teraz działa bez problemowo :( nawet jak jest piewszy w kolejności.

PiotrCzapla commented 2 years ago

z tego co widze to ten fragment nie przechodzi

if ( $blik_payment_methods 

&& $this->isWhiteLabelEnabled( $blik_payment_methods ) 
&& ( empty( $payment_authorization_code ) || 
strlen( $payment_authorization_code ) !== 6 ) 
) {
            wc_add_notice( __( 'Please enter correct BLIK code', 'pay-by-paynow-pl' ), 'error' );

            return false;
        }

Problem pojawia się przez konwersje do (int) w pierwszej lini potem wywala sie to sprawdzenie jak kod blik ma 0 na przodzie:

strlen( $payment_authorization_code ) !== 6 )

Screenshot 2022-04-06 at 13 56 43

caca-5dfc-4f9a-b524-042c0fc018c3.png">

Screenshot 2022-04-06 at 13 56 58
emilleszczak2 commented 2 years ago

@PiotrCzapla jak usuniesz tego inta to działa?

$payment_authorization_code = preg_replace( '/\s+/', '', filter_input( INPUT_POST, 'authorizationCode' ) );
PiotrCzapla commented 2 years ago

w dwóch miejscach musiałem usunać i zaczeło działac

emilleszczak2 commented 2 years ago

Zaraz będzie poprawka https://github.com/pay-now/paynow-woocommerce/pull/168

emilleszczak2 commented 2 years ago

@PiotrCzapla poszedł nowy release. Dzięki za wyłapanie błędu