Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dotpay URLC
gucio1
post 18.01.2017, 12:20:48
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Witam,
przeszukałem wątki o Dotpayu tu na forum ale nie znalazłem odpowiedzi na moje pytanie.

Przekazuję różne zmienne Dotpayowi w linku jak i adres urlc.
Chce odebrać dane zwrotne na temat statusu przelewu.
Nie rozumiem do końca instrukcji ale z tego co udało mi się ustalić to:

Rzucam w eter echo "OK";
i pobieram dane metodą S_POST.

Napisałem kilka takich linijek wrzuciłem na serwer ale nic nie odbieram. Co muszę dodać, może jakąś zmienną kontrolną?

  1. <?php
  2. echo "OK";
  3.  
  4. echo "Kwota: ".$_POST['operation_amount']." \nStatus: ".$_POST['operation_status']." \nID: ".$_POST['id']." \n";
  5.  
  6. ?>
Go to the top of the page
+Quote Post
viking
post 18.01.2017, 12:31:59
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Ty tylko i wyłącznie odpowiadasz OK. Nic więcej w odpowiedzi nie moze być.


--------------------
Go to the top of the page
+Quote Post
gucio1
post 18.01.2017, 12:37:42
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Ok więc dlaczego nie odbieram danych?
Na profilu dotpay mam odznaczone weryfikowanie https i oraz ssl. Mam też odznaczone blokowanie zewnętrznych urlc.
Gdzie może leżeć błąd?
Go to the top of the page
+Quote Post
Pyton_000
post 18.01.2017, 12:42:58
Post #4





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

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


W Dotpay albo w formularzu wysylki podajesz URL na który DotPay po jakimś czasie rzuci POST z danymi. Ty w odpowiedzi na tego posta musisz wystawić "OK" i nic więcej. czyli po prostu na koniec np. die('OK')

Zrób sobie w skrypcie zapisanie do pliku wszystkiego co leci z Post np.

  1. file_put_contents('dotpay.log', var_export($_POST, true), FILE_APPEND);


W pliku powineneś wtedy mieć wszystko co DP do Ciebie wysyła.
Go to the top of the page
+Quote Post
gucio1
post 18.01.2017, 13:04:29
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Ok zrobiłem tak jak napisałeś. I faktycznie dotpay wysyła mi informacje.

array(
'id' => '790591',
'operation_number' => 'M9107-1520',
'operation_type' => 'payment',
'operation_status' => 'completed',
'operation_amount' => '1500.00',
'operation_currency' => 'PLN',
'operation_original_amount' => '1500.00',
'operation_original_currency' => 'PLN',
'operation_datetime' => '2017-01-18 12:53:28',
'control' => '',
'description' => 'Pakiet księgowości. 4 miesiące.
'p_info' => 'Test User (grzegorz@interia.pl)',
'p_email' => 'grzegorz@interia.pl',
'channel' => '1',
'signature' => 'b9c16651542af533e62f77e91ae16ef0f7f45ea76685e825622c220410abaa66',
)

Jak teraz coś z tego wyświetlić? Głupio pytać mi o tak banalne rzeczy ale męczę się z tym od wczoraj.

Ten post edytował gucio1 18.01.2017, 13:15:54
Go to the top of the page
+Quote Post
viking
post 18.01.2017, 13:20:22
Post #6





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Po swojej stronie zapisujesz dane transakcji, z urlc weryfikujesz czy wpłata przebiegła poprawnie. Wrzuć to sobie do bazy czy gdzieś i później wyświetl. A jeśli chcesz faktyczną płatność wprowadzić to raczej ci odradzam to robić, chyba że lubisz za darmo sprzedawać.


--------------------
Go to the top of the page
+Quote Post
gucio1
post 18.01.2017, 13:29:07
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Nie rozumiem co znaczy faktyczną płatność.
No ale plan jest taki że pobrane dane wrzucę właśnie do bazy potem pobiorę odpowiedni rekord zweryfikuję tak jak mówisz czy wszystko się zgadza i dopiero generuję fakturę itp.

Tylko nie wiem czy dobrze odnoszę się do tych danych z urlc.

Jak bd chciał wrzucić to do bazy to np tak to ma wyglądać?

INSERT INTO dotpay VALUES ($_POST['operation_number'],$_POST['operation_amount']).

Czy jak odnieść się do tych zmiennych? Zwłaszcza że są w tablicy "array"?

Ten post edytował gucio1 18.01.2017, 13:30:08
Go to the top of the page
+Quote Post
Pyton_000
post 18.01.2017, 13:41:48
Post #8





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

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


Dokładnie tak jak pokazałeś.
Go to the top of the page
+Quote Post
viking
post 18.01.2017, 13:43:42
Post #9





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Przez faktyczną miałem na myśli rzeczywistą płatność za usługi a nie tylko celem nauczenia się czegoś. Bo wybacz, ale skoro masz takie pytania to mało realne że zrobisz to dobrze - co zapewne będzie oznaczać darmowe zakupy dla włamywacza. Ludziom się wydaje że parę linijek kodu i mają płatność na stronie.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 18.01.2017, 13:53:02
Post #10





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

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


@viking nie przesadzajmy. Jeśli zapisze odpowiednie dane i poprawnie zweryfikuje to nie ma problemu.
Go to the top of the page
+Quote Post
gucio1
post 18.01.2017, 13:56:58
Post #11





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


No cóż.. naprawdę zamierzam wprowadzić rzeczywiste płatności wink.gif.

No wiadomo że to wygląda dziwnie skoro zadaję takie podstawowe pytania a biorę się za płatności.

Chodziło mi tylko o to jak funkcjonują te przelewy bez żadnych zabezpieczeń.

A weryfikacje czy użytkownik faktycznie przelał kasę, czy odpowiednia ilość i czy produkt dostanie to już zostawiam sobie na potem wink.gif.

Nie jestem super doświadczonym gościem i coś robiąc uczę się na bieżąco ale jak na razie żadnych zastrzeżeń do swoich projektów (odpukać) nie miałem.

I chętnie wysłucham jeśli chciałbyś coś podpowiedzieć ze swojego doświadczenia odnośnie bezpieczeństwa przy zakupach przez dotpay.
Go to the top of the page
+Quote Post
Pyton_000
post 18.01.2017, 14:09:06
Post #12





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

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


Przy dotpay przelewy robisz od razu, i dotpay wysyła Ci to co dostał od usera + to co przelał, i z tego wylicza hash. więc sprawdzając hash jesteś w stanie zweryfikować czy płatność nastąpiła i czy jest poprawna

Dokumentacja DotPay jest w miarę ok.

PS. Jeśli w DotPay są inne metody wyliczania hash niż MD5 to uzyj innego.
Go to the top of the page
+Quote Post
viking
post 18.01.2017, 14:10:00
Post #13





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Polecam ci przejrzeć integrację w sklepach https://github.com/dotpay/ Zobaczysz jak to powinno być zrobione. Ja osobiście za dotpay nie przepadam. Już jakiś czas nie korzystałem ale miałem swego czasu wątpliwości co do ich bezpieczeństwa ogólnie. Może dlatego że patrzyłem przez pryzmat pracy w banku i brakowało mi pewnych podstawowych rzeczy (nawet takie głupoty w jaki sposób sumy kontrolne generowali).


--------------------
Go to the top of the page
+Quote Post
gucio1
post 18.01.2017, 17:10:11
Post #14





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Coś źle robię.

czy na pewno tak powinno wyglądać odwołanie do tych zmiennych?


$number = $_POST['operation_number'];
$amount = $_POST['operation_amount'];

INSERT INTO dotpay VALUES ('$number' , '$amount' , '$email')

zmienna $email dodaje się do bazy bo jest zmienna sesyjną a przed mam dwa puste miejsca. Czyli nie pobieram tych danych od urlc mimo że w logu mam że je odbieram.



już sobie poradziłem, zanim pobrałem dane z $_POST sprawdzałem czy użytkownik jest zalogowany. wywaliłem to zostawiłem tylko wysyłanie $_POSTów do bazy i poszło.

Ten post edytował gucio1 18.01.2017, 16:21:26
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 04:36