![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie koledzy
![]() Mam problem z integracja PayU ze swoją stroną www. Otóz wysyłanie danych jest wporządku. PayU pokazuje platnosc oraz wszelkie dane z formularzy. Po kliknieciu akceptacji platnosci w przykladzie testowym, wraca mi na podstrone "przyklad.pl/index.php?wynik=ok". Jak jest blad to "wynik=blad". I teraz pytanie. W przykladach ktore znalazlem w necie jezeli platnosc jest ok to payu powinno przeslaes $_POST z danymi do weryfikacji... wrzucam sobie var_dum($_POST) i wyskakuje mi komunikat ze array(0). Co robie nie tak? Moge prosic o krotkie info? Z gory dziekuje za wszelka pomoc, a jezeli cos niejasno opisalem to zamiast z*ebki dajcie znac to rozpisze wszystko bardziej szegolowo ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
PayU przesyła to na stronę którą podałeś tam gdzieś w ustawieniach.
Nie da się odczytać tego co przesyła przez przeglądarkę, bo to PayU wysyła, a nie Ty. Podejrzeć sobie może na stronie PayU w historii transakcji i wybrać płatności testowe. Albo możesz na tej stronie, na którą PayU wysyła POSTA, zrobić zapis tego $_POSTa do pliku czy bazy i później sobie go przejrzeć. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Pokminilem i przesylam sobie getem kilka parametrow na strone wynikowa gdzie jest ok i tam dokonuje sprawdzania na jakim etapie jest transakcja. tak chyba ma byc prawda?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Może inaczej. Z czym masz problem? Bo pytasz co robisz nie tak, czy tak ma być, ale nie piszesz co chcesz osiągnąć.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Chce zeby pokazywalo mi stan platnosci.
Laczy sie z payu, wraca na moja strone ze statusem ok. i teraz chce sprawdzic na jakim etapie jest platnosc. czy jest zrealizowana, w trakcie, czy sie nie udalo itp itd. ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No to przy Payment/get dostajesz zwrotkę i musisz ją przeanalizować po stronie serwera i sobie gdzieś wypluć wynik.
Zresztą automatycznie po zrobieniu transakcji przez chyba godzinę transakcja próbuje się odbyć i za każdym razem dostajesz $_POSTa od PayU (dopóki nie jest, że zapłacono), na tej podstawie analizujesz czy płatność jest zrealizowana czy nie i zapisujesz to sobie gdzieś. Po 2 dniach płatność będzie miała taki sam status jak ta ostatnia próba która się wykonała z automatu, więc po co sprawdzać ponownie. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Moj kod lapiacy wynik w pliku z payu wyglada tak:
"switch ($_GET['wynik']) { case 'ok': $bledy = array(); if (isset($_GET['pos']) && isset($_GET['sesja']) && isset($_GET['zamowienie'])) { cos tam dalej..." jak daje odbior jako $_post to nic sie kompletnie nie dzieje. nie wiem czy jest to spowodowane tym ze jestem w trybie testowym czy cos poprostu robie zle :/ Parametry dla get ustawilem w payu w sekcji "Adres powrotu pozytywnego". |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
http://www.payu.pl/_old/view/admin/ckedito..._2011-05-16.pdf
+ przykładowy plik raportu (pliku, który aktualizuje Ci statusy zamówień - plik, do którego payu "łączy się" i wysyła dane $_POSTem) http://www.payu.pl/pliki/raport.phps.html w tej dokumentacji technicznej masz punkt 3.7.2 - i tam masz spis danych, które PayU wysyła do Ciebie - status transakcji możesz sprawdzić po przez: $_POST['status'] |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki wuja. W sumie czytalem dokumentacje ale cos i tak mi nie idzie - moze poprostu nastapilo zmeczenie materialu
![]() ![]() Witajcie ponownie ![]() No wiec tak: platnosc idealnie idzie do payu ![]() Prosze o jakies wskazowki i z gory dzieki ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zgadza się. Podstrona raportu to serce integracji - tam PayU wysyła dane metodą $_POST (dane, odnośnie które zamówienie zostało opłacone, gdzie płatność została autoryzowana, itd). To działa na takiej zasadzie:
1) TWÓJ SERWIS: KLIENT -> PAYU -> (................) -> OPERACJA (SUKCES LUB ERROR) 2) SERWIS PAYU: Payu łączy się z raportem - żadnej klient, żadnej administrator nie widzi tego ruchu, PayU samo wybiera czas kiedy się połączy i poinformuje o dokładnym statusie płatności (identyfikator płatności, jakie zamówienia, itd) Ad1) *(................) - w tym miejscu PayU weryfikuje PODSTAWOWE dane (np. imię, nazwisko, sig, itd) Ad2) I teraz drugi punkt to odpowiedź na Twoje pytanie związane z pustą tablicą array. Oczywiście, że gdy wejdziesz na podstronę: raport.php i wyświetlisz var_dump($_POST) to dostaniesz pustą tablice - bo Ty łączysz się jako KLIENT, zwykły "zjadacz chleba" - raport.php (podstrona raportu) to podstrona dla PayU to ONA się łączy z tą podstronę nie Ty. To PayU wysyła dane $_POSTem, nie Ty. Więc jakbyśmy mieli się uprzeć to tylko jeśli PayU wejdzie na stronę raport.php i będzie tam kod var_dump($_POST) to tylko PayU zobaczy zawartość tablicy, nie Ty. Jeśli chcesz wiedzieć jakie dane przychodzą (co jest pokazane w dokumentacji, chyba nawet podałem Ci paragraf który) to zrób coś na zasadzie: Cytat zrobić zapis tego $_POSTa do pliku czy bazy i później sobie go przejrzeć. czyli otwórz sobie raport.php i zrób w nim zapis w stylu:
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
O kurcze
![]() ![]() ![]() ps. Sprawdziłem ![]() ![]() ![]() ![]() Hello ponownie ![]() Jeszcze jedno i (chyba) juz ostatnie pytanie ![]() Apropo: /* TODO: zmiana statusu transakcji w systemie Sklepu */ /* przykladowo: if ( $result['code'] == '99' ) { if ( rozliczamy_zamowienie_srodki_wplynely ) { // udalo sie zapisac dane wiec odsylamy OK echo "OK"; exit; } } else if ( $result['code'] == '2' ) { // transakcja anulowana mozemy również anulować zamowienie } else { // inne akcje } */ // jezeli wszytskie operacje wykonane poprawnie wiec odsylamy ok // w innym przypadku należy wygenerować błąd // if ( wszystko_ok ) { echo "OK"; exit; // } else { // // } wystarczy ze zrobie cos takiego? if ( $result['code'] == '99' ) { echo 'OK'; exit; } + ewentualnie zmiana w bazie danych statusu zamowienia z 0 na 1? ? Nie jest to sklep wiec teoretycznie zadne inne komunikaty mnie nie interesuja. Zasada bedzie taka ze jezeli sie komus cos spodoba - placi przez pay u. wtedy jego dane zapisuja sie w bazie. i jezeli platnosc bedzie odebrana to status w bazie 1 w przeciwnym wypadku 0. Dobrze mysle o rozwiazaniu? Puk puk ![]() ![]() Ten post edytował MotuH 28.10.2013, 22:48:07 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca - PayU ma kilka statusów (płatność zaakceptowana, płatność w toku, płatność anulowana, płatność odrzucona i tam jeszcze kilka). Więc ograniczenie tego do "0" i "1" to dość uproszczone informacje - najgorzej będzie jeśli płatność się z jakiegoś powodu nie uda, a Ty nigdzie nie zapiszesz sobie ID statusu i nie będziesz miał w panelu informacji o błędzie. Ja to zrobiłem w stylu (plik/kontroler raportu, czyli podstrona dla PayU):
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Na potrzeby małej aplikacji można to znacząco uprościć. Wszelkie informacje są zapisane w panelu PayU a dodatkowo jak PayU nie dostanie odpowiedzi to zdaje się że przysyłają zbiorczy raport pod koniec dnia.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dziekuje za pomoc
![]() ![]() Hej ponownie ![]() Ponownie zabralem sie za platnosci... i niby wszystko jest ok. Wg tego jak koledzy wyzej pisali - otrzymuje postem info co i jak. natomiast w transakcjach w payu nie widnieje zadna transakcja testowa. Czy tak tam jest? Czy jezeli przeprowadzam testy to mimo wszystko powinna ona tam widniec? |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Powinna być widoczna. Z tego co pamiętam przy liście transakcji trzeba jasno w filtrze określić, że ma pokazywać również transakcje testowe. Domyślnie są ukryte.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ehh lame
![]() ![]() Wszystko przebiega zgodnie z planem. Transakcja pojawia sie jako zaakceptowana. Wiec domniemam ze payu zwraca do skryptu iz platnosc ma status 99. wiec teraz ifem robie ze jezeli platnosc == 99 to zmien flage w bazie z 0 na 1 (czyli ze transakcja zrealizowana), tak? ![]() Hmm... dochodze do momentu kiedy juz aplikacja laczy sie z payu do potwierdzenia statusu platnosci... lacze sie przez fsockopen i otrzymuje cos takiego: <?xml version="1.0" encoding="UTF-8"?> <response> <status>ERROR</status> <error> <nr>101</nr> <message>Kod błędu: 101</message> </error> </response>HTTP/1.1 200 OK Server: nginx Date: Mon, 09 Dec 2013 15:21:11 GMT Content-Type: text/xml;charset=UTF-8 Content-Length: 164 Connection: close opieram sie na tym: http://www.payu.pl/pliki/raport.phps.html gdzie jest blad? ![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
w dokumentacji masz tabelę z kodami błędów (punkt 2.1)
101 - brak parametru session_id |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
sazian sprawdzalem. wszystko kurcze jest... nie wiem o co biega. ale jeszcze raz przeanalizuje caly kod i jak juz naprawde skoncza mi sie wszelkie pomysly to wrzuce tu kod i poprosze o sprawdzenie :/
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zadzwoń do PayU, mają naprawdę świetny support i pomagają ze wszystkim, szkoda Twojego i naszego czasu na zgadywanie.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Hmm... dochodze do momentu kiedy juz aplikacja laczy sie z payu do potwierdzenia statusu platnosci... lacze sie przez fsockopen i otrzymuje cos takiego: PayU samoczynnie przesyła informację na temat płatności na podany przez Ciebie adres (podajesz go w konfiguracji płatności). Tam otrzymujesz tablicę $_POST z wszystkimi istotnymi informacjami. Sam nie musisz komunikować się z PayU, a jedynie "nasłuchiwać" odpowiedzi z ich strony. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 15:50 |