Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Implementacja Przelewy24 (brak order_id)
breko4
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.12.2015

Ostrzeżenie: (0%)
-----


Od dwóch dni nie mogę uporać się z problemem utworzenia na mojej stronie przelewów. Cały projekt stoi na CakePHP 2.x
Oczywiście działam z dokumentacją przelewów a sam skrypt stworzyłem na podstawie przykładowego, który mają na swojej stronie do pobrania (i który nie działa)..

Ogólnie prawie wszystko działa, tzn. transakcja jest rejestrowana, klient przechodzi do płatności po czym wraca na stronę i teraz: w PA Przelewy24 transakcja jest zaakceptowana ale nie zwraca mi żadnego $_POST z wartością p24_order_id (ID transkacji) a jest ona WYMAGANA aby transakcje zweryfikować na mojej stronie. Gdy ręcznie wklepie ID transakcja jest poprawnie weryfikowana, ale oni muszą mi ją jakoś przesłać...

Myślałem, że może CakePHP czyści mi gdzieś w locie zewnętrzene $_POST ale bez frameworku efekt jest ten sam, w żadnym momencie nie dostaję od nich p24_order_id

EDIT: zrobiłem szybki test wysyłając jakieś dane $_POSTem z innej domeny na moją stronke i dochodzą bez problemu. C

Ten post edytował breko4 24.07.2016, 18:33:55
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

Ostrzeżenie: (0%)
-----


Wróżkami nie jesteśmy. Udostępnij jakiś kod.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
breko4
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.12.2015

Ostrzeżenie: (0%)
-----


Liczyłem, że może ktoś miał już styczność z Przelewy24.

Kod czego? Tego jak odbieram $_posta od nich?
CakePHP:
  1. if($this->request->is('post'){
  2. debug($this->data);
  3. }


lub w czystym PHP:
  1. var_dump($_POST);

Efekt jest jeden i ten sam.

Tak jak pisałem, po przesłaniu testowo posta z innej mojej domeny jest on 'wyłapywany' poprawnie, natomiast z Przelewy24 nie dochodzi więc raczej nie jest to wina kodu.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Amasz ustalony w P24 poprawny URL? Sprawdź sobie
Kod
var_dump($_REQUEST);
Go to the top of the page
+Quote Post
breko4
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.12.2015

Ostrzeżenie: (0%)
-----


Tak, adresy są ok.

Skontaktowałem się z Helpdeskiem i wiem już, że czekałem na POSTa nie tam gdzie trzeba. Do P24 podawane są 2 adresy url_return i url_result. P24 przekierowuje klienta po płatności na url_return natomiast POST z wynikiem zostaje wysłany na url_result.

Jeżeli P24 przekierowuje na adres url_return a POSTa wysyła na url_result to jak mogę odebrać tego posta?

Adresy wyglądają tak:
url_return: www.mojastrona/skrypt?ok=1
url_result: www.mojastrona/skrypt?ok=2

zmieniłem nawet dla testów obie wartości na ten sam adres ale bez efektów

Niestety ich pomoc kończy się na podsyłaniu fragmentów z dokumentacji:
"Transakcja prawidłowa
Wywołany adres url: p24_url_return. Wywołanie następuje gdy nastąpiła prawidłowa wpłata
przez klienta.
W przypadku przekierowań dla transakcji poprawnej i niepoprawnej – nie są wysyłane żadne
dodatkowe pola. Jest to zwykłe przekierowanie metodą GET. Informacja o płatności jest
wysyłana wyłącznie na adres p24_url_status.

Powiadomienie o poprawnej transakcji.
Wywoływany adres url: p24_url_status. Powiadomienie następuje niezależnie od tego, czy
Klient został przekierowany na p24_url_return, czy też nie. Powiadomienie zostaje wysłane tylko
i wyłącznie dla poprawnej wpłaty. System nie wysyła informacji o wpłatach, które nie zostały
wykonane, bądź zostały wykonane niepoprawnie. "
Go to the top of the page
+Quote Post
motyl-pl
post
Post #6





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

Ostrzeżenie: (0%)
-----


No i teraz na drugi adres gdy p24 zweryfikuje płatność przychodzą dane z posta (5.4)
http://www.przelewy24.pl/storage/app/media...entacja_3.2.pdf
W plikach do pobrania
http://www.przelewy24.pl/pobierz#instalacja
Masz klase do obsługi p24 która może Ci się przydać w backendzie przy przetwarzaniu wyniku transakcji.


--------------------
Go to the top of the page
+Quote Post
ZenekN
post
Post #7





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


ok, wszystko w porządku p24_order_id wysyłany jest do
  1. $d['p24_url_status'] = "jakis_url"


chciałem zapisać dane do bazy skąd mam widzieć jaki jest id zamówienia z mojej bazy aby sparować p24 order id, myślałem zaszyfrować ten id zamówienia w urlu
w takiej postaci

  1. $d['p24_url_status'] = "jakis_url z zaszyfrowaym parametrem get id zamowienia"


Ten post edytował ZenekN 26.01.2018, 20:38:44
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Na ten adres będą zwrócone dane poprzez POST.


--------------------
Go to the top of the page
+Quote Post
ZenekN
post
Post #9





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


aaa, czyli cały post, dziekuje

zastanawiam się jak napisać warunek dla przedziału adresów ip

if 192.168.1.1 between 192.168.1.99


aby zabezpieczyć wywoływania zwrotki od p24

dodaje kod do wywolywania post dla np. trnVerify



  1. $arr = array(
  2. 'lista adresów ip dostępnych w dokumentacji przelewy24'
  3. );
  4.  
  5. if(in_array($_SERVER['REMOTE_ADDR'], $arr)) {


Ten post edytował ZenekN 27.01.2018, 18:48:34
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A skąd wziąłeś pulę tych adresów? P24 ma inne.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $ip = '192.168.1.33';
  4. $ip1 = '192.168.1.1';
  5. $ip2 = '192.168.1.255';
  6.  
  7. var_dump(ip2long($ip) > ip2long($ip1) && ip2long($ip) < ip2long($ip2));
Go to the top of the page
+Quote Post
ZenekN
post
Post #12





Grupa: Zarejestrowani
Postów: 419
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


ok dzięki, tak zgadza się ma inne nie chciałem podawać ich tutaj, są w dokumentacji smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:33