Przelewy24.pl - proces i weryfikacja |
Przelewy24.pl - proces i weryfikacja |
1.07.2019, 13:58:15
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
Witajcie
poszukuje pomocy w zakresie co , gdzie i jak z przelewy24.pl Zrobilem formularz , ktory poprawnie wysyla zamowienie , laczy sie z przelewy24.pl (sandbox) , zamowienie jest skladane i oplacane , dostaje email potwierdzajacy Mam plik index.php z formularzem , gdzie wysylam wymagane przez P24 dane. 2 inne pliki to: finish.php - tutaj przekierowany jest klient po zapłaceniu verify.php - tutaj wysyłane są jakieś dane przez P24 po transakcji Gdzie mam umieścić skrypt weryfikujacy transakcje ? Jak dostać się do danych wysyłanych do verify.php ? Chodzi mi o sam proces przeplywy danych i dostepu do nich. Jak dostac sie do $_POST ktore wysyla P24 na verify.php ? Jestem początkującym z php więc od razu proszę o nie stosowanie "oczywistych" skrótów myślowych |
|
|
1.07.2019, 14:02:27
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat Jak dostac sie do $_POST ktore wysyla P24 na verify.php ? Jest to dokladnie taki sam mechanizm odbiorudanych jakbys odbieral dane z forma u siebie, czyli wszystkie dane sa w tablicy $_POST do ktorej masz dostep w skrypcie verify.phpGdzie umiescic ten plik? A gdzie ci sie podoba, twoj serwer, twoja strona, umieszczaj gdzie chcesz. Na poczatek moze byc w katalogu glownym twojej strony tak by tyko byl dostepny przez: http://twojastrona.pl/verify.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
1.07.2019, 14:25:35
Post
#3
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
Cześć nospor
strona verify.php zawiera tylko print_r ($_POST); print_r ($_GET); obie tablice są puste po tym jak przekierowuje mnie tam P24 stad moja konsternacja gdzie mam wywolac weryfikacje jesli nie mam dostepu do danych z tablicy |
|
|
1.07.2019, 14:31:17
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat obie tablice są puste po tym jak przekierowuje mnie tam P24 Chyba cos nie ogarniasz. P24 ciebie tam nie przekierowuje w zaden sposob. P24 wysylam tam info po kazdej transakcji. Ty wizualnie tego nie zobaczysz bo to idzie poza przegladarka. Ty masz to poprostu odebrac i zrobic z tym co masz zrobic.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
1.07.2019, 14:40:40
Post
#5
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
Z pewnością nie ogarniam
Jeśli nie widzę "naocznie" tych danych , to jak mogę przekonać się co jest wysyłane ? Zanim zabiorę się za skrypt weryfikujący to chciałbym mieć pewność , że te dane na pewno są. Serwer apache odebrał je , otwieram stronę verify,php , uruchamiam podgląd tablicy $_POST i GET i jest pusto. Jak sprawdzić czy i jakie dane wysłali ? |
|
|
1.07.2019, 14:43:36
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat Serwer apache odebrał je , otwieram stronę verify,php , uruchamiam podgląd tablicy $_POST i GET i jest pusto. Musisz zrozumiec, ze strona dziala per request i kazdy request ma inne dane. Jak oni ci wyslali cos, apache to odebral, to to bylo tylko dla tego danego request. Jak ty sekunde pozniej wejdziesz na strone, to ty juz tych danych nie masz bo ty robisz zupelnie nowy request.Jak chcesz sobie zobaczyc co ci oni wysylaja dokladnie, to zapisuj zawartosc POST i GET do logow tudziez pliku i sobie przegladaj co tam jest. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
1.07.2019, 14:53:20
Post
#7
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
jesli jako adres na jaki oni przekaża mi dane podam im http://blablabla.verify.php?id=12345
to czy moge zrobic skrypt na stronie verify.php ze jesli przekaza mi GET te 12345 to tablice $_POST zapisze do pliku z id=1234 ? W ten sposob dla kazdego requestu beda mial inny plik z danymi z tablicy ?! dobrze to rozumiem ? |
|
|
1.07.2019, 14:55:02
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No mozesz, tylko po co? Czemu nie zapisywac wszystkiego do jednego pliku jak leci?Toz ty to bedziesz testowal i za kazdym razem mozesz sobie ten plik przejrzec - przeciez bedziesz wiedzial kiedy zrobiles testowy przelew. No ale jak ci wygodniej
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
1.07.2019, 14:59:12
Post
#9
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
w momencie jak przestane testowac , to nie muszę tych danych zapisywać ? tylko za każdym razem jak P24 wyślą requesta z danymi w $_POST to skrypt się wykona ?
|
|
|
1.07.2019, 15:02:28
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No P24 wysyla ci tam info o transakcji. Zazwyczaj, ludzie transakcje/zamowienia trzymaja w bazie. Wiec jak ci P24 wysle docelowo tam info to ty to info masz zapisac w bazie dla danej transakcji/zamowienia.
Ja ci teraz mowilem o zapisywaniu do pliku, bo chciales zobaczyc co idzie. Docelowo to bedzie zbedne bo wszelkie info powinno byc w bazie razem zamowieniem. No chyba ze ty zamowien nie trzymasz w bazie... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.07.2019, 12:41:24
Post
#11
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
ok , mniej więcej załapałem logikę i przepływ danych bez przeglądarki.
dziękuję za użyteczne informacje to be continued dostaje się do danych $_POST wysyłanych z P24 na verify.php Zapisuje je do pliku "jak leci" (dla potrzeb testowych) Jest to jeden ciąg znaków - samych wartości Starałem się dostać do wartości przez nazwy pól :
Plik jest pusty , pętla nie działa bo nie widzi żadnych $key tablica powinna mieć np : $_POST['p24_merchant_id'] = 10293 ; gdzie p24_merchant_id jest $key a 10293 to $value jak to możliwe że wysyłają wartość bez nazwy pola btw. jak testowo wysyłam na ten adres wlasny formularz to pętla mi odbiera "name" i "value" coś poradzicie ? |
|
|
2.07.2019, 12:43:19
Post
#12
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
|
|
|
2.07.2019, 12:44:52
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Po pierwsze to nadpisujesz ciagle dane w pliku
Po drugie zapisuj cala tablice bez bawienia sie w klucze i wartosci -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.07.2019, 12:51:29
Post
#14
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
Napisz to poniżej i podaj odpowiedź. Po pierwsze to nadpisujesz ciagle dane w pliku Po drugie zapisuj cala tablice bez bawienia sie w klucze i wartosci PRZEPRASZAM , NAMIESZALEM ! W zlym miejscu umiescilem Wasze skrypty ale łoś ze mnie wynik jest : Array ( [p24_session_id] => 0282bo2tl2sfb47601e5ttjcjs [p24_amount] => 100 [p24_order_id] => 300139328 [p24_pos_id] => 90716 [p24_merchant_id] => 90716 [p24_method] => 143 [p24_statement] => p24-H13-A93-A28 [p24_currency] => PLN [p24_sign] => 2937e0571c08b7ba57e6aac9e23c959c ) Array ( ) Array ( ) Array ( ) Ten post edytował multiqlti 2.07.2019, 12:58:43 |
|
|
2.07.2019, 12:53:42
Post
#15
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
To znaczy, że nic nie dostałeś od czegoś tam od metody $_POST. Nie otrzymałeś danych, więc pętla foreach nie ma jak przemielić danych, zwraca więc false na wejściu i do ciała pętli nie wchodzi, kod we wnętrzu pętli się nie wykona wtedy.
Jeśli już otrzymałeś dane, to co chcesz z nimi zrobić. Wysłać je gdzie? Podaj jakiś wzór, co masz, a czego oczekujesz, żeby było. Ten post edytował Neutral 2.07.2019, 13:00:57 |
|
|
2.07.2019, 13:01:15
Post
#16
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
poprawiłem wywołanie skryptu (w złym pliku był )
otrzymuje teraz zawartośc $_POST sprawdzę czy moge je wywołać wg. własnej woli coś czuję , że po tych moich przejściach pokusze się o spisanie tego tutaj step-by-step dla potomności to ponownie , podpowiedzcie proszę , czemu ten skrypt nie działa Kod $ch = curl_init('https://sandbox.przelewy24.pl/trnVerify');
curl_setopt_array($ch, array( CURLOPT_POST => true, CURLOPT_URL => 'https://sandbox.przelewy24.pl/trnVerify', CURLOPT_POSTFIELDS => $_POST, CURLOPT_RETURNTRANSFER => true )); $output = curl_exec($ch); file_put_contents('odpowiedz.txt', var_dump($output)); if($output === FALSE) { die(curl_error($ch)); } Ten post edytował multiqlti 2.07.2019, 13:42:52 |
|
|
2.07.2019, 13:44:53
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
nie var_dump a print_r. wyraznie napisalem. I to z drugim parametrem TRUE. Czytaj co dostajesz.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.07.2019, 13:47:34
Post
#18
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 1.07.2019 Ostrzeżenie: (0%) |
zrobiłem
mam w pliku : Array ( [p24_session_id] => 7o4339egldlho1eg1ku1ofpk5u [p24_amount] => 100 [p24_order_id] => 300139409 [p24_pos_id] => 90716 [p24_merchant_id] => 90716 [p24_method] => 143 [p24_statement] => p24-E13-A94-A09 [p24_currency] => PLN [p24_sign] => 4346e22a21578830f53c77ec4c8c7196 ) Array ( [ok] => 1 ) próbuje teraz te dane przesłać do weryfikacji z ich serwerem i poniżej skrypt nie zwraca mi niczego a na serwerze p24 nic sie nie weryfikuje (sprawdzam recznie)
na wielu stronach pokazana jest wysylana tablica , czy można wysłać $_POST w taki sposób , czy trzeba ja przerobić ? admin własnie mi sprawdził że curl mamy WŁĄCZONY na serwerze , wiec to musi być moja sprawka ze nie śmiga Ten post edytował multiqlti 2.07.2019, 13:54:36 |
|
|
2.07.2019, 13:54:37
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
file_put_contents('odpowiedz.txt', var_dump($output));
Przeciez ci napisalem print_r a nie var_dump.......................... x 1000000000 A w tym konkretnym wypadku moze byc i nawet bez print_r czyli poprostu file_put_contents('odpowiedz.txt', $output); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
2.07.2019, 13:59:39
Post
#20
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Napisz sobie środowisko testowe do CuRL i tam testuj, następnie jak już załapiesz o co chodzi, wykonaj request'a do server'a API do którego chcesz. Oczywiście dane możesz przekopiować sobie na testowe środowisko, te array ( ... ) przypisując do zmiennej na przykład.
forumphp1.php:
forumphp2.php:
|
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 12:28 |