PayU SA
ul. Grunwaldzka 182
60-166 Poznań
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
Krótkie wprowadzenie w
integrację z kontem PayU
Wersja: 006
Data aktualizacji: 10.01.2012
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
PayU SA
ul. Grunwaldzka 182
60-166 Poznań
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
1. O tym przewodniku.
Przewodnik ma na celu przedstawienie najważniejszych elementów składowych wdrożenia konta
PayU w systemie sprzedawcy (sklepie internetowym).
Przewodnik podzielony jest na trzy części. Pierwsza część to opis procesu wdrożenia konta PayU ze
wskazaniem na metody dostępne z poziomu SDK. Druga część przedstawia listę spraw w postaci
tzw. check-listy, które należy potwierdzić aby być pewnym, że wykonano wszystkie etapy
przewidziane procedurą wdrożenia. Trzecia część to informacja, gdzie można znaleźć dodatkowe
materiały lub zasoby dotyczące protokołu OpenPayU będącego podstawowym protokołem
komunikacyjnym pomiędzy systemem sprzedawcy a usługą PayU.
Dokument ten jest przede
zaimplementować usługę PayU.
wszystkim
przeznaczony
dla
developerów,
którzy
chcą
2. Proces integracji z usługą PayU.
Proces obsługi zamówienia składa się z dwóch etapów:
Złożenia zamówienia przez kupującego,
Potwierdzenia prawidłowego rozliczenia płatności za zamówienie przez PayU.
Etap złożenia zamówienia przez kupującego składa się z następujących kroków.
Kupujący klika w przycisk reprezentujący usługę PayU.
System sprzedawcy (sklep internetowy) inicjalizuje zamówienie poprzez wysłanie do PayU
komunikatu OrderCreateRequest1.
System PayU potwierdza odebranie zamówienia komunikatem OrderCreateResponse.
System sprzedawcy (sklep internetowy) przekierowuje kupującego na stronę PayU, służącą
do autoryzacji kupującego za pomocą usługi OAuth PayU. Ten krok może poprzedzać krok
inicjacji zamówienia.
Kupujący wprowadza login i hasło.
System PayU przekierowuje kupującego na stronę systemu sprzedawcy.
System sprzedawcy pobiera access_token z systemu PayU i przekierowuje kupującego na
stronę podsumowania zamówienia w systemie PayU.
System PayU prezentuje stronę z podsumowaniem zamówienia.
Kupujący potwierdza zamówienie klikając w przycisk „Płacę”.
1
Szczegółowe informacje nt. konstrukcji protokołu OpenPayU i jego komunikatów znajdują się w osobnym dokumencie.
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
PayU SA
ul. Grunwaldzka 182
60-166 Poznań
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
System PayU przekierowuje kupującego na stronę banku, operatora kart płatniczych lub
wcześniej zapisanej karty kredytowej.
System Banku potwierdza PayU wykonanie płatności i przekierowuje kupującego na stronę
systemu PayU.
System PayU przekierowuje kupującego na stronę „Thank you page” systemu sprzedawcy
informującą o udanym złożeniu zamówienia.
Etap złożenia zamówienia kończy się.
Etap potwierdzenia prawidłowego rozliczenia płatności za zamówienie przez PayU składa się
z następujących kroków:
System PayU powiadamia system sprzedawcy o zmianie stanu zamówienia lub płatności za
pomocą komunikatu OrderNotifyRequest.
System sprzedawcy potwierdza odebranie powiadomienia za pomocą komunikatu
OrderNotifyResponse.
Istnieje możliwość, by to system sprzedawcy mógł zażądać informacji o stanie zamówienia lub
płatności. W takiej sytuacji przebieg komunikacji pomiędzy systemem sprzedawcy a systemem
PayU przebiega w następujący sposób.
System sprzedawcy pobiera access_token posługując się żądaniem protokołu OAuth
z typem żądania client_credentials2. System sprzedawcy wysyła do systemu PayU komunikat
OrderRetrieveRequest, z prośbą o przesłanie informacji o bieżącym stanie zamówienia.
System PayU w odpowiedzi wysyła komunikat OrderRetrieveResponse zawierający bieżący
stan zamówienia.
Powyższy scenariusz został zaprezentowany na poniższym diagramie wraz z odpowiadającymi
metodami z udostępnionego SDK (w wersji dla języka PHP).
Przykładowe wdrożenie zgodne z poniższym diagramem można znaleźć w przykładzie
payu_step_by_step.zip3.
2
Polecamy lekturę rozdziału 4.4.2 w specyfikacji protokołu OAuth (w wersji 2.x) dostępnej pod adresem
http://tools.ietf.org/html/draft-ietf-oauth-v2-21.
3
Przykład dostępny pod adresem http://payu.com/pl/openpayu/payu_step_by_step.zip
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
PayU SA
ul. Grunwaldzka 182
60-166 Poznań
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
Inicjalizacja
zamówienia
OpenPayU_Order::create()
Inicjalizacja
autoryzacji
OAuth
przekierowanie do usługi PayU
(OpenPayU_Configuration::$authUrl)
Zakończenie
autoryzacji
OAuth
OpenPayU_OAuth::accessTokenByCode()
Podsumowanie
zamówienia
przekierowanie do usługi PayU
(OpenPayU_Configuration::$summaryUrl)
Przeliczenie
kosztów wysyłki
Pobranie
OAuth
szczegółow
Complete
zamówienia
OpenPayU_Order::consumeMessage()
OpenPayU::buildShippingCostRetrieveResponse()
OpenPayU_Order::consumeMessage()
OpenPayU_Order::retrieve()
3. Lista spraw, które warto sprawdzić w trakcie wdrożenia.
W poniższej tabelce zostały zebrane najważniejsze elementy na które trzeba wykonać lub na które
warto zwrócić uwagę podczas prac wdrożeniowych. Poszczególne punkty podzielone na kategorie :
konfiguracja, inicjalizacja zamówienia, OAuth, podsumowanie zamówienia oraz pozyskanie
informacji o zamówieniu.
Jeśli któryś z punktów posiada status negatywny możesz uzyskać pomoc pisząc na adres email
[email protected]
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
PayU SA
ul. Grunwaldzka 182
60-166 Poznań
Lp
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
Zadanie
Status
1
Konfiguracja. Pobrać SDK. Rozpakować archiwum i przekopiować w odpowiednie
miejsce na serwerze. Upewnić się że pliki są dostępne dla innych skryptów w
systemie sprzedawcy.
TAK/NIE
2
Konfiguracja. Sprawdzić czy jest używany system kodowania UTF-8.
TAK/NIE
3
Konfiguracja. Sprawdzić czy pobrano kod źródłowy obsługujący element graficzny
identyfikujący usługę PayU.
TAK/NIE
4
Konfiguracja. Z poziomu Menadżera Płatności (Moje sklepy-> Sklep … ->
Konfiguracja …) skopiować wartości dla danego punktu sprzedaży oznaczające :
pos_id, client_id, client_secret, klucz do podpisu.
TAK/NIE
5
Konfiguracja. Ustawić wartość parametru konfiguracji
(OpenPayU_Configuration::env()) oznaczającego środowisko na „sandbox”
TAK/NIE
6
Konfiguracja. Ustawić pozostałe wartości parametrów konfiguracji
(OpenPayU_Configuration::*()). Odpowiednie wartości znajdują się w pliku
config.php w przykładzie znajdującym się w archiwum payu_step_by_step.zip
TAK/NIE
7
Inicjalizacja zamówienia. Wywołać metodę OpenPayU_Order::create().
Parametrem wejściowym jest tablica asocjacyjna zgodna z komunikatem
OrderCreateRequest protokołu OpenPayU.
TAK/NIE
8
Inicjalizacja zamówienia. Czy wywołanie metody OpenPayu_Order::create()
zakończyło się sukcesem? Czy wyrażenie $result->success == 1 ?
TAK/NIE
9
OAuth. Czy przekierowanie na stronę logowania PayU było poprawne (warto zwrócić TAK/NIE
uwagę na ikonkę PayU czy zawiera napis „Sandbox”) ?
10
OAuth. Czy po poprawnym zalogowaniu kupującego nastąpiło ponowne
przekierowanie do strony systemu sprzedawcy wprowadzonej w adresie redirect_uri
?
TAK/NIE
11
OAuth. Czy można odczytać z listy parametrów GET/POST wartość parametru
„code” ?
TAK/NIE
12
OAuth. Czy pobranie wartości parametru access_token
(OpenPayu_OAuth::accessTokenByAuthorizationCode()) zakończyło się sukcesem ?
TAK/NIE
13
Podsumowanie zamówienia. Przekierowanie na stronę podsumowania systemu
PayU. Czy parametry przekierowania access_token oraz sessionId są poprawne ?
TAK/NIE
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
PayU SA
ul. Grunwaldzka 182
60-166 Poznań
T: +48 61 630 60 05
F: +48 61 630 61 05
E: [email protected]
14
Podsumowanie zamówienia. Czy strona podsumowania zawiera poprawną liczbę
produktów, poprawne wartości cen oraz rabatów, poprawną listę kosztów przesyłki
?
TAK/NIE
15
Podsumowanie zamówienia.Czy po akceptacji płatności nastąpiło przekierowanie
do strony systemu sprzedawcy ? Czy w parametrze przekierowanie znajduje się
parametr „error” ?
TAK/NIE
16
Pozyskanie szczegółów zamówienia. Przygotowanie skryptu który będzie mógł być
wywołany przez usługę PayU dla notyfikacji o zmianie stanu.
TAK/NIE
17
Pozyskanie szczegółów zamówienia. Czy wywołanie metody
OpenPayU_Order::retrieve() z parametrami SessionId zakończyło się sukcesem
($result->success == 1) ?
TAK/NIE
18
Pozyskanie szczegółów zamówienia. Uaktualnienie stanu systemu sprzedawcy
poprawnymi wartościami pobranymi metodą OpenPayU_Order::retrieve()
TAK/NIE
4. Gdzie można znaleźć więcej informacji.
W przypadku wątpliwości w trakcie procesu wdrożenia lub chęci podzielenia się uwagami na temat
usługi prosimy o kontakt pisząc na adres [email protected]
Ponadto poniższe linki zawierają szereg materiałów uzupełniających.
http://www.payu.com/pl/openpayu/guide.pdf
http://www.payu.com/pl/openpayu/OrderDomainRequest.html
http://www.payu.com/pl/openpayu/OrderDomainResponse.html
http://www.payu.com/pl/openpayu/OrderDomain_xsd.zip
http://www.payu.com/pl/openpayu/openpayu_sdk.zip
http://www.payu.com/pl/openpayu/payu_step_by_step.zip
PayU SA z siedzibą w Poznaniu, 60-166 Poznań, przy ul. Grunwaldzkiej 182, krajowa instytucja płatnicza, nadzorowana przez Komisję
Nadzoru Finansowego, wpisana do Rejestru usług płatniczych pod numerem IP1/2012, wpisana do rejestru przedsiębiorców
prowadzonego przez Sąd Rejonowy w Poznaniu – Nowe Miasto i Wilda w Poznaniu, Wydział VIII Gospodarczy Krajowego Rejestru
Sądowego pod numerem KRS 0000274399, o kapitale zakładowym w wysokości 4.000.000 PLN, w całości opłaconym, posiadająca numer
identyfikacji podatkowej NIP: 779-23-08-495, REGON 300523444.
Download

Reveal Q+ ZEA instrukcja