API PANELU ADMINISTRACYJNEGO SPRZEDAWCY

Podobne dokumenty
API PANELU ADMINISTRACYJNEGO SPRZEDAWCY

PAŁACE I PARKI WebAPI

Specyfikacja techniczna. mprofi Interfejs API

Dokumentacja techniczna SMS MO

SSL Reseller. Dokumentacja techniczna v.1.0 z dnia

Dokumentacja API statystyk

API System Partnerski

PANEL ADMINISTRACYJNY SPRZEDAWCY SZYBKI START

INSTRUKCJA OBSŁUGI PANELU ADMINISTRACYJNEGO MÓJ DOTPAY v0.1

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

PayPo API v.2.0. Dokument zawiera specyfkaccę techniczną REST API PayPo.pl w wersci 2.0. Wersja dokumentu. Wykaz zmian

Dokumentacja API serwisu KurierSerwis.com

SMS Kod Automatyczny

API przekazy masowe - Dokumentacja. v 1.1, czerwiec 2014 KIP S.A. ul. Św. Marcin 73/ Poznań.

INSTRUKCJA TECHNICZNA IMPLEMENTACJI PŁATNOŚCI

Specyfikacja Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

API transakcyjne BitMarket.pl

Przelewy24 Wirtualny Koszyk

Automater.pl zdalne tworzenie i zarządzanie transakcjami dokumentacja API wersja 0.1

[1.9.0] Zlecenia odbioru

Warszawa Specyfikacja techniczna. mprofi Interfejs API wersja 1.0.7

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7.

Dokumentacja API serwisu epaka.pl

Baza numerów Wersja 1.1

Dokumentacja Api do aplikacji skanujfakture.pl

Dokumentacja API serwisu korporacjakurierska.pl

NeoClick Merchant API

Dokumentacja techniczna API systemu SimPay.pl

Dokumentacja API serwisu korporacjakurierska.pl

LiveSpace API. Aktualizacja: 16 stycznia 2015 Wersja: 0.6. LiveSpace CRM tel: ,

Terytorialna analiza danych

Dokumentacja Techniczna SMS MO

INSTRUKCJA TECHNICZNA IMPLEMENTACJI PŁATNOŚCI

Dokumentacja techniczna integracji z systemem transakcyjnym imoje

Specyfikacja HTTP API. Wersja 1.6

API transakcji - Dokumentacja. v 2. 2, marzec 2017 KIP S.A. ul. Św. Marcin 73/ Poznań.

Gatesms.eu Mobilne Rozwiązania dla biznesu

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Przelewy24 Wirtualny Koszyk

Podręcznik Integracji

Dokumentacja API BizIn

Integracja frameworku Wicket z serwisem Platnosci.pl.

Dokumentacja techniczna 2.3. Płatności CashBill. Dokumentacja wdrożenia systemu Płatności CashBill

Specyfikacja API Paczka w Ruchu v

Pierwsze kroki Statusy transakcji Zwrot płatności przelewem lub kartą Odbiór wpłat Czas realizacji płatności...

Funkcje dodatkowe. Wersja 1.2.1

Dokumentacja API BizIn

LiveSpace API. Aktualizacja: 27 lutego 2015 Wersja: 0.7. LiveSpace CRM tel: ,

HermesREST. Specyfikacja Wejścia/Wyjścia wersja 2. Syriusz Sp. z o.o. Legionów Rzeszów tel

OPIS TECHNICZNY SYSTEM HOSTED SMS

Geis Point SOAP WebService Interface

REST API. Wprowadzenie. Kampanie. Kampania zwykła. Kampania zasilana z CRM CC CRM. Kolejki. Thulium REST API. Autentykacja.

Dokumentacja REST API v 3.0

Dokumentacja REST API v 3.0. Kraków, 7 marca FreshMail, ul. Fabryczna 20a, Kraków tel , freshmail.

DOKUMENTACJA TECHNICZNA USŁUGI API ver. 1.27

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

DOKUMENTACJA TECHNICZNA SMS API MT

Technologie internetowe

Dokumentacja API serwisu KurierSerwis.com

LiveSpace API. Aktualizacja: 22 maja 2015 Wersja: 0.8. LiveSpace CRM tel: ,

API JSA Integracja JSA z systemami uczelnianymi

Funkcje dodatkowe. Wersja 1.2.1

Dokumentacja techniczna 2.0. Płatności CashBill. Dokumentacja wdrożenia systemu Płatności CashBill

Ogólnopolskie Repozytorium Prac Dyplomowych

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Specyfikacja Techniczna 2.0. Specyfikacja techniczna usługi dystrybucji kodów dostępowych PayCode

Bezpieczne Zakupy. - specyfikacja techniczna implementacji uproszczonej

Dokumentacja techniczna 2.1. Płatności CashBill. Dokumentacja wdrożenia systemu Płatności CashBill

OPIS FORMATÓW PLIKÓW EKSPORTU HISTORII OPERACJI WYKORZYSTYWANYCH W BANKOWOŚCI ELEKTRONICZNEJ IDEA BANK S.A.

Dokumentacja API serwisu epaka.pl

Paczkomaty API XML D-ST D - Informacja publiczna DOCUMENT ID:

WayBillsWebService. identyfikator kontrahenta, jeśli wartość zwracana jest mniejsza od zera to numer błędu.

Dokumentacja techniczna SMS MO

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Płatności CashBill - SOAP

Dokumentacja interfejsu Webservices API. Wersja 2.0 [12 stycznia 2014]

Dokumentacja API serwisu korporacjakurierska.pl

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

Implementacja mechanizmu SkyCashClick Wersja 0.1

Dokumentacja API Stacja z Paczką ver. 2.14

Specyfikacja wysyłek marketingowych v1.10

Specyfikacja API bramki SMS/MMS/TTS

Ministerstwo Finansów

apaczka Webservice API

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

TradeWatch API v

Dokumentacja API. wersja 1.1

Aktualizacja SMSFall v Data publikacji:

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Dostęp do rachunków płatniczych klientów Blue Media

DPDInfoServices. Specyfikacja biznesowa. Version DPD Polska Sp. z O.O. Warszawa

Bramka płatnicza. Dokumentacja techniczna. wersja 1.0

Spis treści. Strona: 1/26

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Dokumentacja techniczna - PBL

INFAKT API - opis (ver. 0.8)

Wdrożenie modułu płatności eservice dla systemu QuickCart 6.0

Dokumentacja smsapi wersja 1.4

Transkrypt:

Dział Pomocy Technicznej Dotpay ul. Wielicka 72, 30-552 Kraków tel. +48 12 688 26 00 faks +48 12 688 26 49 e-mail: tech@dotpay.pl API PANELU ADMINISTRACYJNEGO SPRZEDAWCY Wersja 1.31.11.1

SPIS TREŚCI Strona 2 / 61 WSTĘP... 3 I. CHARAKTERYSTYKA I ADRES INTERFEJSU... 4 II. UWIERZYTELNIANIE I AUTORYZACJA... 5 III. FORMAT DANYCH WEJŚCIA / WYJŚCIA... 6 IV. PAGINACJA... 8 V. ZASOBY... 10 V. 1. ACCOUNTS/ LISTA SKLEPÓW ID UŻYTKOWNIKA... 10 accounts/int: account_id/ szczegóły sklepu ID... 13 accounts/int: account_id/channels/ lista kanałów płatności sklepu ID... 15 accounts/int: account_id/payment_links/ utworzenie linku płatniczego... 18 accounts/int: account_id/payment_links/string: token/ usunięcie linku płatniczego... 24 accounts/int: account_id/payment_links/ lista linków płatniczych... 26 accounts/int: account_id/payment_links/string: token/ szczegóły linku płatniczego... 31 accounts/int: account_id/payout/ wypłata środków z salda sklepu ID... 34 V. 2. OPERATIONS/ LISTA OPERACJI... 37 operations/string: operation_number/ szczegóły pojedynczej operacji... 42 operations/string: operation_number/operations/ lista operacji zawartych w operacji payout... 45 V. 3. PAYMENTS/ LISTA OPERACJI PŁATNOŚCI... 48 payments/string: operation_number/ szczegóły pojedynczej operacji płatności... 49 payments/string: operation_number/mark_as_complete/ oznaczenie flagą complete... 50 payments/string: operation_number/mark_as_complete/ usunięcie flagi complete... 52 payments/string: operation_number/refund/ zwrot operacji płatności... 54 V. 4. V1/REPORTS/ LISTA RAPORTÓW... 56 TABELA ROUTINGU... 59 DZIENNIK ZMIAN... 61

WSTĘP Niniejszy dokument opisuje interfejs systemu płatności oferowanego przez serwis dotpay i przeznaczony jest zarówno dla podmiotów zainteresowanych ofertą serwisu, jak i osób zajmujących się wdrożeniem systemu. Strona 3 /61

I. CHARAKTERYSTYKA I ADRES INTERFEJSU Strona 4 / 61 API panelu administracyjnego Sprzedawcy został wykonany w stylu architektury REST. Adresy pod którymi dostępny jest interfejs to: środowisko produkcyjne: https://ssl.dotpay.pl/s2/login/api/ środowisko testowe: https://ssl.dotpay.pl/test_seller/api/

II. UWIERZYTELNIANIE I AUTORYZACJA Uwierzytelnianie do API następuje poprzez podanie metodą HTTP Basic authentication loginu i hasła użytkownika analogicznych dla danych logowania do GUI panelu administracyjnego Sprzedawcy. Strona 5 /61 Po wywołaniu danego zasobu API zostanie zwrócona odpowiedź z odpowiednim kodem odpowiedzi HTTP. Przykładowo dla zasobu: https://ssl.dotpay.pl/test_seller/api/accounts/ po wykonaniu żądania z błędnym loginem / hasłem: nagłówki żądania: GET /test_seller/api/accounts/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic ZGFzZGFzOmRhc2RzYQ== zostanie zwrócona nagłówki odpowiedzi: HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic realm="api" Vary: Accept Allow: GET, HEAD, OPTIONS "detail": "Invalid username/password" Jeśli zaistnieje taka potrzeba, to jak w powyższym przykładzie zostanie zwrócona własność detail z tekstowym opisem błędu. Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok 401 Unauthorized nie udało się uwierzytelnić 403 Forbidden brak uprawnień

III. FORMAT DANYCH WEJŚCIA / WYJŚCIA Strona 6 / 61 API ma możliwość komunikacji w formacie json domyślnie lub xml. Wybór formatowania odbywa się za pomocą przesłania nagłówków Accept oraz Content-Type lub dodatkowego parametru format przekazanego metodą GET, którego wartością jest nazwa danego formatu json lub xml. Przykładowo dla żądania zasobu: z nagłówkami: https://ssl.dotpay.pl/test_seller/api/accounts/ GET /test_seller/api/accounts/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json zostanie zwrócona "count": 1, "next": null, "previous": null, "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/", "id": "443005", "status": "active", "name": "Hoan Kiem Megastore", "mcc_code": "7273", "main_url": "http://www.example.com/", "config": "urlc": "http://www.example.com/confirmation/", "block_external_urlc": false, "pin": "emhbaulyaqknforbrl2ewk0hhz5c7rkx" ] dla nagłówków: GET /test_seller/api/accounts/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/xml Content-Type: application/xml zostanie zwrócona <root> <count>1</count> <next><next/> <previous><previous/> <results> <list-item> <href>https://ssl.dotpay.pl/test_seller/api/accounts/443005/</href> <id>443005</id> <status>active</status> <name>hoan Kiem Megastore</name> <mcc_code>7273</mcc_code> <main_url>http://www.example.com/</main_url>

<config> <urlc>http://www.example.com/confirmation/</urlc> <block_external_urlc>false</block_external_urlc> <pin>emhbaulyaqknforbrl2ewk0hhz5c7rkx</pin> </config> </list-item> </results> </root> Strona 7 /61 W przypadku wywołania zasobów z parametrem format jak w poniższych przykładach, API zwróci odpowiedź analogiczną do powyższych. https://ssl.dotpay.pl/test_seller/api/accounts/?format=json https://ssl.dotpay.pl/test_seller/api/accounts/?format=xml

IV. PAGINACJA Strona 8 / 61 Dla żądań wymagających zwrócenia większej ilości danych odpowiedź API jest paginowana domyślnie dla jednej strony wyświetlane jest maksymalnie 100 elementów. Odpowiedź zawiera własności next oraz previous, w których znajduje się adres kolejnej / poprzedniej strony odpowiedzi, natomiast we własności count znajduje się ilość obiektów zwróconych w całej odpowiedzi. Znaczenie parametrów możliwych do przesyłania w żądaniu w celu filtrowania odpowiedzi: WŁASNOŚĆ TYP ZNACZENIE / OPIS page int numer strony page_size int Ilość elementów wyświetlana na jednej stronie minimalna wartość: 1 maksymalna wartość: 100 Przykładowo dla zasobu: https://ssl.dotpay.pl/test_seller/api/operations/?page=2 zostanie zwrócona odpowiedź jak poniższy fragment: "count": 538, "next": "https://ssl.dotpay.pl/test_seller/api/operations/?page=3", "previous": "https://ssl.dotpay.pl/test_seller/api/operations/", "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1226-8222/", "number": "M1226-8222", "creation_datetime": "2015-04-29T10:28:25.187213", "type": "payment", "status": "new", "amount": "41.00", "currency": "PLN", "original_amount": "10.23", "original_currency": "EUR", "account_id": "443005", "related_operation": null, "description": "Zamowienie 839574", "control": "Bdt1Gc2Q2iRQ1EeW", "payer": "first_name": "Jan", "last_name": "Kowalski", "email": "jan.kowalski@example.com", "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1512-0298/", "number": "M1512-0298", "creation_datetime": "2015-04-28T10:59:33.753832", "type": "payment",

"status": "completed", "amount": "1.00", "currency": "PLN", "original_amount": "1.00", "original_currency": "PLN", "account_id": "443005", "related_operation": null, "description": "Order 1265", "control": "ahh39mgmywm3wm4azzo18ja0y2fknzfz", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", Strona 9 /61

V. ZASOBY Strona 10 / 61 V. 1. accounts/ lista sklepów ID użytkownika Zasób zwraca listę wszystkich sklepów, do których zalogowany użytkownik posiada uprawnienia. przykładowe żądanie: nagłówki żądania: GET /test_seller/api/accounts/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS "count": 2, "next": null, "previous": null, "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/accounts/470707/", "id": "470707", "status": "active", "name": "HK Test 2", "mcc_code": "3709", "main_url": null, "config": "urlc": "http://www.example.com/urlc_confirmation/", "block_external_urlc": true, "pin": "74fr6JxOy5jxJ2Qz", "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/", "id": "443005", "status": "active", "name": "Hoan Kiem Megastore", "mcc_code": "7273", "main_url": "http://www.example.com/", "config": "urlc": "http://www.example.com/confirmation/", "block_external_urlc": false, "pin": "emhbaulyaqknforbrl2ewk0hhz5c7rkx" ]

Znaczenie własności zwracanych w tablicy results: WŁASNOŚĆ TYP ZNACZENIE / OPIS href string adres API, pod którym znajduje się odpowiedź dla danego sklepu ID Strona 11 /61 id int numer sklepu ID status string status sklepu ID name string nazwa sklepu ID mcc_code string kod kategorii sprzedaży MCC main_url string adres sprzedażowy sklepu ID config.urlc string adres powiadomień urlc config.block_external_urlc bool blokuj zewnętrzne urlc config.pin string PIN Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?>

Strona 12 / 61 HTTP status code: 200 ------------------------- stdclass Object [count] => 2 [next] => [previous] => [results] => Array [0] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/470707/ [id] => 470707 [status] => active [name] => HK Test 2 [mcc_code] => 3709 [main_url] => [config] => stdclass Object [urlc] => http://www.example.com/urlc_confirmation/ [block_external_urlc] => 1 [pin] => 74fr6JxOy5jxJ2Qz [1] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ [id] => 443005 [status] => active [name] => Hoan Kiem Megastore [mcc_code] => 7273 [main_url] => http://www.example.com/ [config] => stdclass Object [urlc] => http://www.example.com/confirmation/ [block_external_urlc] => [pin] => emhbaulyaqknforbrl2ewk0hhz5c7rkx

accounts/int: account_id/ szczegóły sklepu ID Zasób zwraca szczegóły danego sklepu ID do którego zalogowany użytkownik posiada uprawnienia. przykładowe żądanie: Strona 13 /61 nagłówki żądania: GET /test_seller/api/accounts/443005/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/", "id": "443005", "status": "active", "name": "Hoan Kiem Megastore", "mcc_code": "7273", "main_url": "http://www.example.com/", "config": "urlc": "http://www.example.com/confirmation/", "block_external_urlc": false, "pin": "emhbaulyaqknforbrl2ewk0hhz5c7rkx" Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok 404 Not Found nie znaleziono sklepu Własności zwrócone w odpowiedzi zostały opisane w rozdziale accounts lista sklepów ID użytkownika powyżej.

Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. Strona 14 / 61 żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/443005/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> HTTP status code: 200 ------------------------- stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ [id] => 443005 [status] => active [name] => Hoan Kiem Megastore [mcc_code] => 7273 [main_url] => http://www.example.com/ [config] => stdclass Object [urlc] => http://www.example.com/confirmation/ [block_external_urlc] => [pin] => uevbmsza6esmhi9v74fr6jxoy5jxj2qz

accounts/int: account_id/channels/ lista kanałów płatności sklepu ID Zasób zwraca listę dostępnych kanałów płatności dla danego sklepu ID. przykładowe żądanie: Strona 15 /61 nagłówki żądania: GET /test_seller/api/accounts/443005/channels/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS fragment odpowiedzi: [ "id": 0, "name": "Credit cards", "logo": "https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/51651fe3dadfce4f1697d53b/", "group": "credit_cards", "is_blocked_by_seller": false, "is_disabled": false, "is_offline": false, "id": 77, "name": "FerBuy", "logo": "https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/5582b7e8eb0a1945e1bafcb2/", "group": "fast_transfers", "is_blocked_by_seller": false, "is_disabled": false, "is_offline": false, "id": 21, "name": "VIA - Moje Rachunki", "logo": "https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/5304f103eb0a197367152088/", "group": "cash", "is_blocked_by_seller": false, "is_disabled": false, "is_offline": false,

Znaczenie zwracanych kodów odpowiedzi HTTP: Strona 16 / 61 HTTP status code 200 OK ok OPIS 404 Not Found nie znaleziono sklepu Znaczenie własności zwracanych w odpowiedzi: WŁASNOŚĆ TYP ZNACZENIE / OPIS id int numer kanału płatności name string nazwa kanału płatności logo string adres url, pod którym znajduje się logotyp kanału płatności group string grupa do jakiej należy kanał płatności is_blocked_by_seller bool blokada kanału przez Sprzedawcę is_disabled bool kanał wyłączony is_offline bool kanał w trybie offline, tj. nie jest w stanie zaksięgować płatności w czasie rzeczywistym Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/443005/channels/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL;

print_rjson_decode$response; echo '</pre>';?> Strona 17 /61 fragment odpowiedzi: HTTP status code: 200 ------------------------- Array [0] => stdclass Object [id] => 0 [name] => Credit cards [logo] => https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/51651fe3dadfce4f1697d53b/ [group] => credit_cards [is_blocked_by_seller] => [is_disabled] => [is_offline] => [1] => stdclass Object [id] => 77 [name] => FerBuy [logo] => https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/5582b7e8eb0a1945e1bafcb2/ [group] => fast_transfers [is_blocked_by_seller] => [is_disabled] => [is_offline] => [2] => stdclass Object [id] => 21 [name] => VIA - Moje Rachunki [logo] => https://ssl.dotpay.pl/test_payment/cloudfs2/magellan_media/ payment_channel_logo/5304f103eb0a197367152088/ [group] => cash [is_blocked_by_seller] => [is_disabled] => [is_offline] =>

accounts/int: account_id/payment_links/ utworzenie linku płatniczego Strona 18 / 61 Zasób pozwala stworzyć link płatniczy dla danego sklepu ID. przykładowe żądanie: nagłówki żądania: POST /test_seller/api/accounts/443005/payment_links/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== żądanie: "amount": "99.11", "currency": "PLN", "description": "Payment for 586930 order", "control": "202cb962ac59075b964b07152d234b70", "language": "pl", "channel_id": 4, "ch_lock": "1", "onlinetransfer": "1", "redirection_type": "0", "url": "http://www.example.com/thanks_page.php", "urlc": "http://www.example.com/confirmation/", "expiration_datetime": "2015-12-01T16:48:00", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", "phone": "+48123456789", "address": "street": "Wielicka", "building_number": 72, "postcode": "30-552", "city": "Krakow", "region": "Malopolska", "country": "POL", "recipient": "account_number": "PL92942215610877228680536980", "company": "PJ Shop", "first_name": "Patrick", "last_name": "Jones", "address": "street": "Marszalkowska", "building_number": 100, "postcode": "00-576", "city": "Warszawa" nagłówki odpowiedzi: HTTP/1.1 201 Created Vary: Accept

Allow: GET, POST, HEAD, OPTIONS Location: https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/5e60d3r728trixvagqj7bds19r0irm31/ Strona 19 /61 "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/5e60d3r728trixvagqj7bds19r0irm31/", "payment_url": "https://ssl.dotpay.pl/test_payment/?pid=5e60d3r728trixvagqj7bds19r0irm31", "token": "5e60d3r728trixvagqj7bds19r0irm31", "amount": "99.11", "currency": "PLN", "description": "Payment for 586930 order", "control": "202cb962ac59075b964b07152d234b70", "language": "pl", "channel_id": 4, "ch_lock": true, "onlinetransfer": true, "redirection_type": 0, "url": "http://www.example.com/thanks_page.php", "urlc": "http://www.example.com/confirmation/", "expiration_datetime": "2015-12-01T16:48:00", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", "phone": "+48123456789", "address": "street": "Wielicka", "building_number": "72", "flat_number": null, "postcode": "30-552", "city": "Krakow", "region": "Malopolska", "country": "POL", "recipient": "account_number": "PL92 9422 1561 0877 2286 8053 6980", "company": "PJ Shop", "first_name": "Patrick", "last_name": "Jones", "address": "street": "Marszalkowska", "building_number": "100", "flat_number": null, "postcode": "00-576", "city": "Warszawa" Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 201 Created utworzono link 404 Not Found nie znaleziono sklepu

Znaczenie własności przesyłanych w żądaniu z wyjątkiem href, payment_url, token oraz zwracanych w odpowiedzi: Strona 20 / 61 WŁASNOŚĆ TYP ZNACZENIE / OPIS href string adres API, pod którym znajdują się szczegóły utworzonego linku payment_url string wygenerowany link płatniczy token string token identyfikujący płatność amount decimal kwota currency string waluta format: ISO 4217 description string opis płatności control string Parametr pozwalający na przechowanie ciągu np. numeru zamówienia ze sklepu Sprzedawcy o długości do 1000 znaków. Parametr w formie niezmienionej jest odsyłany do serwisu Sprzedawcy w powiadomieniu URLC language string język format: ISO 639-1 channel_id string numer kanału płatności ch_lock string zablokowanie określonego kanału płatności onlinetransfer string sposób wyświetlenia kanałów offline na stronie płatności UWAGA: parametr tymczasowo niedostępny redirection_type string metoda odwołania do serwisu Sprzedawcy po dokonanej płatności url string adres na który jest realizowany powrót do Sprzedawcy urlc string adres na który zostanie przesłana notyfikacja URLC expiration_datetime string data ważności linku format: YYYY-MM-DDTHH:MM:SS payer.first_name string imię osoby płacącej

payer.last_name string nazwisko osoby płacącej payer.email string email osoby płacącej Strona 21 /61 payer.phone string telefon osoby płacącej payer.address.street string ulica payer.address.building_number string numer budynku payer.address.flat_number string numer mieszkania payer.address.postcode string kod pocztowy payer.address.city string miasto payer.address.region string region payer.address.country string państwo format: ISO 3166-1 alfa-3 recipient.account_number string numer rachunku odbiorcy płatności format: IBAN recipient.company string nazwa firmy odbiorcy płatności recipient.first_name string imię odbiorcy płatności recipient.last_name string nazwisko odbiorcy płatności recipient.address.street string ulica recipient.address.building_number string numer budynku recipient.address.flat_number string numer mieszkania recipient.address.postcode string kod pocztowy recipient.address.city string miasto Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $fields = array 'amount' => '99.11', 'currency' => 'PLN', 'description' => 'Payment for 586930 order', 'control' => '202cb962ac59075b964b07152d234b70',

Strona 22 / 61 'language' => 'pl', 'channel_id' => 4, 'ch_lock' => "1", 'onlinetransfer' => "1", 'redirection_type' => "0", 'url' => 'http://www.example.com/thanks_page.php', 'urlc' => 'http://www.example.com/confirmation/', 'expiration_datetime' => '2015-12-01T16:48:00', 'payer' => array 'first_name' => 'John', 'last_name' => 'Smith', 'email' => 'john.smith@example.com', 'phone' => '+48123456789', 'address' => array 'street' => 'Wielicka', 'building_number' => 72, 'postcode' => '30-552', 'city' => 'Krakow', 'region' => 'Malopolska', 'country' => 'POL', 'recipient' => array 'account_number' => 'PL92942215610877228680536980', 'company' => 'PJ Shop', 'first_name' => 'Patrick', 'last_name' => 'Jones', 'address' => array 'street' => 'Marszalkowska', 'building_number' => 100, 'postcode' => '00-576', 'city' => 'Warszawa', ; $data=json_encode$fields; $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/api/ accounts/443005/payment_links/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; curl_setopt $ch, CURLOPT_POST, 1; curl_setopt $ch, CURLOPT_POSTFIELDS, $data; curl_setopt $ch, CURLOPT_HTTPHEADER, array '', 'Content-Length: '.strlen$data; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?>

HTTP status code: 201 ------------------------- stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/5e60d3r728trixvagqj7bds19r0irm31/ [payment_url] => https://ssl.dotpay.pl/test_payment/?pid=5e60d3r728trixvagqj7bds19r0irm31 [token] => 5e60d3r728trixvagqj7bds19r0irm31 [amount] => 99.11 [currency] => PLN [description] => Payment for 586930 order [control] => 202cb962ac59075b964b07152d234b70 [language] => pl [channel_id] => 4 [ch_lock] => 1 [onlinetransfer] => 1 [redirection_type] => 0 [url] => http://www.example.com/thanks_page.php [urlc] => http://www.example.com/confirmation/ [expiration_datetime] => 2015-12-01T16:48:00 [payer] => stdclass Object [first_name] => John [last_name] => Smith [email] => john.smith@example.com [phone] => +48123456789 [address] => stdclass Object [street] => Wielicka [building_number] => 72 [flat_number] => [postcode] => 30-552 [city] => Krakow [region] => Malopolska [country] => POL [recipient] => stdclass Object [account_number] => PL92 9422 1561 0877 2286 8053 6980 [company] => PJ Shop [first_name] => Patrick [last_name] => Jones [address] => stdclass Object [street] => Marszalkowska [building_number] => 100 [flat_number] => [postcode] => 00-576 [city] => Warszawa Strona 23 /61

accounts/int: account_id/payment_links/string: token/ usunięcie linku płatniczego Strona 24 / 61 Zasób pozwala usunąć stworzony link płatniczy dla danego sklepu ID. przykładowe żądanie: nagłówki żądania: DELETE /test_seller/api/accounts/443005/payment_links/5e60d3r728trixvagqj7bds19r0irm31/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 204 No Content Vary: Accept Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 204 No Content usunięto link 404 Not Found nie znaleziono sklepu Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/443005/payment_links/5e60d3r728trixvagqj7bds19r0irm31/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; curl_setopt $ch, CURLOPT_CUSTOMREQUEST, "DELETE"; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch;

echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> Strona 25 /61 HTTP status code: 204 -------------------------

accounts/int: account_id/payment_links/ lista linków płatniczych Strona 26 / 61 Zasób zwraca listę linków płatniczych dla danego sklepu ID. przykładowe żądanie: nagłówki żądania: GET /test_seller/api/accounts/443005/payment_links/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, POST, HEAD, OPTIONS fragment odpowiedzi: "count": 116, "next": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/?page=2", "previous": null, "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/3drilk63fknyko778yziran6yx603xvo/", "payment_url": "https://ssl.dotpay.pl/test_payment/?pid=3drilk63fknyko778yziran6yx603xvo", "token": "3drilk63fknyko778yziran6yx603xvo", "amount": "99.11", "currency": "PLN", "description": "Payment for 586930 order", "control": "202cb962ac59075b964b07152d234b70", "language": "pl", "channel_id": 4, "ch_lock": true, "onlinetransfer": true, "redirection_type": 0, "url": "http://www.example.com/thanks_page.php", "urlc": "http://www.example.com/confirmation/", "expiration_datetime": "2015-12-01T16:48:00", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", "phone": "+48123456789", "address": "street": "Wielicka", "building_number": "72", "flat_number": null, "postcode": "30-552", "city": "Krakow", "region": "Malopolska", "country": "POL"

, "recipient": "account_number": "PL92 9422 1561 0877 2286 8053 6980", "company": "PJ Shop", "first_name": "Patrick", "last_name": "Jones", "address": "street": "Marszalkowska", "building_number": "100", "flat_number": null, "postcode": "00-576", "city": "Warszawa", "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/jov2viovv0tlz22wwy2svtunb2sm5x4o/", "payment_url": "https://ssl.dotpay.pl/test_payment/?pid=jov2viovv0tlz22wwy2svtunb2sm5x4o", "token": "jov2viovv0tlz22wwy2svtunb2sm5x4o", "amount": "99.11", "currency": "PLN", "description": "platnosc dla Jan Kowalski", "control": null, "language": "pl", "channel_id": null, "ch_lock": null, "onlinetransfer": null, "redirection_type": 0, "url": "http://www.example.com/", "urlc": null, "expiration_datetime": null, "payer": "first_name": "John", "last_name": "Smith", "email": "j.smith@example.com", "phone": null, "address": "street": "Warszawska", "building_number": "1", "flat_number": null, "postcode": "11-111", "city": "Krakow", "region": null, "country": "POL", "recipient": "account_number": "", "company": null, "first_name": null, "last_name": null, "address": "street": null, "building_number": null, "flat_number": null, "postcode": null, "city": null, Strona 27 /61

Znaczenie zwracanych kodów odpowiedzi HTTP: Strona 28 / 61 HTTP status code 200 OK ok OPIS 404 Not Found nie znaleziono sklepu Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/443005/payment_links/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> fragment odpowiedzi: HTTP status code: 200 ------------------------- stdclass Object [count] => 116 [next] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/?page=2 [previous] => [results] => Array [0] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/3drilk63fknyko778yziran6yx603xvo/ [payment_url] => https://ssl.dotpay.pl/test_payment/?pid=3drilk63fknyko778yziran6yx603xvo [token] => 3drilk63fknyko778yziran6yx603xvo

[amount] => 99.11 [currency] => PLN [description] => Payment for 586930 order [control] => 202cb962ac59075b964b07152d234b70 [language] => pl [channel_id] => 4 [ch_lock] => 1 [onlinetransfer] => 1 [redirection_type] => 0 [url] => http://www.example.com/thanks_page.php [urlc] => http://www.example.com/confirmation/ [expiration_datetime] => 2015-12-01T16:48:00 [payer] => stdclass Object [first_name] => John [last_name] => Smith [email] => john.smith@example.com [phone] => +48123456789 [address] => stdclass Object [street] => Wielicka [building_number] => 72 [flat_number] => [postcode] => 30-552 [city] => Krakow [region] => Malopolska [country] => POL [recipient] => stdclass Object [account_number] => PL92 9422 1561 0877 2286 8053 6980 [company] => PJ Shop [first_name] => Patrick [last_name] => Jones [address] => stdclass Object [street] => Marszalkowska [building_number] => 100 [flat_number] => [postcode] => 00-576 [city] => Warszawa [1] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/jov2viovv0tlz22wwy2svtunb2sm5x4o/ [payment_url] => https://ssl.dotpay.pl/test_payment/?pid=jov2viovv0tlz22wwy2svtunb2sm5x4o [token] => jov2viovv0tlz22wwy2svtunb2sm5x4o [amount] => 99.11 [currency] => PLN [description] => platnosc dla Jan Kowalski [control] => [language] => pl [channel_id] => [ch_lock] => [onlinetransfer] => [redirection_type] => 0 [url] => http://www.example.com/ [urlc] => [expiration_datetime] => [payer] => stdclass Object Strona 29 /61

Strona 30 / 61 [first_name] => John [last_name] => Smith [email] => j.smith@example.com [phone] => [address] => stdclass Object [street] => Warszawska [building_number] => 1 [flat_number] => [postcode] => 11-111 [city] => Krakow [region] => [country] => POL [recipient] => stdclass Object [account_number] => [company] => [first_name] => [last_name] => [address] => stdclass Object [street] => [building_number] => [flat_number] => [postcode] => [city] =>

accounts/int: account_id/payment_links/string: token/ szczegóły linku płatniczego Zasób zwraca szczegóły danego linku płatniczego. przykładowe żądanie: Strona 31 /61 nagłówki żądania: GET /test_seller/api/accounts/443005/payment_links/3drilk63fknyko778yziran6yx603xvo/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS "href": "https://ssl.dotpay.pl/test_seller/api/accounts/443005/ payment_links/3drilk63fknyko778yziran6yx603xvo/", "payment_url": "https://ssl.dotpay.pl/test_payment/?pid=3drilk63fknyko778yziran6yx603xvo", "token": "3drilk63fknyko778yziran6yx603xvo", "amount": "99.11", "currency": "PLN", "description": "Payment for 586930 order", "control": "202cb962ac59075b964b07152d234b70", "language": "pl", "channel_id": 4, "ch_lock": true, "onlinetransfer": true, "redirection_type": 0, "url": "http://www.example.com/thanks_page.php", "urlc": "http://www.example.com/confirmation/", "expiration_datetime": "2015-12-01T16:48:00", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", "phone": "+48123456789", "address": "street": "Wielicka", "building_number": "72", "flat_number": null, "postcode": "30-552", "city": "Krakow", "region": "Malopolska", "country": "POL", "recipient": "account_number": "PL92 9422 1561 0877 2286 8053 6980", "company": "PJ Shop",

Strona 32 / 61 "first_name": "Patrick", "last_name": "Jones", "address": "street": "Marszalkowska", "building_number": "100", "flat_number": null, "postcode": "00-576", "city": "Warszawa" Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok 404 Not Found nie znaleziono sklepu Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/accounts/443005/payment_links/3drilk63fknyko778yziran6yx603xvo/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> HTTP status code: 200 ------------------------- stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/accounts/443005/

payment_links/3drilk63fknyko778yziran6yx603xvo/ [payment_url] => https://ssl.dotpay.pl/test_payment/?pid=3drilk63fknyko778yziran6yx603xvo [token] => 3drilk63fknyko778yziran6yx603xvo [amount] => 99.11 [currency] => PLN [description] => Payment for 586930 order [control] => 202cb962ac59075b964b07152d234b70 [language] => pl [channel_id] => 4 [ch_lock] => 1 [onlinetransfer] => 1 [redirection_type] => 0 [url] => http://www.example.com/thanks_page.php [urlc] => http://www.example.com/confirmation/ [expiration_datetime] => 2015-12-01T16:48:00 [payer] => stdclass Object [first_name] => John [last_name] => Smith [email] => john.smith@example.com [phone] => +48123456789 [address] => stdclass Object [street] => Wielicka [building_number] => 72 [flat_number] => [postcode] => 30-552 [city] => Krakow [region] => Malopolska [country] => POL [recipient] => stdclass Object [account_number] => PL92 9422 1561 0877 2286 8053 6980 [company] => PJ Shop [first_name] => Patrick [last_name] => Jones [address] => stdclass Object [street] => Marszalkowska [building_number] => 100 [flat_number] => [postcode] => 00-576 [city] => Warszawa Strona 33 /61

accounts/int: account_id/payout/ wypłata środków z salda sklepu ID Strona 34 / 61 Zasób pozwala zlecić wypłatę środków z salda danego sklepu ID. Wykonanie żądania powoduje powstanie operacji typu payout_any_amount dla każdego obiektu tablicy transfers. Jeśli w żądaniu nie zostanie przesłany numer rachunku do wypłaty account_number, to dla powstałej operacji zostanie przypisany domyślny numer rachunku określony w konfiguracji sklepu, w panelu administracyjnym. przykładowe żądanie: nagłówki żądania: POST /test_seller/api/accounts/443005/payout/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== żądanie: "currency": "PLN", "transfers": [ "amount": "19.30", "control": "019e1921bfb1193965d1e", "description": "payout for JS", "recipient": "account_number": "PL32249000896640389235035459", "name": "John Smith", "amount": "56.20", "control": "3769978411", "description": "payout for PJ", "recipient": "account_number": "PL33109032070768017608228474", "name": "Patrick Jones" ] nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: POST, OPTIONS "detail": "ok"

Znaczenie zwracanych kodów odpowiedzi HTTP: Strona 35 /61 HTTP status code OPIS 200 OK ok 403 Forbidden brak uprawnień 404 Not Found nie znaleziono sklepu Znaczenie własności przesyłanych w żądaniu: WŁASNOŚĆ TYP ZNACZENIE / OPIS currency string waluta w jakiej dokonywane są wypłaty format: ISO 4217 transfers.amount decimal kwota wypłacanych środków transfers.control string identyfikator operacji transfers.description string opis wypłaty transfers.recipient.account_number string numer konta bankowego, na który zostaną wypłacone środki format: IBAN transfers.recipient.name string nazwa odbiorcy przelewu Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $fields = array 'currency' => 'PLN', 'transfers' => array array 'amount' => '19.30', 'control' => '019e1921bfb1193965d1e', 'description' => 'payout for JS', 'recipient' => array 'account_number' => 'PL32249000896640389235035459', 'name' => 'John Smith',,

Strona 36 / 61 ; array 'amount' => '56.20', 'control' => '3769978411', 'description' => 'payout for PJ', 'recipient' => array 'account_number' => 'PL33109032070768017608228474', 'name' => 'Patrick Jones', $data=json_encode$fields; $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/api/ accounts/443005/payout/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; curl_setopt $ch, CURLOPT_POST, 1; curl_setopt $ch, CURLOPT_POSTFIELDS, $data; curl_setopt $ch, CURLOPT_HTTPHEADER, array '', 'Content-Length: '.strlen$data; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> HTTP status code: 200 ------------------------- stdclass Object [detail] => ok

V. 2. operations/ lista operacji Zasób zwraca listę operacji utworzonych we wszystkich sklepach ID, do których dany użytkownik ma uprawnienia. Strona 37 /61 przykładowe żądanie: nagłówki żądania: GET /test_seller/api/operations/?type=payment&status=completed HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS fragment odpowiedzi: "count": 283, "next": "https://ssl.dotpay.pl/test_seller/api/operations/?page=2&status=completed&type=payment", "previous": null, "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1279-3810/", "number": "M1279-3810", "creation_datetime": "2015-09-04T13:16:04.373986", "type": "payment", "status": "completed", "amount": "156.00", "currency": "PLN", "original_amount": "156.00", "original_currency": "PLN", "account_id": "443005", "related_operation": null, "description": "Order 645978", "control": "", "payer": "first_name": "Patrick", "last_name": "Jones", "email": "p.jones@example.com", "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1508-4532/", "number": "M1508-4532", "creation_datetime": "2015-09-04T13:14:10.788754", "type": "payment", "status": "completed", "amount": "835.00", "currency": "PLN", "original_amount": "835.00", "original_currency": "PLN", "account_id": "443005",

Strona 38 / 61 "related_operation": null, "description": "payment for A shop", "control": "", "payer": "first_name": "John", "last_name": "Smith", "email": "john.smith@example.com", Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok Znaczenie parametrów możliwych do przesyłania w żądaniu w celu filtrowania odpowiedzi: WŁASNOŚĆ TYP ZNACZENIE / OPIS account_id int numer sklepu ID type typ operacji dostępne wartości: payment payment_multimerchant_child payout refund complaint release_rollback status status operacji dostępne wartości: new processing completed rejected processing_realization_waiting processing_realization creation_date_from od daty utworzenia operacji format: YYYY-MM-DD creation_date_to do daty utworzenia operacji format: YYYY-MM-DD

description string opis bądź jego fragment operacji control string parametr kontrolny bądź jego fragment operacji Strona 39 /61 Znaczenie własności zwracanych w odpowiedzi, w tablicy results: WŁASNOŚĆ TYP ZNACZENIE / OPIS href string adres API, pod którym znajdują się szczegóły danej operacji number string numer operacji creation_datetime string data utworzenia type string typ operacji format: ISO 8601 RFC 3339 status string status operacji amount decimal kwota zaksięgowanej operacji currency string waluta zaksięgowanej operacji format: ISO 4217 original_amount decimal oryginalna kwota przesłana w zleceniu płatności original_currency string waluta kwoty przesłanej w zleceniu płatności format: ISO 4217 account_id int numer sklepu ID related_operation string operacja powiązana np. zwrot, jeśli takowa istnieje description string opis operacji control string parametr kontrolny operacji przesłany przez serwis Sprzedawcy w zleceniu płatności payer.first_name string imię osoby dokonującej płatność payer.last_name string nazwisko osoby dokonującej płatność payer.email string email osoby dokonującej płatność

Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. Strona 40 / 61 żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/operations/?type=payment&status=completed"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> fragment odpowiedzi: HTTP status code: 200 ------------------------- stdclass Object [count] => 283 [next] => https://ssl.dotpay.pl/test_seller/api/ operations/?page=2&status=completed&type=payment [previous] => [results] => Array [0] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/operations/m1279-3810/ [number] => M1279-3810 [creation_datetime] => 2015-09-04T13:16:04.373986 [type] => payment [status] => completed [amount] => 156.00 [currency] => PLN [original_amount] => 156.00 [original_currency] => PLN [account_id] => 443005 [related_operation] => [description] => Order 645978 [control] => [payer] => stdclass Object [first_name] => Patrick [last_name] => Jones [email] => p.jones@example.com

[1] => stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/operations/m1508-4532/ [number] => M1508-4532 [creation_datetime] => 2015-09-04T13:14:10.788754 [type] => payment [status] => completed [amount] => 835.00 [currency] => PLN [original_amount] => 835.00 [original_currency] => PLN [account_id] => 443005 [related_operation] => [description] => payment for A shop [control] => [payer] => stdclass Object [first_name] => John [last_name] => Smith [email] => john.smith@example.com Strona 41 /61

operations/string: operation_number/ szczegóły pojedynczej operacji Strona 42 / 61 Zasób zwraca szczegóły danej operacji. przykładowe żądanie: nagłówki żądania: GET /test_seller/api/operations/m1279-3810/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1279-3810/", "number": "M1279-3810", "creation_datetime": "2015-09-04T13:16:04.373986", "type": "payment", "status": "completed", "amount": "156.00", "currency": "PLN", "original_amount": "156.00", "original_currency": "PLN", "account_id": "443005", "related_operation": null, "description": "Order 645978", "control": "", "payer": "first_name": "Patrick", "last_name": "Jones", "email": "p.jones@example.com", "payment_method": "channel_id": 4 Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok 404 Not Found nie znaleziono operacji

Własności zwrócone w odpowiedzi zostały opisane w rozdziale operations/ lista operacji powyżej, natomiast poniżej zostały wymienione dodatkowe / opcjonalne własności jakie mogą wystąpić w zależności od konfiguracji sklepu ID: Strona 43 /61 WŁASNOŚĆ TYP ZNACZENIE / OPIS payment_method.channel_id int numer kanału, jakim została wykonana płatność payment_method.payer_bank_account.name string nazwa nadawcy przelewu payment_method.payer_bank_account.number string numer rachunku bankowego z jakiego została dokonana płatność payment_method.credit_card.issuer_identification_number string format: IBAN numer identyfikacyjny emitenta karty płatniczej payment_method.credit_card.brand string marka karty płatniczej Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/operations/m1279-3810/"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?>

Strona 44 / 61 HTTP status code: 200 ------------------------- stdclass Object [href] => https://ssl.dotpay.pl/test_seller/api/operations/m1279-3810/ [number] => M1279-3810 [creation_datetime] => 2015-09-04T13:16:04.373986 [type] => payment [status] => completed [amount] => 156.00 [currency] => PLN [original_amount] => 156.00 [original_currency] => PLN [account_id] => 443005 [related_operation] => [description] => Order 645978 [control] => [payer] => stdclass Object [first_name] => Patrick [last_name] => Jones [email] => p.jones@example.com [payment_method] => stdclass Object [channel_id] => 4

operations/string: operation_number/operations/ payout lista operacji zawartych w operacji Zasób zwraca listę operacji zawartych w operacji typu payout wypłata. Strona 45 /61 przykładowe żądanie: nagłówki żądania: GET /test_seller/api/operations/m1884-2104/operations/ HTTP/1.1 Host: ssl.dotpay.pl Accept: application/json Authorization: Basic dxnlcju4ndc6qvfnqwjxzef2qg== nagłówki odpowiedzi: HTTP/1.1 200 OK Vary: Accept Allow: GET, HEAD, OPTIONS fragment odpowiedzi: "count": 54, "next": null, "previous": null, "results": [ "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1404-9234/", "number": "M1404-9234", "creation_datetime": "2015-09-09T06:55:43.216434", "type": "payment", "status": "completed", "amount": "1.00", "currency": "PLN", "original_amount": "1.00", "original_currency": "PLN", "account_id": "443005", "related_operation": null, "description": "test", "control": "", "payer": "first_name": "Jan", "last_name": "Kowalski", "email": "jan.kowalski@example.com", "href": "https://ssl.dotpay.pl/test_seller/api/operations/m1172-9817/", "number": "M1172-9817", "creation_datetime": "2015-09-08T10:13:12.225399", "type": "refund", "status": "processing_realization_waiting", "amount": "238.00", "currency": "PLN", "original_amount": "238.00", "original_currency": "PLN", "account_id": "443005",

Strona 46 / 61 "related_operation": "https://ssl.dotpay.pl/test_seller/api/operations/m1508-4532/", "description": "Zwrot: payment for A shop", "control": null, "payer": null, Znaczenie zwracanych kodów odpowiedzi HTTP: HTTP status code OPIS 200 OK ok 404 Not Found nie znaleziono operacji Własności zwrócone w odpowiedzi zostały opisane w rozdziale operations/ lista operacji powyżej Poniżej został zamieszczony przykład żądania oraz odpowiedzi wykorzystujący język PHP oraz bibliotekę curl. żądanie: <?php $ch = curl_init ; curl_setopt $ch, CURLOPT_URL,"https://ssl.dotpay.pl/test_seller/ api/operations/?type=payment&status=completed"; curl_setopt $ch, CURLOPT_SSL_VERIFYPEER, TRUE; curl_setopt $ch, CURLOPT_SSL_VERIFYHOST, 2; curl_setopt $ch, CURLOPT_CAINFO, "ca-bundle.crt"; //http://curl.haxx.se/docs/caextract.html curl_setopt $ch, CURLOPT_FOLLOWLOCATION, 1; curl_setopt $ch, CURLOPT_RETURNTRANSFER, 1; curl_setopt $ch, CURLOPT_TIMEOUT, 100; curl_setopt $ch, CURLOPT_USERPWD, 'user:password'; $response = curl_exec $ch; // API response $curl_info = curl_getinfo$ch; //curl info curl_close $ch; echo '<pre>'; echo 'HTTP status code: '.$curl_info[http_code]; echo PHP_EOL.'-------------------------'.PHP_EOL.PHP_EOL; print_rjson_decode$response; echo '</pre>';?> fragment odpowiedzi: HTTP status code: 200 ------------------------- stdclass Object [count] => 54 [next] =>