1. Wstęp¶
Dokument opisuje wytyczne dla sklepów internetowych (sprzedawców) wdrażających obsługę płatności kartami poprzez bezpośrednią komunikację z API RESTowym Dotpay.
Ta dokumentacja dostępna jest online pod adresem: https://www.dotpay.pl/developer/doc/credit-cards/
2. Adres usługi¶
Usługa dostępna jest pod następującymi adresami:
- dla środowiska testowegohttps://ssl.dotpay.pl/test_payment/payment_api/v1/
- dla środowiska produkcyjnegohttps://ssl.dotpay.pl/t2/payment_api/v1/
3. Zasoby¶
-
POST
/register_order/
¶ Metoda pozwala na rejestrację płatności w systemie Dotpay na dowolnym kanale płatności. Poniższe przykłady dotyczą wykorzystania metody do rejestracji płatności na kanale kart płatniczych.
Przykładowy request:
curl --user login:passwd \ -H'Accept: application/json; indent=4' \ -H'content-type: application/json' \ -XPOST \ -d @request.json \ https://ssl.dotpay.pl/test_payment/payment_api/v1/register_order/
- Status Codes
201 Created – utworzono
400 Bad Request – błąd podczas obsługi requestu
3.1. Parametry podstawowe na wejściu metody register_order¶
Strukturę danych przekazywanych na wejściu metody register_order opisuje poniższa tabela.
3.1.1. Tabela 1. Podstawowe parametry na wejściu metody register_order¶
Element |
Typ |
Uwagi |
---|---|---|
|
object |
wymagane; dane zamówienia |
|
decimal(10,2) |
wymagane; kwota zamówienia |
|
string |
wymagane; trzyliterowy kod (ISO 4217) waluty zamówienia |
|
string |
wymagane; opis zamówienia |
|
string |
opcjonalne; identyfikator zamówienia po stronie sklepu |
|
object |
wymagane; dane sklepu, na którym dokonywana jest płatność |
|
integer |
wymagane; numer konta Dotpay |
|
string |
wymagane; adres na jaki płacący może zostać przekierowany po zakończeniu płatności |
|
string |
opcjonalne; adres na jaki będą przesyłane notyfikacje o zmianach statusu operacji |
|
object |
wymagane; dane płacącego |
|
string |
wymagane; imię płacącego |
|
string |
wymagane; nazwisko płacącego |
|
string |
wymagane; adres email płacącego |
|
object |
opcjonalne (chyba, że konfiguracja danego kanału wymaga podania tych danych); dane adresowe płacącego |
|
string |
wymagane w przypadku podania |
|
string |
wymagane w przypadku podania |
|
string |
opcjonalne w przypadku podania |
|
string |
wymagane w przypadku podania |
|
string |
wymagane w przypadku podania |
|
string |
wymagane w przypadku podania |
|
object |
wymagane; dane metody płatności |
|
integer |
wymagane; numer kanału płatności, dla kart płatniczych jest to 248. Pełna lista jest dostępna w podstawowej Dokumentacji technicznej implementacji płatności |
|
object |
dane karty płatniczej |
|
string |
numer karty |
|
object |
data ważnosci karty |
|
string (YYYY) |
rok ważnosci karty |
|
string (MM) |
miesiąc ważnosci karty |
|
string |
kod CVV2/CVC2 |
|
boolean |
zgoda na zarejestrowanie danych karty po stronie Dotpay |
|
string (4 - 1024 znaki) |
unikalny identyfikator płacącego nadany i przechowywany przez system sprzedawcy, wymagany podczas kolejnych płatności |
|
string |
identyfikator karty klienta zarejestrowanej po stronie systemu Dotpay |
|
string |
typ operacji:
|
|
string |
wymagalność kodu zabezpieczającego CVV/CVV2, dotyczy jedynie kolejnej operacji e_commerce. Dostępne wartości:
|
|
string |
wymagalność kodu autoryzacyjnego 3-D Secure. Dotyczy jedynie operacji e_commerce dla kart uczestniczących w programie. Dostępne wartości:
|
|
string |
wymagane; adres ip płacącego |
|
string |
dwuliterowy kod języka (ISO 639-1) w jakim wykonywana jest płatność; pl (domyślnie) |
3.2. Parametry dla obsługi 3-D Secure v2 na wejściu metody register_order¶
Przesłanie większej liczby danych niż tylko „wymagane” przy płatności kartowej, może mieć duże znaczenie przy ostatecznej decyzji wydawcy karty dotyczącej akceptacji samej transakcji.
Informacja
Na podstawie przesłanych dodatkowych informacji lub ich braku wydawca karty może zdecydować o ewentualnej konieczności dodatkowej weryfikacji transakcji (challenge) lub procesowaniu transakcji bez kodu 3DS. To z kolei może przyspieszyć i ułatwić sam proces płatności dla płacącego a w konsekwencji pozytywnie wpłynąć na konwersję płatności kartowych.
Dlatego, o ile to możliwe zalecamy wysłanie jak największej ilości dodatkowych danych podczas inicjalizacji płatności.
Strukturę danych przekazywanych na wejściu metody register_order dla obsługi 3DS v2 opisują poniższe tabele.
3.2.1. Tabela 2. Parametry na wejściu metody register_order dla obsługi 3DS v2 opisujące przeglądarkę płacącego¶
Element |
Typ |
Uwagi |
---|---|---|
|
string |
zalecane; Naglówek Accept z nagłówków przeglądarki klienta
Przykład:
|
|
string |
zalecane; Adres strony z której użytkownik został przekierowany (nagłówek HTTP)
Przykład:
|
|
string |
zalecane; Naglówek user-agent z nagłówków przeglądarki klienta
Przykład:
|
|
boolean |
zalecane; Możliwość wykonywania kodu Java w przeglądarce klienta
Przykład:
|
|
boolean |
zalecane; Możliwość wykonywania kodu JavaScript w przeglądarce klienta Przykład:
|
|
string |
wymagane gdy Język przeglądarki w standardzie IETF BCP 47 Przykład:
|
|
int |
wymagane gdy Głębia koloru dla wyświetlania koloru w przeglądarce klienta, pozyskana z screen.colorDepth.
Przykład:
|
|
int |
wymagane gdy Wysokość ekranu w pikselach pozyskana z screen.height.
Przykład:
|
|
int |
wymagane gdy Szerokość ekranu w pikselach pozyskana z screen.width.
Przykład:
|
|
int |
wymagane gdy Strefa czasowa wyrażona jako różnica w minutach pomiędzy czasem GMT a czasem lokalnym
|
3.2.2. Tabela 3. Obsługa danych dostawy oraz płacącego na wejściu metody register_order dla obsługi 3DS v2¶
NAZWA POLA |
TYP |
OPIS |
---|---|---|
|
boolean |
Informacja czy płacący przed dokonaniem płatności był zarejestrowany w systemie sprzedawcy |
|
string |
Data rejestracji płacącego w serwisie sprzedawcy, format YYYY-MM-DD lub YYYY-MM-DD hh:mm:ss Pole opcjonalne, jeżeli jest wysyłane to należy również wysłać parametr: |
|
string (indykator) |
Data rejestracji płacącego w serwisie sprzedawcy, indykator dla pola Pole opcjonalne, jeżeli jest wysyłane to należy również wysłać parametr: |
|
string |
Data ostatniej zmiany konta płacącego w serwisie sprzedawcy, format YYYY-MM-DD Zamiast podawania konkretnej daty w formacie YYYY-MM-DD można użyć zastępczo parametru: |
|
string (indykator) |
Data ostatniej zmiany konta płacącego w serwisie sprzedawcy, indykator dla pola |
|
string |
Data ostatniej zmiany hasła dla konta płacącego w serwisie sprzedawcy, format YYYY-MM-DD Zamiast podawania konkretnej daty w formacie YYYY-MM-DD można użyć zastępczo parametru: |
|
string (indykator) |
Data ostatniej zmiany hasła dla konta płacącego w serwisie sprzedawcy, indykator dla pola |
|
string |
Data od kiedy podany adres dostawy płacącego w serwisie sprzedawcy jest używany, format YYYY-MM-DD Zamiast podawania konkretnej daty w formacie YYYY-MM-DD można użyć zastępczo parametru: |
|
string (indykator) |
Data od kiedy podany adres dostawy płacącego w serwisie sprzedawcy jest używany, indykator dla pola |
|
int |
Ilość złożonych zamówień przez płacącego w serwisie sprzedawcy od daty rejestracji Pole opcjonalne, jeżeli jest wysyłane to należy również wysłać parametr |
|
int |
Ilość złożonych zamówień przez płacącego w serwisie sprzedawcy w tym samym dniu |
|
int |
Ilość złożonych zamówień przez płacącego w serwisie sprzedawcy w tym samym roku |
|
boolean |
Czy sklep kiedykolwiek zanotował podejrzaną aktywność na koncie tego kupującego |
|
- |
Zamówienie |
|
string |
Wartość całego zamówienia |
|
string |
Identyfikator zamówienia w systemie sprzedawcy. Odpowiada numerowi ID całego zamówienia w bazie sklepu |
|
string |
Metoda dostawy Dostępne wartości:
|
|
- |
Adres dostawy Jeśli paczka jest dostarczana do punktu/paczkomatu/itd, to taki adres i nazwa powinna być podana a nie dane faktycznego odbiorcy. |
|
string |
Adres dostawy: miasto |
|
string |
Adres dostawy: ulica |
|
string |
Adres dostawy: numer budynku |
|
string |
Adres dostawy: numer mieszkania |
|
string |
Adres dostawy: kod pocztowy |
|
string |
Adres dostawy: dwuliterowy (ISO 3166-1 alpha2) lub trzyliterowy (ISO 3166-1 alpha3) kod kraju |
|
string |
Nazwa odbiorcy/punktu odbiorczego.
|
|
string |
Numer telefonu odbiorcy |
|
bool |
Adres dostawy: czy adres dostawy jest zweryfikowany |
Informacja
W przypadku gdy sklep nie chce przekazywać właściwej daty, dla wybranych parametrów możliwe jest skorzystanie z pola zastępczego typu indykator.
3.2.3. Wartości używane dla pola zastępczego typu indykator dla wybranych pól:¶
WARTOŚĆ |
OPIS |
---|---|
01 |
Konto płacącego w serwisie sprzedawcy nie istnieje |
02 |
Data zlecanej właśnie transakcji |
03 |
Data nie starsza niż 30 dni temu |
04 |
Data w przedziale 30 - 60 dni temu |
05 |
Data starsza niż 60 dni temu |
3.2.4. Przykładowe żądania dla 3DS v2¶
Poniżej przykładowe żądania z użyciem powyższych parametrów:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | {
"order": {
"amount": "34.00",
"currency": "PLN",
"description": "Payment for order no 3342",
"control": "xcftg-32432-5325hdf"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com",
"phone": "123456789",
"address": {
"city": "Warszawa",
"street": "Krucza",
"building_number": "1a",
"flat_number": "4",
"postcode": "00-950",
"country": "PL"
}
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"number": "4929532027887670",
"expiration_date": {
"year": "2022",
"month": "01"
},
"security_code": "670",
"store": "1",
"customer_id": "f9c6a4-25473-765gh"
}
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl",
"accept": "text/html, application/xhtml+xml, application/xml;q=0.9, */",
"referer": "http://www.example.org/referring_page",
"useragent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36",
"browser": {
"javaenabled": 1,
"javascriptenabled": 1,
"language": "en",
"screencolordepth": 24,
"screenheight": 1024,
"screenwidth": 1920,
"timezone": -120
}
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | {
"order": {
"amount": "56.20",
"currency": "PLN",
"description": "Payment for order no 6542",
"control": "3426hs5fskdbg6g"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"id": "85c14e6e5608cbc69e19acec41730d59052fbcd306364d96c9cdaafacb7a0833d0fa14280ab9a2b2381fad381f65f076a0b607fodc463ecf5e514c6bh6b3f694",
"customer_id": "f9c6a4-25473-765gh"
},
"customer": {
"is_logged_in": 1,
"registered_since": "2019-11-21",
"order_count": 23,
"order": {
"id": "54356723",
"delivery_type": "PICKUP_POINT",
"delivery_address": {
"name": "Point PP:6252652",
"phone": "+48987654321",
"street": "Zielona",
"building_number": "32",
"postcode": "61-321",
"city": "Konin",
"country": "PL",
"is_verified": 1
}
},
"payer": {
"first_name": "Wieslaw",
"last_name": "Nowak",
"email": "paysdfds@example.com",
"phone": "+48443456766"
}
}
},
"payer": {
"first_name": "Adam",
"last_name": "Kowal",
"email": "payeremail@example.com",
"phone": "+48123456789",
"address": {
"city": "Konin",
"street": "Prosta",
"building_number": "34",
"flat_number": "7",
"postcode": "62-500",
"country": "PL"
}
},
"request_context": {
"ip": "192.188.3.221",
"language": "pl",
"accept": "text/html, application/xhtml+xml, application/xml;q=0.9, */",
"referer": "http://www.example.org/referring_page",
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393",
"browser": {
"javaenabled": 1,
"javascriptenabled": 1,
"language": "en",
"screencolordepth": 24,
"screenheight": 1024,
"screenwidth": 1920,
"timezone": -120
}
}
}
|
4. Płatność One Click¶
4.1. Założenia One Click¶
Niniejsza sekcja opisuje przykładowy proces rejestracji (bezpośredniej i pośredniej) karty w modelu One Click, oraz proces kolejnych płatności, gdzie sklep przekazuje identyfikator wcześniej zarejestrowanej w Dotpay karty.
Sklep może wysyłać żądania zawierające token karty wyłącznie wtedy, gdy pochodzą one od klientów uwierzytelnionych w systemie sklepu (klient musi być zalogowany).
Ostrzeżenie
Należy pamiętać, że karty są rejestrowane w kontekście danej grupy sklepów ( id
) w Dotpay i nie zadziałają dla innych kont.
4.2. Schemat procesu pierwszej płatności One Click¶
Poniżej zostały przedstawione przykłady inicjalizacji pierwszej płatności w danym modelu:
4.2.1. Rejestracja bezpośrednia¶
-
POST
/cards/
¶
{
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com"
},
"credit_card": {
"number": "4929532027887670",
"expiration_date": {
"year": "2020",
"month": "01"
},
"security_code": "670",
"customer_id": "f9c6a4-25473"
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl"
}
}
4.2.2. Rejestracja przy płatności¶
-
POST
/register_order/
¶
{
"order": {
"amount": "1.00",
"currency": "PLN",
"description": "test",
"control": "test"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com"
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"number": "4929532027887670",
"expiration_date": {
"year": "2020",
"month": "01"
},
"security_code": "670",
"store": "1",
"customer_id": "f9c6a4-25473"
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl"
}
}
}
4.3. Opis procesu pierwszej płatności One Click¶
Informacja
Przetwarzanie danych kart płatniczych po stronie systemu sprzedawcy wymaga, zgodnie z wytycznymi Payment Card Industry Data Security Standard (PCI DSS), dodatkowych certyfikacji. W celu uzyskania szczegółowych informacji nt. wymaganych formalności należy skontaktować się z Działem Handlowym (handlowy@dotpay.pl).
Alternatywnie karta może być zarejestrowana na zasadzie przekierowania do serwisu Dotpay, gdzie klient bezpiecznie poda wszystkie dane kartowe. Opis tego procesu można znaleźć w Dokumentacji technicznej implementacji płatności
Poniższy opis dotyczy rejestracji karty wraz z płatnością. Przy rejestracji bezpośredniej proces jest identyczny, przy czym zamiast obciążenia karty nastąpi chwilowa blokada środków na czas rejestracji w systemie, która zostanie automatyczne zwolniona po jej zakończeniu. Typ operacji zmieni się też z payment na credit_card_registration.
Kupujący wybiera płatność kartą, podaje jej dane i klika zapłać.
Sklep inicjalizuje proces płatności w Dotpay przekazując dane zamówienia takie jak dane karty oraz parametry wymagane do jej rejestracji, przykładowo:
{
"order": {
"amount": "1.00",
"currency": "PLN",
"description": "test",
"control": "test"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com"
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"number": "4929532027887670",
"expiration_date": {
"year": "2020",
"month": "01"
},
"security_code": "670",
"store": "1",
"customer_id": "f9c6a4-25473"
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl"
}
}
}
System Dotpay odpytuje o to, czy karta uczestniczy w programie 3-D Secure.
Uwaga
Krok 4-8 może być opcjonalny, jeżeli dana karta uczestniczy w programie 3-D Secure (opis schematu w Rozdziale 6).
Jeżeli uczestniczy,
system Dotpay zwraca szczegóły operacji wraz z sekcją
redirect
i adresredirect_simplified_url
.Sklep odpowiedzialny jest za przekierowanie płacącego na strony wydawcy bezpośrednio (obsługa sekcji
redirect
) bądź pośrednio przez Dotpay (przekierowanie na adresredirect_simplified_url
).Płacący przechodzi na strony wydawcy, na których uwierzytelnia się mechanizmem 3-D Secure.
Wydawca przekierowuje płacącego na strony Dotpay.
Następuje obciążenie karty oraz jej rejestracja
Płacący jest przekierowywany na strony sklepu.
Po odebraniu notyfikacji urlc o statusie operacji
sklep informuje kupującego o statusie zamówienia.
4.4. Schemat procesu kolejnej płatności One Click¶
4.5. Opis procesu kolejnej płatności One Click¶
Kupujący, po wybraniu kanału płatności, wybiera zarejestrowaną kartę i klika zapłać.
Sklep inicjalizuje proces płatności w Dotpay przekazując dane zamówienia wraz z identyfikatorem zarejestrowanej karty (oraz znanym sobie
customer_id
) przykładowo:
{
"order": {
"amount": "1.00",
"currency": "PLN",
"description": "test",
"control": "test"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com"
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"id": "85c14e6e5608cbc69e19acec41730d59052fbcd306364d96c9cdaafacb7a0833d0fa14280ab9a2b2381fad381f65f076a0b607fodc463ecf5e514c6bh6b3f694",
"customer_id": "f9c6a4-25473"
}
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl"
}
}
System Dotpay odpytuje o to, czy karta uczestniczy w programie 3-D Secure.
Uwaga
Krok 4-8 może być opcjonalny, jeżeli dana karta uczestniczy w programie 3-D Secure.
Jeżeli uczestniczy,
system Dotpay zwraca szczegóły operacji wraz z sekcją
redirect
i adresredirect_simplified_url
.Sklep odpowiedzialny jest za przekierowanie płacącego na strony wydawcy bezpośrednio (obsługa sekcji
redirect
) bądź pośrednio przez Dotpay (przekierowanie na adresredirect_simplified_url
).Płacący przechodzi na strony wydawcy, na których uwierzytelnia się mechanizmem 3-D Secure.
Wydawca przekierowuje płacącego na strony Dotpay.
Następuje obciążenie karty.
Płacący jest przekierowywany na strony sklepu.
Po odebraniu notyfikacji urlc o statusie operacji
sklep informuje kupującego o statusie zamówienia.
5. Płatności cykliczne (recurring)¶
5.1. Płatności cykliczne - Założenia¶
Niniejsza sekcja opisuje przykładowy proces rejestracji (bezpośredniej i pośredniej) karty w modelu Recurring, oraz proces kolejnych płatności, gdzie sklep inicjuje płatność bez udziału klienta, przekazując identyfikator wcześniej zarejestrowanej w Dotpay karty.
Ostrzeżenie
Należy pamiętać, że karty są rejestrowane w kontekście danej grupy sklepów ( id
) w Dotpay i nie zadziałają dla innych kont.
5.2. Schemat procesu pierwszej płatności cyklicznej¶
Schemat jest analogiczny jak w przypadku pierwszej płatności One Click.
Jedynie (w zależności od ustawień konta) musi być dodatkowo przekazany parametr
payment_method.credit_card.operation_type
= recurring_init.
Ostrzeżenie
Poprawna rejestracja karty nie gwarantuje sukcesu przy próbie późniejszego obciążenia. Klient może w dowolnym wyrejestrować daną kartę, bądź transakcja nie powiedzie się ze względu na niewystarczającą ilość środków, limity dzienne, odmowę autoryzacji wydawcy karty itp..
5.3. Schemat procesu kolejnej płatności cyklicznej¶
5.4. Opis procesu kolejnej płatności cyklicznej¶
Sklep inicjalizuje proces płatności w Dotpay przekazując dane zamówienia wraz z identyfikatorem zarejestrowanej karty (oraz znanym sobie
customer_id
) przykładowo:
{
"order": {
"amount": "1.00",
"currency": "PLN",
"description": "test",
"control": "test"
},
"seller": {
"account_id": "123456",
"url": "https://www.example.com"
},
"payer": {
"first_name": "John",
"last_name": "Doe",
"email": "johndoemail@example.com"
},
"payment_method": {
"channel_id": "248",
"credit_card": {
"id": "85c14e6e5608cbc69e19acec41730d59052fbcd306364d96c9cdaafacb7a0833d0fa14280ab9a2b2381fad381f65f076a0b607fodc463ecf5e514c6bh6b3f694",
"customer_id": "f9c6a4-25473"
}
},
"request_context": {
"ip": "127.0.0.1",
"language": "pl"
}
}
Następuje obciążenie karty
i Dotpay wysyła notyfikację urlc o wykonanej operacji.
Ostrzeżenie
W przypadku odmowy autoryzacji płatności dla karty uprzednio zarejestrowanej, kolejna próba obciążenia powinna być wykonana nie wcześniej niż w kolejnym dniu i nie częściej niż raz dziennie przez okres nie dłuższy niż 31 dni. W tym czasie Sprzedawca powinien podjąć działania zmierzające do ustalenia z Klientem problemów z obciążeniem karty.
6. Obsługa 3-D Secure (redirect
)¶
Jeśli dalsze procesowanie płatności wymaga przekierowania płacącego do banku / wydawcy, w odpowiedzi Dotpay zwróci dodatkowo obiekt redirect
zgodnie z poniższym opisem.
Element |
Typ |
Uwagi |
---|---|---|
redirect |
object |
komplet danych potrzebny do przekierowania płacącego do banku / wydawcy |
redirect.url |
string |
adres url na jaki należy przekierować płacącego |
redirect.method |
enumeration (post, get) |
metoda http jaką należy przekierować płacącego do banku / wydawcy |
redirect.data |
object |
słownik (lista par <klucz, wartość>) parametrów, z którymi należy przekierować płacącego do banku / wydawcy |
redirect.encoding |
string |
strona kodowa do jakiej należy przekonwertować wartości ze słownika |
Uwaga
Dane, z którymi należy przekierować płacącego do banku / wydawcy, zawierają sygnaturę zapewniającą ochronę integralności danych. Muszą zatem zostać przekazane w formie niezmienionej (z dokładnością do konwersji do odpowiedniej strony kodowej). Jeśli integralność danych zostanie naruszona, płatność zostanie odrzucona po stronie banku / wydawcy.
Informacja
Jako alternatywne podejście można zastosować przekierowanie (HTTP 302) na adres zwrócony w parametrze redirect_simplified_url
. Przekierowanie do banku / wydawcy zostanie wtedy wykonane po stronie Dotpay.
{
"redirect":{
"url":"https://ssl.dotpay.pl/test_payment/channel_specific/pv/payment_authentication/M1234-56789/k5bd2c03b5d995boe1862cf775cf8cec114fe36aea928272b0a2b4883a92b14d/",
"data":{},
"method":"GET",
"encoding":"utf-8"
},
"redirect_simplified_url":"https://ssl.dotpay.pl/test_payment/channel_specific/pv/payment_authentication/M1234-56789/k5bd2c03b5d995boe1862cf775cf8cec114fe36aea928272b0a2b4883a92b14d/"
}
7. Informacje dodatkowe¶
7.1. Wyrejestrowanie zapisanej karty¶
Wyrejestrowanie karty może nastąpić w następujące sposoby:
Klient może skorzystać z opcji wyrejestrowania, jaką Dotpay udostępnia w kierowanych do niego powiadomieniach mailowych o dokonaniu płatności.
Żądanie wyrejestrowania może zostać skierowane do Dotpay z systemu sprzedawcy.
W tym celu należy wykorzystać interfejs API udostępniony przez system Dotpay. Żądanie powinno zostać przesłane z wykorzystaniem metody DELETE na adres https://ssl.dotpay.pl/t2/payment_api/v1/cards/{credit_card_id}/, gdzie {credit_card_id} to identyfikator karty, która ma zostać wyrejestrowana.
Przykładowe żądanie wyrejestrowania karty:
-
DELETE
/cards/
(string: credit_card_id)/
¶
Odpowiedź:
HTTP/1.1 204 No Content
Znaczenie zwracanych kodów odpowiedzi HTTP:
KOD |
ZNACZENIE / OPIS |
---|---|
Usunięto |
|
Nie znaleziono karty |
|
Błąd podczas obsługi żądania |
8. Środowisko testowe¶
Poniżej znajduje się lista przykładowych kart, które można wykorzystać podczas testów na środowisku testowym Dotpay. Data ważności musi być przyszła, ale nie późniejsza niż grudzień 2030.
TYP |
NUMER |
CVV2 / CVC2 |
3DS |
---|---|---|---|
Visa* |
4916 9715 6289 1025 |
025 |
Nie |
Visa* |
4929 5320 2788 7670 |
670 |
Tak |
MasterCard* |
5498 5400 7907 4343 |
343 |
Nie |
MasterCard* |
5344 6642 8071 1026 |
026 |
Tak |