pay-now/paynow-woocommerce

blik nie działa losowo

Closed this issue · 14 comments

Dostaje info ze nie podałem kodu blik mimo ze jest podany :(
Screenshot 2022-04-06 at 12 36 06

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

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

@emilleszczak2 jak ci to wysłać prywatnie?

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

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

zmakniecie i otworzenie platnosci blik naprawia problem.

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 :(

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.

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

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

@PiotrCzapla jak usuniesz tego inta to działa?

$payment_authorization_code = preg_replace( '/\s+/', '', filter_input( INPUT_POST, 'authorizationCode' ) );

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

Zaraz będzie poprawka #168

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