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] =>