Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PayPal, IPN i walidacja cen produktów
relaxant
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 9.08.2004
Skąd: Bielsko-Biała

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


Witam,

Staram się zintegrować Website Payment Standart PayPal'a ze swoim serwisem. Koszyczek ładnie działa w sandboxie, tranzakcje ładnie przechodzą, ale...
Dane do serwisu PayPal przesyłane są POST'em bezpośrednio z formularza HTML (co przekierowuje klienta od razu do serwisu płatności). Problem polega na tym, że jeżeli zmienie sobie odpowiednie dane w formularzu (np Firebug) to takie błędne dane lecą do PayPal, operacja przechodzi i w skutek tego klient może kupić sobie coś we własnoręcznie spreparowanej promocji. Jak się przed tym zabezpieczyć?
Wg któregoś pliczku pdf dokumentacji PayPal'a dane o tranzakcji można weryfikować w IPN. Jeżeli tak to jak to powinno być zrobione? Nie wywoływać weryfikacji? a może jest jakaś magiczna metoda do przerwania tranzakcji?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
relaxant
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 9.08.2004
Skąd: Bielsko-Biała

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


Problem rozwiązany. W PayPal Website Payment Standart można zastosować szyfrowanie (OpenSSL) samego forma. Wygenerowny klucz prywatny zostawiamy dla siebie, publiczny upload'ujemy do PayPal'a. Sam form w html'u wygląda tak że ma trzy inputy:
  • cmd - wywoływana komenda
  • encrypted - zaszyfrowane dane
  • submit smile.gif

reszta bez zmian.

Cytat
w wielu systemach płatności spotkałem się z kodem weryfikacyjnym w postaci hasha podanych informacji. Z resztą pewnie na pewno, paypal zwraca ilość wpłaconych środków, którą to możesz porównać z ilością środków potrzebnych do realizacji zamówienia.t


Też widziałem podobne rozwiązania, ale w tym wypadku dodanie hash'a nic daje. Wszystkie dane dot. tranzakcji są i tak wysyłane przez IPN więc mając hasha (badź nie smile.gif ) możemy jedynie ustalić sami dla siebie czy tranzakcja jest zmieniona czy nie. Jednak w żaden sposób nie możemy wpłynąć na przebieg operacji po stronie PayPal'a. W panelu pozostaje zrobienie refunda albo dogadywanie z klientem żeby zapłacił brakującą kwote. Oba rozwiązania nie akceptowalne.

Tak więc szyfrowanie rozwiązuje problem. Mam nadzieję że powyższe info komuś się przyda.
Szczegółowe informacje w doku: PP_WebistePaymentsStandard_IntegrationGuide.pdf
oraz na stronie: PayPal X Developer Network - bilioteka szyfrująca w PHP

P.s. Właściciele sklepów na presta shop i podobnych z aktywną formą płatności PayPal, sprawdźcie sobie jak to wygląda u Was smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 06:25