Dane formy przesyłaj za pomocą metody GET lub POST, po adresem https://www.paysera.com/pay/

Zawsze są przesyłane 2 pola: data i sign.

Utworzenie pól z parametrów

  1. Wszystkie parametry są połączane w wiersz o kodowaniu URL. Na przykład:
    array('param1' => 'abc', 'param2' => 'Some string with symbols %=&')
    'param1=abc&param2=Some+string+with+symbols+%25%3D%26'
    
    W języku PHP te działania wykonuje funkcja http_build_query.
  2. Otrzymany wiersz jesz kodowany za pomocą kodowania base64. Na przykład:
    'param1=abc&param2=Some+string+with+symbols+%25%3D%26'
    'cGFyYW0xPWFiYyZwYXJhbTI9U29tZStzdHJpbmcrd2l0aCtzeW1ib2xzKyUyNSUzRCUyNg=='
    
    W języku PHP te działania wykonuje funkcja base64_encode.
  3. W otrzymanym zakodowanym wierszu symbole "/" są zamieniane na symbole "_", "+" na "-". Otrzymujemy kodowanie base64, które można bezpiecznie przekazać poprzez URL bez dodatkowego przetwarzania. Na przykład:
    'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk+EZjl/'
    'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk-EZjl_'
    
    W języku PHP te działania wykonuje funkcja str_replace lub strtr.
  4. Otrzymany ostateczny wiersz jest podpisywany - generowany jest parametr sign. Algorytm generacji parametru sign:
    sign = md5(data + password)
    Tutaj md5 - funkcja kryptograficzna, data - zakodowane parametry, password - hasło projektu.

Możliwe parametry

Parametr Długość Obowiązkowy Opis
projectid 11 Tak Unikalny numer projektu. Tylko potwierdzone projekty mogą przyjmować płatności.
orderid 40 Tak Numer zamówienia z Twojego systemu.
accepturl 255 Tak Pełny adres internetowy (URL), na który zostaje przekierowany klient po kliknięciu linku powrotu do sklepu.
cancelurl 255 Tak Pełny adres internetowy (URL), na który klient jest przekierowywany po odwołaniu płatności lub w razie nieudanej płatności.
callbackurl 255 Tak Pełny adres (URL), na który sprzedawca otrzymuje informację o wykonanej płatności.

Skrypt powinien wrócić tekst "OK". Tylko wówczas nasz system zanotuje, że pomyślnie powiadomiliśmy Twój system o płatności.

Jeżeli nie otrzymujemy odpowiedzi "OK", wiadomość wysyłamy 4 razy (od razu, za godzinę, za trzy godziny i za dzień).
version 9 Tak Numer wersji specyfikacji (API) systemu płatniczego Paysera.
lang 3 Nie Można podać język użytkownika (ISO 639-2/B: LIT, RUS, ENG, itp.). Jeżeli system Paysera nie obsługuje wybranego języka, język będzie wybrany według adresu IP lub język angielski będzie używany domyślnie.
amount 11 Nie Kwota w centach, którą klient musi zapłacić.
currency 3 Nie Waluta płatności (np. USD, EUR, itp.), w której chcesz otrzymać płatność od klienta. Jeżeli podana waluta poprzez wybrany sposób płatności nie może być przyjęta, system automatycznie ją wymieni na obsługiwaną walutę według kursu dnia. W odpowiedzi na Twoją stronę będą przekazane payamount i paycurrency.
payment 20 Nie Sposób zapłaty. Jeżeli podany, płatność będzie wykonywana poprzez ten sposób zapłaty. Jeżeli niewskazany, użytkownikowi będzie podana tabela z listą sposobów zapłaty. Sposoby zapłaty można otrzymać i w czasie rzeczywistym, za pomocą biblioteki WebToPay
country 2 Nie Państwo płatnika (LT, EE, LV, GB, PL, DE). Jeżeli państwo jest wpisane, dla płatnika są podawane tylko te sposoby zapłaty, które są obsługiwane w danym państwie. Jeżeli państwo nie jest wpisane, system określa państwo według adresu IP użytkownika. Płatnikowi pozostawiana jest możliwość zmiany państwa.
paytext 255* Nie Tytuł płatności, który wyświetla się wykonując przelew. Jeżeli nie jest podany, wyświetla się domyślny tekst o treści:
Płatność za towary i usługi (Nr [order_nr]) ([site_name]).

Jeżeli podajesz tytuł płatności, obowiązkowo musisz włączyć następujące zmienne, które w ostatecznym tekście tytułu będą zamienione na odpowiednie wartości:

  • [order_nr] - numer zamówienia.
  • [site_name] lub [owner_name] - adres strony internetowej lub nazwa przedsiębiorstwa.

Jeżeli dane kryteria nie będą podane, będzie wyświetlać się domyślny tekst tytułu płatności.

Przykład tytułu płatności:

Płatność za towar według zamówienia [order_nr] na stronie internetowej [site_name].
p_firstname 255 Nie Imię kupującego. Preferowane w większości sposobów zapłaty. Obowiązkowe wykonując płatność niektórymi sposobami zapłaty.
p_lastname 255 Nie Nazwisko kupującego. Preferowane w większości sposobów zapłaty. Obowiązkowe wykonując płatność niektórymi sposobami zapłaty.
p_email 255 Nie E-mail kupującego jest obowiązkowy. Jeżeli adres nie będzie otrzymany, system poprosi klienta go wpisać. Na dany adres system Paysera powiadomi płatnika o statusie zapłaty.
p_street 255 Nie Adres kupującego, na który będzie wysyłany towar (np.: Ul. Mėnulio 7 - 7). Preferowany. Obowiązkowy wykonując płatność niektórymi sposobami zapłaty.
p_city 255 Nie Miasto kupującego, do którego jest wysyłany towar (np.: Wilno). Preferowane. Obowiązkowe wykonując płatność niektórymi sposobami zapłaty.
p_state 20 Nie Kod stanu kupującego (obowiązkowy tylko kupując w USA). Preferowany. Obowiązkowy wykonując płatność niektórymi sposobami zapłaty.
p_zip 20 Nie Kod pocztowy kupującego. Kody pocztowe Polski można znaleźć tutaj. Preferowany. Obowiązkowy wykonując płatność niektórymi sposobami zapłaty.
p_countrycode 2 Nie Kod państwa kupującego. Kody państw można znaleźć tutaj. Preferowany. Obowiązkowy wykonując płatność niektórymi sposobami zapłaty.
only_payments 0 Nie Wyświetlać tylko listę sposobów zapłaty, oddzielnych przecinkiem.
disallow_payments 0 Nie Nie wyświetlać listy sposobów zapłaty, oddzielonych przecinkiem.
test 1 Nie Parametr, który pozwala na testowanie połączenia. W taki sposób płatność nie jest wykonywana, a rezultat jest wracany od razu, jak gdyby płatność była wykonana. Aby można było testować, obowiązkowo należy aktywować tryb testowy przy wybranym projekcie, po zalogowaniu do systemu: "Zarządzanie projektami" -> "Usługa pobierania płatności" (przy wybranym projekcie) -> "Pozwól na płatności testowe" (zaznacz).
time_limit 19 Nie Parametr, który wskazuje do kiedy można zapłacić za zamówienie zapytania. Data jest podawana w formacie "yyyy-mm-dd HH:MM:SS". Minimalna wartość 15 minut od momentu zapytania, maksymalna - 3 dni. Uwaga: działa tylko z niektórymi sposobami zapłaty.
personcode 255 Nie Z danego parametru można korzystać do identyfikacji użytkownika. Jeżeli przekażesz PESEL użytkownika razem z callback, Paysera zwróci parametr personcodestatus, który wskaże czy PEEL użytkownika zgadza się z podanym.
developerid 11 Nie Jeżeli w naszym systemie jesteś oznaczony jako deweloper, w projekcie (projektach), które instalujesz, musisz przekazywać dany parametr. Znaczenie parametru – Twój numer użytkownika.
buyer_consent 1 Nie

Można ustawić na 0 lub 1. Jeśli jest ustawiony na 1, płatnik może pominąć dodatkowy krok, w którym musi zaakceptować zgodę za pomocą płatności PIS.. Jeśli ten parametr jest używany, do strony należy dodać dodatkowy tekst:

Informujemy, że usługi informacji o rachunku oraz inicjowania płatności zostaną wyświadczone przez Paysera zgodnie z warunki świadczenia tych usług. Kontynuując płatność potwierdzasz, że akceptujesz świadczenie tych usług oraz warunki ich świadczenia.

* Długość ostateczna może się różnić w zależności od specyfikacji typu płatności

Więcej informacji na temat 'callback' patrz rozdział - Callback .