Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przelewy24 weryfikacja płatności
vegito
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vegito
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.02.2018

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


Cytat(trueblue @ 16.05.2018, 20:53:59 ) *
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ć.

  1. #kontrola bledow
  2. /*
  3. ini_set('display_errors', 1);
  4. ini_set('display_startup_errors', 1);
  5. error_reporting(E_ALL); */
  6.  
  7. file_put_contents('p24.log', var_dump($_POST, true), FILE_APPEND);
  8.  
  9. require_once('../_classes/dbconnect.class.php');
  10. require_once('../_classes/przelewy24.class.php');
  11.  
  12. $oPrzelewy24_API = new Przelewy24_API();
  13.  
  14. if (isset($_POST['p24_merchant_id']) AND isset($_POST['p24_sign']) ) {
  15.  
  16. if ($oPrzelewy24_API->Verify($_POST) === true) {
  17.  
  18. $updateStatusss2 = $pdo -> query('UPDATE `przelewy` SET `status` = "1" WHERE `id_session` = "'.$_POST['p24_session_id'].'"');
  19.  
  20. }
  21.  
  22. else {
  23.  
  24. $stringg = 'blad';
  25. $updateStatus = $pdo -> query('INSERT INTO `config` (`key`, `value`) VALUES("p24_error", "'. $stringg .'")');
  26.  
  27. }
  28.  
  29. }


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?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 12:20