Przelewy24 weryfikacja płatności |
Przelewy24 weryfikacja płatności |
15.05.2018, 19:03:44
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Witam,
mam problem z implementacją płatności przelewy24. Przerobiłem nieco klasę, która tworzy token, rejestruje płatność i ją werfykuje, lecz nie tutaj problem. Moim problemem jest sprawdzenie, czy płatność została zrealizowana. Mamy dwa adresy: $p24_url_return = URI.'potwierdzenie/'; $p24_url_status = URI.'status/.'$lastInserdId.'/'; //$p24_url_status = URI.'paymentinfo.php?idd='.$lastInserdId; O ile url_return nie robi nic tylko pokazuje informacje to czytając w dokumentacji dowiaduje się, że każda poprawna płatność zwraca dane POST na adres url_status. Próbowałem już dodać oba adresy takie same i werfykikować czy zostały przesłane jakieś dane POST ale nic z tego. Zmienna w adresie wskazuje mi na ID płatności, którą mam z aktualizować - nie jest to potrzebne bo można porównać po $_POST['p24_session_id'] jednak nie przeszkadzało mi pokazywać ID jako że użytkownik nie będzie tego widział. Sądzę, że czegoś nie rozumiem lub nie potrafię czytać ze zrozumieniem dokumentacji. Proszę o pomoc, bo nie mam pojęcia gdzie przepadają te dane lub czy url_status jest w ogóle wywoływany. Pozdrawiam |
|
|
15.05.2018, 19:16:16
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Zakładam, że to tylko przykład, i "co się źle wkleiło", bo
a nie:
Po co ustawiasz adres powiadomienia z ID transakcji? I tak dostaniesz ją w $_POST. Może problemem jest właśnie adres powiadomienia. Co się dzieje jeśli wywołasz go bezpośrednio w przeglądarce (URI . 'status/1/' - za URI oczywiście podstaw to prawidłowy adres)? -------------------- |
|
|
16.05.2018, 14:33:05
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Zakładam, że to tylko przykład, i "co się źle wkleiło" Może problemem jest właśnie adres powiadomienia. Tak pisałem to ręcznie, a co do adresu zmieniłem na taki sam. $p24_url_return = URI.'potwierdzenie/'; $p24_url_status = URI.'potwierdzenie/'; wracając na stronę nie otrzymuję żadnych danych POST. Tak wygląda mój kod:
Tablica POST jest pusta. Nawet, stworzyłem osobny plik poza systemem, includowalem klasę bazy danych i po id aktualizowałem rekord płatności. Przyszło mi na myśl że może Przelewy24 wysyła żądanie asynchronicznie i system blokuje dostęp do pliku pod wskazanym adresem, ale dalej nic z tego. Myślę że czegoś nie rozumiem... Ten post edytował vegito 16.05.2018, 14:37:22 |
|
|
16.05.2018, 14:35:57
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Na jakiej postawie twierdzisz, że tablica $_POST jest pusta?
Jeśli Ty wywołujesz ten skrypt z przeglądarki, to na pewno tak jest, bo przecież nie dostarczasz danych poprzez POST. Jeśli wywołują go płatności, to nie zobaczysz wyniku print_r i echo. Jesteś chyba kolejną osobą, która nie rozumie zasady działania płatności. Temat: Przelewy24 jak weryfikowac odpowiedz zwrotna Ten post edytował trueblue 16.05.2018, 14:37:16 -------------------- |
|
|
16.05.2018, 15:15:18
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Faktycznie wywołanie print_r było głupie, jednak już próbowałem wszystkiego.
Najważniejsze pytanie czy muszę mieć dostęp do panelu przelewy24? Mam tylko POS_ID i CRC. Pytam, bo możliwe że tam trzeba ustawić linki gdzie będzie przekazywana odpowiedź o płatności. Ja myślałem, że wystarczy w skrypcie ustawić link do p24_url_status. W każdym razie, stworzyłem osobny plik, który wygląda tak:
Dalej nic się nie dzieje, wstyd mi |
|
|
16.05.2018, 18:00:36
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Kod file_put_contents('p24.log', var_dump($_POST, true), FILE_APPEND); wstaw to do weryfikacyjnego pliku i będziesz miał output. Ten post edytował Pyton_000 16.05.2018, 18:00:49 |
|
|
16.05.2018, 19:41:39
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Kod file_put_contents('p24.log', var_dump($_POST, true), FILE_APPEND); wstaw to do weryfikacyjnego pliku i będziesz miał output. Niestety plik nie jest wywoływany, już również przerobiłem metodę Verify żeby wyrzucała mi output w wypadku błędu. Kiedy ręcznie wywołam plik tworzy mi się .log Czy jest możliwy problem po stronie ustawień w panelu przelewy24? Płatności wiadomo wiszą ze statusem oczekujący, można je ponoć ręcznie akceptować w panelu jednak przelewy24 nie wysyła żadnego żądania pod adres p24_url_status. Nie sądzę że url jest zły, bo status i return korzysta z tej samej stałej URI i przekierowanie po transakcji na return działa... Ten post edytował vegito 16.05.2018, 19:43:03 |
|
|
16.05.2018, 19:53:59
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Metodę Verify zmieniłeś? I tam (w jej ciele) wstawiłeś fragment, który podał Pyton_000?
Powinieneś to wstawić na początek tego pliku, najlepiej przed require_once. -------------------- |
|
|
17.05.2018, 16:04:51
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Metodę Verify zmieniłeś? I tam (w jej ciele) wstawiłeś fragment, który podał Pyton_000? Powinieneś to wstawić na początek tego pliku, najlepiej przed require_once. To na początku pliku weryfikującego czy w ciele metody? Ja wstawiłem to w moim pliku werfikującym który nazwałem getpayment.php na samym początku przed require class payment i dbclass. Wcześniej modyfikowałem metodę verify, aby zamiast false wyrzuciło mi nie parsowany kod błędu w postaci stringa. Stwierdzam po prostu że mój plik nie chce się wywołać.
Ten else również nie jest potrzebny, bo po wywołaniu pliku gdyby nie było danych POST powinien się utworzyć pusty .log Coś robię nie tak? |
|
|
17.05.2018, 16:23:29
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Na początku. Pisałeś o tym, że zmieniałeś metodę Verify, więc zasugerowałem, abyś umieścił właśnie na początku. Nie pisałeś, że już tak zrobiłeś.
W jakim trybie uruchomione są płatności - rzeczywistym czy testowym? -------------------- |
|
|
17.05.2018, 17:45:30
Post
#11
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.02.2018 Ostrzeżenie: (0%) |
Na początku. Pisałeś o tym, że zmieniałeś metodę Verify, więc zasugerowałem, abyś umieścił właśnie na początku. Nie pisałeś, że już tak zrobiłeś. W jakim trybie uruchomione są płatności - rzeczywistym czy testowym? Testuje od razu secure, niestety nie mam dostępu do sandboxa sądzę że jest inne POSID albo CRC, bo przy generowaniu tokena wyrzuca mi właśnie taki błąd. W secure rejestruje płatność tylko ta zwrotka :/ W panelu przelewy24 nie trzeba nic ustawiać? |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 05:33 |