Wprowadzenie

1 Wprowadzenie

PayU umożliwia łatwą akceptację płatności na Twojej stronie lub urzadzeniu mobilnym.

Oferujemy pełen zestaw API, które pozwalają tworzyć, rozliczać, anulować i pobierać zamówienia, wykonywać wypłaty i pobierać raporty.

W celu uproszczenia integracji, można użyć jednej z naszych wtyczek lub naszego PHP SDK.

Ponadto, wiele platform sklepowych oferuje wbudowaną integrację z PayU. Jeśli platforma jakiej używasz do nich należy, postępuj zgodnie z podanymi w niej instrukcjami aby szybko skonfigurować płatność przez PayU.

1.1 Jak zacząć?

Na początek należy założyć konto PayU dla sprzedawców (obiorców płatności). Może to być konto produkcyjne (rejestruj lub skontaktuj się z partnerem PayU lub przedstawicielem handlowym) lub konto testowe na środowisku sandbox (rejestruj).

Po zalogowaniu się do panelu administracyjnego konta PayU, stwórz Sklep i Punkt Płatności w typie REST API.

Uwaga: jeżli zacząłeś od razu od konta produkcyjnego, nie będzie ono w pełni aktywne, dopóki nie zostanie przez nas zakończona wymagana prawem weryfikacja.

1.2 Model integracji

Przed rozpoczęciem integracji, warto wybrać jej właściwy model. Dostępne są różne opcje, a usługi i konfiguracja konta PayU mogą zależeć od odpowiedzi na poniższe pytania:

Czy każde zamówienie opłacone przez PayU będzie zrealizowane?

Jeśli nie, wyłącz auto-odbiór na swoim punkcie płatności i każdorazowo decyduj, czy zamówienie odebrać i rozliczyć lub anulować i zwrócić środki.

Czy sprzedawane są wysokokwotowe towary lub usługi?

Jeśli tak, zwiększ sprzedaż dzięki usłudze Raty | PayU.

Czy często będą wykonywane zwroty środków do płacących?

Jeśli tak, należy rozważyć wykonywanie zwrotów poprzez API zamiast wykonywać je poprzez Panel.

Czy chciałbyś umożliwić swoim klientom wybór metody płatności już na stronie Twojego serwisu?

Jeśli tak, zdecyduj się na "transparentną" integrację.

Czy dla swoich klientów będziesz tworzyć konta użytkowników?

Jeśli tak, użyj usługi Tokenizacji kart a dane kart płatniczych Twoich klientów zostaną bezpiecznie zapisane w PayU. Dzięki temu przy kolejnej płatności nie będzie trzeba podawać numeru karty, a płatności będzie można dokonać jednym kliknięciem.

Czy będziesz cyklicznie obciążał swoich klientów (np. co miesiąc)?

Jeśli tak, skorzystaj z usługi płatności cyklicznych.

Czy masowo wystawiasz faktury, które wymagają płatności na dedykowane subkonta bankowe?

Jeśli tak, wdróż usługę Mass Collect.

Czy musisz rozliczać odebrane płatności z innymi podmiotami?

Jeśli tak użyj API do wypłat aby usprawnić rozliczenia ze swoimi partnerami biznesowymi.

Sprawdź naszą ofertę handlową, aby dowiedzieć się więcej.

1.3 Wsparcie integracji

Jeśli potrzebujesz pomocy, skontaktuj się z nami przez wypełnienie formularzu tutaj.

W przypadku pytań o konkretne zamówienia i wywołania naszego API, podaj wartość nagłówka Correlation-Id w odpowiedzi zwróconej przez system PayU.

2 Przykłady

Strona płatności PayU

Kliknij przycisk - zostaniesz przekierowany na stronę podsumowania płatności serwowaną przez system PayU.

Powyższy przykład pokazuje integrację za pomocą formularza implementującego protokół REST API, zalecana jest jednak integracja za pomocą komunikatów JSON, ponieważ daje więcej możliwości rozszerzenia integracji.

Secure Form

Kliknij w przycisk - wywoła on Secure Form służący do bezpiecznego pobrania danych karty. Secure Form możesz również wlać w swoją stronę.

Aby zobaczyć wszystkie możliwości akceptacji płatności kartą zobacz sekcję poświęconą formatkom płatniczym.

3 Testowanie integracji

W przypadku integracji podstawowej, obejmującej jedynie przekierowanie na stronę PayU, w zupełności wystarczy użycie publicznego testowego punktu płatności. Jednak w przypadku potrzeby testów wszystkich komunikatów API, łącznie z m.in. zwrotami, należy skorzystać z konta na środowisku sandbox.

Dane publicznego punktu płatności:

       
                
                Id punktu płatności (pos_id):       145227
                Drugi klucz (MD5):                  13a980d4f851f3d9a1cfc792fb1f5e50
                Protokół OAuth (client_id):         145227
                Protokół OAuth (client_secret):     12f071174cb7eb79d4aac5bc2f07563f
                
            

3.1 Przypadki testowe

Poniżej znajduje się krótka list przypadków testowych. Sprawdź jak Twoja strona obsługuje następujące sytuacje:

  1. Czy po wykonaniu żądania POST na endpoint /api/v2_1/orders następuje przekierowanie na adres przekazany przez PayU w odpowiedzi z kodem HTTP 302?
  2. Czy Twój system odbiera i parsuje powiadomienia wysyłane przez PayU? Czy w odpowiedzi na powiadomienie wysyłany jest kod HTTP 200?
  3. Czy prawidłowo ustalasz status zamówienia w PayU? Pamiętaj, status zamówienia jest przekazywany wyłącznie w notyfikacji, status zwrócony w odpowiedzi dotyczy danego żądania, a nie całego zamówienia(!).
  4. Czy podajesz parametr continueUrl? Czy po zakończonej płatności użytkownik jest przekierowywany na ten adres?
  5. Czy obsługujesz komunikat o nieudanej płatności doklejany jako query string do adresu strony podanej jako continueUrl?
  6. W przypadku Tokenizacji Kart, czy Twój system obsługuje wszystkie scenariusze uwierzytelnienia płatności?

Opcje 1 i 2 mogą zostać wykonane poprzez Panel lub API.

3.2 Sandbox

Dostępność środowiska sandbox można sprawdzić na stronie statusowej.

Sandbox to niemal identyczna kopia produkcyjnego systemu PayU, której można używać do integracji i testów. Aby skorzystać ze środowiska testowego, należy się osobno zarejestrować (wymagany jest jedynie adres email). Transakcje testowe można odbierać od razu po rejestracji oraz utworzeniu sklepu i punktu płatności.

Przydatne adresy:

Zapoznaj się z instrukcją, jeżeli nie wiesz jak się zarejestrować lub założyć nowy sklep na koncie Sandbox.

3.2.1 Testowy POS

Choć najlepiej jest utworzyć własne konto do testów, które można potem dowolnie konfigurować, można też skorzystać z publicznego POSa testowego bez rejestracji:
               
               Id punktu płatności (pos_id):       300746
               Drugi klucz (MD5):                  b6ca15b0d1020e8094d9b5f8d163db54
               Protokół OAuth (client_id):         300746
               Protokół OAuth (client_secret):     2ee86a66e5d97e3fadc400c9f19b065d
               
            

3.2.2 Testowe karty

W celu przetestowania płatności kartą, należy użyć poniższych danych.

Wszystkie karty testowe wspierają uwierzytelnienie za pomocą protokołu 3DS 2, a wynik uwierzytelnienia, o ile nie zaznaczono inaczej, to udane uwierzytelnienie typu frictionless.

W praktyce oznacza to, że dla każdego zamówienia (OrderCreateRequest) z podaniem numeru karty lub tokena kartowego należy spodziewać się odpowiedzi WARNING_CONTINUE_3DS, o ile nie jest to płatność wyłączona z obowiązku uwierzytelnienia (np. płatność cykliczna lub MOTO).

UWAGA - karty testowe, które zwracają domyślny wynik 3DS nie mogą zostać użyte do zapisania karty/tokenu z uwagi na wymogi SCA/PSD2.

Numer Miesiąc Rok CVV Wynik 3DS Raty Mastercard Zachowanie
4444333322221111 12 29 123 domyślny nie Autoryzacja pozytywna
5434021016824014 12 29 123 domyślny tak * Autoryzacja pozytywna
5598614816563766 12 29 123 domyślny tak ** Autoryzacja pozytywna
5099802211165618 12 29 123 domyślny nie Autoryzacja pozytywna. CVV nie jest wymagane dla płatności jednym kliknięciem (PayU | Express)
4012001037141112 12 29 123 domyślny nie Autoryzacja pozytywna
5100052384536891 12 29 123 domyślny nie Autoryzacja pozytywna
4012001007002005 12 29 123 domyślny nie Autoryzacja negatywna
5000105018126595 12 29 123 domyślny nie Autoryzacja negatywna
4000398284360 12 29 123 domyślny nie Autoryzacja negatywna
4245757666349685 12 29 123 challenge nie Autoryzacja pozytywna
5150030090350186 12 29 123 3DS Method i udane uwierzytelnienie typu frictionless nie Autoryzacja pozytywna
4012001037141120 12 29 123 3DS Method i challenge nie Autoryzacja pozytywna
5100052384536834 12 29 123 zwrócone parametry challenge, jeśli obiekt sdkwysłany w OrderCreateRequest nie Autoryzacja pozytywna
5100052384536818 02 32 123 challenge / jeśli nie wykonano uwierzytelnienia, zwraca soft decline (SSD) nie Autoryzacja pozytywna
5100052384536826 12 29 123 domyślny nie Autoryzacja pozytywna
5521455186577727 12 29 123 nieudane uwierzytelnienie typu frictionless nie brak autoryzacji
5405860937270285 12 29 123 domyślny nie 50% szans na udaną autoryzację
4532598021104999 12 29 123 domyślny nie udana autoryzacja tylko na kwotę poniżej 1000 groszy
4210836393742163 12 29 123 3DS Method nie udana autoryzacja tylko na kwotę poniżej 1000 groszy
5436062405627681 12 29 123 challange nie dla kwoty powyżej 300 groszy parametr iframeAllowed przyjmuje wartość false
  • * - Płać w ratach z Mastercard w formacie opcji VARYING_NUMBER_OF_OPTIONS
  • ** - Płać w ratach z Mastercard w formacie opcji VARYING_NUMBER_OF_INSTALLMENTS

Płatności OneClick powyższymi kartami testowymi wymagają CVV, chyba że w kolumnie "Zachowanie" sprecyzowano inaczej.

3.2.3 Dostępne funkcjonalności

Lista funkcjonalności możliwa do sprawdzenia na środowisku sandbox:

4 Metody płatności

Poniżej znajduje się lista metod płatności dostępnych poprzez PayU. Aby mieć pewność, że Twoi klienci będą płacić jedynie aktualnie dostępnymi metodami płatności, zalecamy korzystanie z możliwości ich automatycznego pobierania:

  • Jeżeli korzystasz ze strony płatniczej PayU (parametr payMethod o wartości PAYMENT_WALL lub jego brak), zajmujemy się wszystkim, wliczając logotypy, które są aktualizowane automatycznie.
  • Jeżeli wdrożyłeś metody płatności samodzielnie w swoim sklepie internetowym zalecamy abyś zapoznał się z tymi instrukcjami.
  • Jeżeli nadal korzystasz z Classic API (NewPayment) i nie planujesz zmiany na Rest API to, zalecamy abyś zapoznał się z tymi instrukcjami.

Dzięki tej usłudze nasz całodobowy monitoring dba, aby w przypadku planowanej przerwy konserwacyjnej lub nieoczekiwanej awarii, dany kanał został wyłączony. W wypadku zaistnienia sytuacji tego typu, klient nadal może, np. zapłacić kartą kredytową, jeśli jego bank nie obsługuje przelewu w danym momencie.

4.1 Metody płatności oparte na kartach płatniczych

Automatyczne anulowanie transakcji

Wszystkie metody płatności kartami są automatycznie anulowane po:
  • 1 godzinie - w przypadku transakcji nieopłaconych,
  • 5 dniach - w przypadku transakcji w statusie "Oczekuje na odbiór".

Szczegóły metod płatności

Nazwa Wartość transakcji Opis Księgowanie
c 0,01 - 999999,99 Karta płatnicza - płatność w CHF, EUR, GBP, USD. 24h/7
c 0,05 - 999999,99 Karta płatnicza - płatność w PLN, RON. 24h/7
c 0,30 - 999999,99 Karta płatnicza - płatność w CZK. 24h/7
c 0,02 - 999999,99 Karta płatnicza - płatność w BGN. 24h/7
c 1,00 - 999999,99 Karta płatnicza - płatność w RUB. 24h/7
c 5 - 9999999 Karta płatnicza - płatność w HUF. 24h/7
c 0,50 - 9999999,99 Karta płatnicza - płatność w innych walutach. 24h/7
jp tak jak powyżej dla kart płatniczych Apple Pay to źródło danych karty - autoryzacja i rozliczenie odbywa się tak jak dla standardowej transakcji kartą płatniczą. W Panelu oraz na zestawieniach, transakcje te oznaczone są tak samo jak inne płatności kartą, tj. używając wartości 'jp' można wywołać płatność metodą Apple Pay, jednak utworzona płatność będzie już oznaczona metodą 'c'. O fakcie użycia Apple Pay mówi parametr "payment flow", dostępny poprzez payment/get lub Transaction Data Retrieve. 24h/7
ap tak jak powyżej dla kart płatniczych Google Pay (d. Android Pay) to źródło danych karty - autoryzacja i rozliczenie odbywa się tak jak dla standardowej transakcji kartą płatniczą. W Panelu oraz na zestawieniach, transakcje te oznaczone są tak samo jak inne płatności kartą, tj. używając wartości 'ap' można wywołać płatność metodą Google Pay, jednak utworzona płatność będzie już oznaczona metodą 'c'. O fakcie użycia Google Pay mówi parametr "payment flow", dostępny poprzez payment/get lub Transaction Data Retrieve. 24h/7
ma tak jak powyżej dla kart płatniczych Masterpass to źródło danych karty - autoryzacja i rozliczenie odbywa się tak jak dla standardowej transakcji kartą płatniczą. W Panelu oraz na zestawieniach, transakcje te oznaczone są tak samo jak inne płatności kartą, tj. używając wartości 'ma' można wywołać płatność metodą Masterpass, jednak utworzona płatność będzie już oznaczona metodą 'c'. O fakcie użycia Masterpass mówi parametr "payment flow", dostępny poprzez payment/get lub Transaction Data Retrieve. 24h/7
vc tak jak powyżej dla kart płatniczych Visa Checkout to źródło danych karty - autoryzacja i rozliczenie odbywa się tak jak dla standardowej transakcji kartą płatniczą. W Panelu oraz na zestawieniach, transakcje te oznaczone są tak samo jak inne płatności kartą, tj. używając wartości 'vc' można wywołać płatność metodą Visa Checkout, jednak utworzona płatność będzie już oznaczona metodą 'c'. O fakcie użycia Visa Checkout mówi parametr "payment flow", dostępny poprzez payment/get lub Transaction Data Retrieve. 24h/7

4.2 Raty i Płacę Poźniej

Metoda płatności Raty | PayU jest dostępna tylko na rynku polskim (sprawdź szczegóły).

Metoda płatności Twisto | PayU Płacę Później jest dostępna tylko na rynku polskim (sprawdź szczegóły).

Metoda płatności PayPo | PayU Płacę Później jest dostępna tylko na rynku polskim (sprawdź szczegóły).

Metoda płatności Płacę Później z Twisto jest dostępna na rynku czeskim (sprawdź szczegóły).

Automatyczne anulowanie transakcji

W przypadku metod płatności kredytowych czas automatycznego anulowania transakcji nieopłaconych i transakcji w statusie "Oczekuje na odbiór" jest taki sam i wynosi w zależności od metody:
  • 5 dni - dla Rat PayU,
  • 10 dni - dla pozostałych metod.

Szczegóły metod płatności

Nazwa Wartość transakcji Opis Waluta
ai 300,00 - 50000,00 PayU | Raty PLN
dpt 1,00 - 1500,00 Twisto | PayU Płacę później (Polska) PLN
dpp 10,00 - 2000,00 PayPo | PayU Płacę później (Polska) PLN
dpcz 3,00 - 999999,99 Płacę Później z Twisto (Czechy) CZK
dpts 1500,00 - 100000,00 Twisto Podziel na 3 (Czechy) CZK

4.3 Polskie szybkie przelewy pay-by-link (PLN)

Automatyczne anulowanie transakcji

W przypadku polskich przelewów czas automatycznego anulowania transakcji nieopłaconych wynosi 5 dni, a dla transakcji w statusie "Oczekuje na odbiór": 10 dni. Wyjątkiem jest metoda "Przelew bankowy", dla której w obu przypadkach czas automatycznego anulowania wynosi 10 dni.

Szczegóły metod płatności

Nazwa Wartość transakcji (PLN) Opis Księgowanie
blik 0,01 - 9999,99 BLIK 24h/7
m 0,37 - 999999,99 mTransfer - mBank 24h/7
w 0,37 - 999999,99 Przelew24 (Santander, d. BZ WBK) 24h/7
o 0,37 - 999999,99 Pekao24Przelew - Bank Pekao 24h/7
i 0,37 - 999999,99 Płacę z Inteligo 24h/7
p 0,37 - 999999,99 Płać z iPKO 24h/7
g 0,37 - 999999,99 Płać z ING 24h/7
gbx 1,00 - 999999,99 Płacę z VeloBank 24h/7
l 0,37 - 999999,99 Credit Agricole 24h/7(*)
ab 0,37 - 999999,99 Płacę z Alior Bankiem 24h/7
wm 0,37 - 999999,99 Przelew z Millennium 24h/7
wc 0,37 - 999999,99 Przelew z Citi Handlowego 24h/7
bo 0,37 - 999999,99 Płać z BOŚ 24h/7
bnx 0,37 - 999999,99 BNP Paribas 24h/7
bs 0,50 - 999999,99 Banki Spółdzielcze 24h/7
nstb 0,50 - 999999,99 Nest bank 24h/7
plsb 0,50 - 999999,99 Plus Bank 24h/7
b 0,50 - 999999,99 Przelew bankowy

(*) między 23:45 a 3:15 jest przetwarzane zakończenie i rozpoczęcie dnia księgowego, co może w tym czasie powodować przerwy w procesowaniu transakcji

4.4 Czeskie szybkie przelewy pay-by-link (CZK)

Automatyczne anulowanie transakcji

W przypadku czeskich przelewów czas automatycznego anulowania transakcji nieopłaconych i transakcji w statusie "Oczekuje na odbiór" jest taki sam. Wynosi w zależności od metody:
  • 14 dni - dla przelewu bankowego (bt) i przelewu pocztowego (pt),
  • 10 dni - dla pozostałych metod.

Szczegóły metod płatności

Nazwa Wartość transakcji (CZK) Opis
cs 3,00 - 999999,99 Česká spořitelna
mp 3,00 - 999999,99 mBank
kb 3,00 - 999999,99 Komerční banka
rf 3,00 - 999999,99 Raiffeisenbank
pg 3,00 - 999999,99 Moneta Money Bank
pf 3,00 - 999999,99 Fio banka
cb 3,00 - 999999,99 ČSOB
uc 3,00 - 999999,99 UniCredit
bt 3,00 - 999999,99 Bank transfer
pt 3,00 - 999999,99 Postal transfer

4.5 Słowackie szybkie przelewy pay-by-link (EUR)

Automatyczne anulowanie transakcji

W przypadku słowackich przelewów czas automatycznego anulowania transakcji nieopłaconych i transakcji w statusie "Oczekuje na odbiór" jest taki sam i wynosi 10 dni.

Szczegóły metod płatności

Nazwa Wartość transakcji (EUR) Opis Księgowanie
posta 0,5 - 999999,99 Poštová banka, a. s. 24h/7
sporo 0,5 - 999999,99 Slovenská sporiteľňa, a. s. 24h/7
tatra 0,5 - 999999,99 Tatra banka, a. s. 24h/7
viamo 0,5 - 999999,99 Viamo 24h/7
vub 0,5 - 999999,99 Všeobecná úverová banka, a. s. 24h/7

4.6 Międzynarodowe metody płatności

Skontaktuj się z opiekunem handlowym w celu ich udostępnienia.

Automatyczne anulowanie transakcji

W przypadku przelewów międzynarodowych czas automatycznego anulowania transakcji nieopłaconych i transakcji w statusie "Oczekuje na odbiór" jest taki sam i wynosi 10 dni. Wyjątkiem jest metoda GiroPay (gp), dla której czas automatycznego anulowania transakcji nieopłaconych wynosi 5 dni, a czas automatycznego anulowania transakcji w statusie "Oczekuje na odbiór" wynosi 10 dni.

Szczegóły metod płatności

Nazwa Wartość transakcji (równowartość w EUR) Opis Typ Dostępność w krajach Dostępne waluty
gp 1,00 - 999999,99 GiroPay pbl DE EUR
pbc 1,00 - 999999,99 Bancontact karta płatnicza BE EUR
pid 1,00 - 999999,99 iDEAL pbl NL EUR
pmb 1,00 - 999999,99 MyBank przelew tradycyjny/pbl IT EUR
pscd 1,00 - 1000,00 PaySafeCard voucher prepaid AT, BE, CY, DE, ES, FI, FR, IT, LI, LT, LU, MT, NL, PT, SI, SK EUR
sb 1,00 - 999999,99 Sofort Banking przelew tradycyjny/pbl AT, BE, CH, DE, ES, GB, IT, NL EUR, GBP*, CHF*
sdd 1,00 - 1000,00 SEPA Direct Debit polecenie zapłaty AT, BE, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MT, NL, NO, PT, RO, SE, SI, SK, SM EUR
pmbc 1,00 - 99999,99 Multibanco pbl PT EUR
ptrl 1,00 - 1000,00 Trustly pbl DE, DK, EE, ES, FI, GB, LT, LV, NL, NO, PT, SE, SK EUR, DKK*, GBP*, NOK*, SEK*
  • CHF* - tylko w połączeniu z kodem kraju CH
  • DKK* - tylko w połączeniu z kodem kraju DK
  • GBP* - tylko w połączeniu z kodem kraju GB
  • NOK* - tylko w połączeniu z kodem kraju NO
  • SEK* - tylko w połączeniu z kodem kraju SE

5 Dostępne waluty

W PayU istnieje możliwość ustawienia dwóch rodzajów walut na poziomie pojedynczego sklepu: waluty transakcyjnej i waluty rozliczeniowej.

Waluta transakcyjna określa, w jakiej walucie płacący może dokonywać płatności. Ma ona też wpływ na dostępność metod płatności - karty są dostępne w każdej, a inne metody (np. szybkie przelewy) są dostępne tylko w CZK, EUR i PLN.

Waluta rozliczeniowa określa, w jakiej walucie środki ze sklepu zostaną wypłacone na konto merchanta. Domyślnie PayU rozlicza się z merchantem w tej samej walucie, w której była procesowana transakcja (1:1).

W zależności od wybranej waluty rozliczeniowej mogą wystąpić dodatkowe opłaty i ograniczenia w częstotliwości wypłat.

Poniższa tabela przedstawia spis walut transakcyjnych , w których PayU może rozliczać się z merchantem (1:1).

Kod Nazwa
CHF frank szwajcarski
CZK korona czeska
DKK korona duńska
EUR euro
GBP funt szterling
HRK kuna chorwacka
HUF forint węgierski
NOK korona norweska
PLN złoty polski
RON lej rumuński
SEK korona szwedzka
USD dolar amerykański

Dostępna jest także dodatkowa funkcjonalność (ICP) pozwalająca automatycznie przeliczyć walutę transakcyjną na wybraną przez merchanta walutę rozliczeniową – obecnie na EUR lub USD. W celu uzyskania dalszych informacji skontaktuj się z opiekunem handlowym bądź przez nasz formularz kontaktowy.

6 Dostępne wersje językowe

Poniższe parametry mogą być podane jako wartość pola language w obiekcie <Buyer>.

Tabela pokazuje wersje językowe dla strony wyboru metody płatności ("paywall"), formatki płatności kartą oraz wiadomości email z informacjami o płatności wysyłanej do płatnika.

Kod Język Strona wyboru metody Formatka kartowa Email Widget
pl polski tak tak tak tak
en angielski tak tak tak tak
cs czeski tak tak tak tak
bg bułgarski nie tak tak tak
da duński nie tak tak tak
de niemiecki tak tak tak tak
el grecki nie tak tak nie
es hiszpański tak tak tak tak
et estoński nie tak nie tak
fi fiński nie tak nie nie
fr francuski nie tak tak tak
hr chorwacki nie tak tak nie
hu węgierski nie tak tak tak
it włoski tak tak tak tak
lt litewski nie tak tak nie
lv łotewski nie tak tak nie
nl niderlandzki tak tak tak nie
pt portugalski nie tak nie nie
ro rumuński nie tak tak tak
ru rosyjski nie tak nie nie
sk słowacki tak tak tak tak
sl słoweński nie tak nie nie
sr serbski nie tak nie nie
sv szwedzki nie tak tak nie
tr turecki nie tak tak nie
uk ukraiński nie tak tak nie

7 Zestawienie adresów (endpointów)

Przed rozpoczęciem analizy pełnej dokumentacji REST API, warto zapoznać się z wszystkim żądaniami oferowanymi w tym protokole integracji.

Adres hosta

Produkcyjny:

https://secure.payu.com/

Sandbox:

https://secure.snd.payu.com/
Adres Metoda HTTP Komentarz Pełne omówienie
/pl/standard/user/oauth/authorize POST Dostarcza token autoryzacyjny (OAuth). Uwierzytelnienie komunikatów
api/v2_1/paymethods GET Dostarcza aktualnie dostępne metody płatności. Pobranie metod płatności
/api/v2_1/orders POST Tworzy zamówienie i umożliwia przeprowadzenie płatności. Tworzenie nowego zamówienia przez API
/api/v2_1/orders/{orderId} GET Pozwala pobrać dane i status zamówienia. Pobrania danych zamówienia
/api/v2_1/orders/{orderId} DELETE Pozwala anulować zamówienie. Anulowanie zamówienia
/api/v2_1/orders/{orderId}/transactions GET Pozwala pobrać szczegóły płatności (dane konta bankowego lub karty płatniczej). Pobranie danych transakcji
/api/v2_1/orders/{orderId}/status PUT Pozwala odebrać (rozliczyć) opłacone zamówienie. Odebranie zamówienia
/api/v2_1/orders/{orderId}/refunds POST Pozwala na pełne lub częściowe zwroty (uznania) do płatności. Zwroty
/api/v2_1/payouts POST Pozwala zlecić wypłatę bezpośrednio z aplikacji sklepu (wypłaty automatyczne i ad hoc są też dostępne poprzez Panel). Wypłaty
api/v2_1/mcp-partners/{mcpPartnerId}/fx-table GET Pozwala pobrać tabelę kursową. Płatności wielowalutowe
/api/v2_1/reports/{reportId} GET Pozwala pobrać wygenerowane zestawienie transakcji (zestawienia automatyczne i ad hoc są też dostępne poprzez Panel). Zestawienia transakcji
/api/visa-checkout/proxy/payment/data/{callId} GET Pozwala pobrać dane (maskowany numer karty, adres wysyłki itp.) z Visa Checkout. Visa Checkout
/api/v2_1/card-installment-proposals/{proposalId} GET Pozwala pobrać dane propozycji ratalnej dla płatności kartą Mastercard. Płać w ratach z Mastercard
/api/v2_1/card-installment-proposals/{proposalId}/decisions POST Pozwala przesłać decyzję płacącego z wybraną opcją ratalną. Płać w ratach z Mastercard

8 Szyfrowanie połączenia

Od 30 czerwca 2018 PayU wspier wyłącznie protokół TLS 1.2.

Zaprzestanie wspierania starszych protokołów jest podyktowane względami bezpieczeństwa. Protokół TLS 1.2 to najlepszy sposób szyfrowania połączenia, zgodny z najwyższym standardem bezpieczeństwa PCI DSS 3.2.

Zmiana dotyczy wszelkiej komunikacji za pomocą HTTPS z systemem PayU i obejmuje wszystkie adresy REST API i Classic API.

Większość dostawców rozwiązań e-commerce oraz firm hostingowych dba o aktualizację oprogramowania, dlatego jeśli Twój serwis działa na gotowej platformie, najprawdopodobniej nie masz się czego obawiać. Możesz skontaktować się z dostawcami usług i zapytać, czy dokonali tej aktualizacji.

Jeśli Twój serwis korzysta z dedykowanego rozwiązania, upewnij się, że jest oparte o aktualną wersję protokołu. Poniższe informacje mogą być przydatne.

JAVA

Java 1.5 i wersje niższe nie wspierają TLS 1.2. Dla Javy 1.6, TLS 1.2 nie jest wspierany w publicznych aktualizacjach. Protokół ten jest wspierany w business editions od Oracle java version 6u115 b32.

W Java 1.7, TLS 1.2 jest wspierany, ale musi być jawnie włączony poprzez wybór protokołu w czasie tworzenia instancji SSLSocket & SSLEngine.

Więcej szczegółów: https://blogs.oracle.com/java-platform-group/jdk-8-will-use-tls-12-as-default

cURL

Curl wspiera TLS 1.2 od wersji 7.34.0. Poniższe polecenie testuje wersję szyfrowania połączenia.

Uwaga: test można wykonać dla dowolnego adresu - zob. zestawienie adresów REST API i Classic API.

curl --tlsv1.2 https://secure.payu.com/api/v2_1/orders
Jeśli połączenie działa, pojawi się komunikat "Unauthorized".

cURL+PHP

                    php -r '$ch = curl_init(); 
                    curl_setopt($ch, CURLOPT_URL, "https://secure.payu.com/api/v2_1/orders"); 
                    curl_setopt ($ch, CURLOPT_SSLVERSION, 6); 
                    var_dump(curl_exec($ch)); 
                    var_dump(curl_error($ch));'               
Jeśli połączenie działa, pojawi się komunikat "Unauthorized". TLS 1.1 i TLS 1.2 są wspierane od wersji OpenSSL 1.0.1. Wymuszanie TLS 1.1 i 1.2 jest wspierane dopiero od curl 7.34.0.

9 Terminologia

PayU Licencjonowany dostawca usług płatniczych (tzw. PSP) oraz acquirer (członek organizacji Visa i MasterCard). Dla celów tej dokumentacji PayU oznacza także aplikację do rozliczania płatności.
Merchant Merchant (lub akceptant płatności) to podmiot, który zawarł umowę z PayU i został zarejestrowany w PayU. Na poziomie aplikacji PayU, "merchant" to zestaw encji: Firma/Sklep/POS (zob. wpisy poniżej).
Panel Panel Menadżera lub Panel Administracyjny to interfejs użytkownika aplikacji PayU udostępniany merchantom. Odnośnik do panelu jest wysyłany do użytkowników w trakcie rejestracji merchanta w PayU. Opis panelu można pobrać tutaj.
Firma Podmiot korzystający z mechanizmów PayU w celu odbioru środków pieniężnych od klienta. Cechami Firmy są nazwa, adres, numer identyfikacji podatkowej itp.
Sklep Sklep internetowy odbierający płatności; jedna firma może posiadać kilka sklepów.
POS / punkt płatności Punkt usługowy realizujący odbieranie płatności. Dla danego punktu usługowego definiowane są wszystkie parametry usługi. Jeden Sklep może posiadać kilka punktów usługowych.
Klient / Płacący / Kupujący Osoba dokonująca płatności, klient sklepu internetowego.