# 3.1. HTTP Request transaction API ### Przykładowy adres na który należy wysłać żądanie POST ``` https://api.axepta.pl/v1/merchant/6yt3gjtm9p7b8h9xsdqz/transaction ``` ### Payload zapytania ```json { "type": "sale", "serviceId": "62f574ed-d4ad-4a7e-9981-89ed7284aaba", "amount": 9900, "currency": "PLN", "orderId": "12", "clientIp": "192.168.10.2", "paymentMethod": "pbl", "paymentMethodChannel": "bnpparibas", "successReturnUrl": "https://domain.com/success", "failureReturnUrl": "https://domain.com/failure", "customer": { "firstName": "Maciej", "lastName": "Kowalski", "email": "jan.kowalski@example.com" } } ``` ### Parametry payload | Parametr | Typ | Wymagany | Opis | |---------------------|-------------|-------------------|----------------| | `type` | string | ✔️ | Typ transakcji.
**Dopuszczalne wartości**: `sale`. | | `serviceId` | string(36) | ✔️ | identyfikator sklepu jako UUID v4. | | `clientIp` | string | ✔️ | Adres IP klienta w standardzie IPv4 lub IPv6. | | `amount` | integer(1-999999999) | ✔️ | Kwota transakcji w najmniejszej jednostce waluty np. grosze. | | `currency` | string(3) | ✔️ | Waluta transakcji w standardzie ISO 4217. | | `orderId` | string(100) | ✔️ | Numer zamówienia akceptanta,
**dopuszczalne znaki**: A-Za-z0-9#_-.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `title` | string(255) | - | Tytuł transakcji,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `paymentMethod` | string | ✔️ | Metoda realizacji zamówienia. Więcej informacji w rozdziale [1.4 Metody i kanały realizacji transakcji] | | `paymentMethodChannel` | string | ✔️ | Oznaczenie kanału płatności. Więcej informacji w rozdziale [1.4 Metody i kanały realizacji transakcji]| | `successReturnUrl` | string(300) | ✔️ | Adres powrotu z zewnętrznej strony obsługującej płatność w przypadku dokonania płatności z powodzeniem. | | `failureReturnUrl` | string(300) | ✔️ | Adres powrotu z zewnętrznej strony obsługującej płatność w przypadku wystąpienia błędu płatności. | | `returnUrl` | string(300) | ✔️ | Domyślny adres powrotu. | | `customer` | object | ✔️ | Dane klienta. | | `billing` | object | - | Dane płatnika. | | `shipping` | object | - | Dane dotyczące dostawy. | | `card` | object | - | Dane dot. płatności kartą. (Wymagane podczas płatności `card`)| | `additionalData` | object | - | Informacje o przeglądarce płatnika, wymagane podczas wykonywania płatności kartą z autoryzacją 3ds. | | `activeTo` | integer, null | - | Data ważności transakcji jako unix timestamp w sekundach (czas mierzony w sekundach od początku 1970 roku UTC)
(**wartość musi być większa, bądz równa: 1 i mniejsza bądź równa 4294967295**). Jeżeli nie jest przekazana lub jest null to transakcja ważna jest zawsze. Brak realizacji płatności do tego czasu spowoduje jej anulowanie. | `distributor` | string | - | Nazwa dystybutora, wartość dopuszczalna: "shoper".| | `surcharge` | boolean | - | flaga determinujaca czy zostanie użyte obciazenie platnika dla danej transkacji. Wartość dopuszczalna: 'true', 'false' (wymagane ustawienie flagi surcharge w procesie boardingu). | | `blikCode` | integer(6) | - | Wartość kodu blik dla transakcji z przekazaniem kodu po API.| >Jeżeli w zapytaniu wystąpi parametr, `billing`, `shipping` lub `card` konieczne jest dostarczenie dodatkowych parametrów, opisanych poniżej.

#### customer | Parametr | Typ | Wymagany | Opis | |-------------|-------------|-------------------|------------------------| | `firstName` | string(100) | ✔️ | Imię klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `lastName` | string(100) | ✔️ | Nazwisko klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `cid` | string(36) | - | Identyfikator klienta/płatnika nadany przez akceptanta,
**dopuszczalne znaki**: A-Za-z0-9 oraz myślnik (0x2D) | | `phone` | string(20) | - | Numer telefonu,
**dopuszczalne znaki**: 0-9+- oraz znak spacji (0x20). | | `email` | string(200) | ✔️ | Adres email. | | `locale` | string(2) | - | Lokalizacja płatnika, określa język wysyłanej wiadomości mailowej, informującej o rozpoczęciu procesu płatności,
**dopuszczalne wartości**: `pl`, `en`. | Domyślnym językiem wysyłanej wiadomości mailowej jest język polski dla transakcji w PLN, oraz język angielski dla pozostałych walut. #### billing | Parametr | Typ | Wymagany | Opis | |---------------------|-------------|-------------------|-------------------| | `firstName` | string(100) | ✔️ | Imię klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `lastName` | string(100) | ✔️ | Nazwisko klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `company` | string(200) | - | Nazwa firmy,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `street` | string(200) | - | Ulica,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `city` | string(100) | - | Miasto,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `region` | string(100) | - | Region,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `postalCode` | string(30) | - | Kod pocztowy,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `countryCodeAlpha2` | string(2) | - | Kod kraju Alpha2. | #### shipping | Parametr | Typ | Wymagany | Opis | |---------------------|-------------|-------------------|-------------------| | `firstName` | string(100) | ✔️ | Imię klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `lastName` | string(100) | ✔️ | Nazwisko klienta,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `company` | string(200) | - | Nazwa firmy,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `street` | string(200) | - | Ulica,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `city` | string(100) | - | Miasto,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `region` | string(100) | - | Region,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `postalCode` | string(30) | - | Kod pocztowy,
*Dopuszczalne znaki*: A-Za-z0-9-"'/,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `countryCodeAlpha2` | string(2) | - | Kod kraju Alpha2. | #### card | Parametr | Typ | Wymagany | Opis | |---------------------|-------------|-------------------|-------------------| `firstName` | string(100) | ✔️ | Imię właściciela karty,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `lastName` | string(100) | ✔️ | Nazwisko właściciela karty,
**dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) | | `number` | string(16) | ✔️ | Numer karty | | `month` | string(2) | ✔️ | Ważność karty - miesiąc | | `year` | string(4) | ✔️ | Ważność karty - rok | | `cvv` | string(4) | ✔️ | Kod cvv karty |