Przesłanie danych na temat płatności
Wprowadzenie
Opis techniczny
Podręcznik
Przykłady kodu


Opis techniczny


Funkcja Przesłanie danych na temat płatności (PDT) umożliwia handlowcom wyświetlanie szczegółów transakcji w przypadku kupujących, którzy są przekierowywani do swojej witryny po dokonaniu płatności.

Zasada działania

Po włączeniu funkcji PDT za każdym razem, gdy kupujący dokona płatności za pośrednictwem witryny i zostanie przekierowany na zwrotny adres URL, na ten adres URL zostanie wysłany znacznik transakcji w postaci zmiennej "GET". Aby prawidłowo korzystać z funkcji PDT i umożliwić klientowi wyświetlenie szczegółów transakcji, należy pobrać znacznik transakcji, nazwę zmiennej "tx", a także szczegóły transakcji z systemu PayPal, tworząc odwołanie HTTP POST do systemu PayPal.

Formularz POST powinien zostać wysłany na adres https://www.paypal.com/cgi-bin/webscr. Należy wysłać znacznik transakcji korzystający ze zmiennej „tx” i poprzednio otrzymanej wartości znacznika transakcji (np. "tx=transaction_token") oraz specjalny znacznik identyfikacyjny korzystający ze zmiennej „at” i wartości znacznika identyfikacji PDT (np. "at=identity_token"). Do łańcucha POST należy także dodać zmienną "cmd" z wartością "_notify-synch", na przykład "cmd=_notify-synch".

System PayPal odpowie na wysłany formularz za pomocą pojedynczego słowa, „POWODZENIE” lub „NIEPOWODZENIE” w treści odpowiedzi. Po otrzymaniu odpowiedzi POWODZENIE pozostała treść odpowiedzi będzie zawierała szczegóły transakcji, jednej w każdym wierszu, w formacie klucz=wartość, gdzie klucz i wartość będą ciągami z zakodowanymi adresami URL. Te dane odpowiedzi muszą zostać poddane odpowiedniej analizie, a następnie odkodowane w witrynie.

Przykład odpowiedzi oznaczającej powodzenie:
POWODZENIE
first_name=Jane+Doe
last_name=Smith
payment_status=Completed
payer_email=janiedoesmith@hotmail.com
payment_gross=3,99
mc_currency=USD
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham
...

Można umożliwić klientowi wyświetlenie wybranych szczegółów płatności; jednak firma PayPal zaleca dodanie adresu wysyłkowego, adresu e-mail płatnika i zapłaconej kwoty. Jeżeli funkcja PDT jest używana do określenia, kiedy zamówienie ma zostać zrealizowane automatycznie, należy sprawdzić, czy wartość zmiennej payment_status to Completed, ponieważ kupujący mógł użyć metody takiej jak czek elektroniczny, która nie powoduje natychmiastowego rozliczenia płatności.

Jeżeli te dane są używane do realizacji zamówień, firma PayPal zdecydowanie zaleca włączenie funkcji BPP, aby umożliwić sprawdzenie, kiedy oczekujące płatności zostaną rozliczone. Więcej informacji zawiera Podręcznik błyskawicznego powiadamiania o płatności systemu PayPal, który jest dostępny w witrynie PayPal.

Jeśli odpowiedź to NIEPOWODZENIE, można wysłać wiadomość zwrotną do systemu PayPal, aby określić czy powodem niepowodzenia jest błąd sieci; jeśli jednak druga próba zakończy się niepowodzeniem, firma PayPal zaleca sprawdzenie skryptu i wykonanie dodatkowych czynności:
  • Aby zapobiec wykorzystaniu przez inną osobę starej, zakończonej transakcji, sprawdź, czy zmienna txn_id nie jest zduplikowana.
  • Aby zapobiec wysłaniu płatności na sfałszowany adres e-mail, sprawdź, czy wartość receiver_email odpowiada adresowi e-mail zarejestrowanemu dla konta PayPal.
  • Sprawdź inne szczegóły transakcji, takie jak numer elementu i cena, aby potwierdzić, czy cena nie została zmieniona.

Zmienne BPP

Kompletną listę wszystkich zmiennych BPP (błyskawiczne powiadamianie o płatności) oraz szczegółowe instrukcje, jak korzystać z funkcji błyskawicznego powiadamiania o płatności, patrz Płatności za pośrednictwem witryny — podręcznik integracji

Zainstalowanie programu Adobe Acrobat jest niezbędne, aby możliwe było czytanie podręczników firmy PayPal.