# Utworzenie transakcji **POST /{merchantId}/transaction** Zapytanie umożliwia utworzenie transakcji dla wybranego kanału w ramach danej metody płatności z bezpośrednim przekierowaniem lub w przypadku niektórych metod (karty płatnicze, BLIK z przekazanym kodem) - z natychmiastową realizacją po autoryzacji płatności przez płatnika. Tabelę metod i przypisanych do nich kanałów realizacji płatności znajdziesz tutaj [tutaj](https://bump.sh/pgw/doc/development/imoje-api#topic-metody-i-kanaly-realizacji-transakcji). > info >Każda nieopłacona transakcja wygaśnie automatycznie po upływie 15 miesięcy od daty jej utworzenia. Jeśli chcesz aby wygasała szybciej, skorzystaj z parametru `validTo`. > info > Zgodnie z wymaganiami PCI DSS (ustanowionymi przez organizacje płatnicze) zabronione jest przetwarzanie, przekazywanie czy przechowywanie numerów i innych danych dotyczących kart płatniczych, gdy nie posiadasz odpowiedniego certyfikatu.
Domyślnie transakcje kartowe po API są zablokowane. Jeśli posiadasz właściwy certyfikat **PCI DSS** i chcesz udostępnić formatkę płatności kartami na stronie Twojego sklepu oraz odblokować możliwość tworzenia transakcji kartowej po API - prosimy o przesłanie certyfikatu wraz z dokumentem PCI AoC oraz PCI SAQ na adres kontakt.tech@imoje.pl.
Jeśli nie masz certyfikatu, ale chcesz udostępniać płatności kartami, skorzystaj z endpointu [/payment](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-payment) lub naszego [widżetu](https://bump.sh/pgw/doc/imoje-paywall#topic-widzet-dla-platnosci-kartami). ## Servers - Środowisko produkcyjne: https://api.imoje.pl/v1/merchant (Środowisko produkcyjne) - Środowisko testowe: https://sandbox.api.imoje.pl/v1/merchant (Środowisko testowe) ## Authentication methods - Token autoryzacyjny ## Parameters ### Path parameters - **merchantId** (string) Identyfikator klienta ### Body: application/json (object) - **type** (string) Typ transakcji - **serviceId** (string(uuid)) Identyfikator sklepu jako `UUID v4` - **amount** (integer) Kwota transakcji w najmniejszej jednostce waluty np. **grosze**. - **currency** (string) Waluta transakcji w standardzie `ISO 4217` - **orderId** (string) Numer zamówienia - **paymentMethod** (string) Oznaczenie metody płatności - **paymentMethodCode** (string) Oznaczenie kanału płatności - **successReturnUrl** (string(uri)) Adres powrotu z zewnętrznej strony obsługującej płatność w przypadku dokonania płatności z powodzeniem. Adres musi być zgodny ze standardem URL `RFC 3986`. - **failureReturnUrl** (string(uri)) Adres powrotu z zewnętrznej strony obsługującej płatność w przypadku wystąpienia błędu płatności. Adres musi być zgodny ze standardem URL `RFC 3986`. - **notificationUrl** (string(uri)) Dynamiczny adres notyfikacji, możliwość ustawienia konkretnego adresu dla pojedynczej transakcji. Adresy zawierające `localhost` oraz porty zostaną odrzucone. - **title** (string) Tytuł transakcji - **additionalDescription** (string) Szczegóły zamówionych produktów lub usług - **validTo** (integer | null) Data ważności transakcji jako **timestamp w sekundach**. Brak realizacji płatności do tego czasu spowoduje jej anulowanie. Jeżeli nie jest przekazane to transakcja ważna jest do czasu ustawionego w parametrze *Aktywność płatności* w Panelu Administracyjnym imoje (ustawienia sklepu) lub po upływie 15 miesięcy. Przekazanie parametru `validTo`= `NULL` powoduje brak wygaśnięcia transakcji z pominięciem ustawień w parametrze *Aktywność płatności* na Panelu Administracyjnym imoje (ustawienia sklepu). **Minimalny** czas ważności linku to **60 sekund**. - **blikCode** (string) Kod BLIK pobrany od płatnika - **clientIp** (string(ipv4, ipv6)) Rzeczywisty adres IP płatnika podany w protokole `IPv4` lub `IPv6`. Wymagany przy podaniu [`blikCode`](#operation-post-parameter-transaction-body-application-json-blikCode). - **customer** (object) Dane płatnika - **billing** (object) Adres rozliczeniowy płatnika - **shipping** (object) Adres dostawy - **card** (object) Dane do płatności kartą - **additionalData** (object) Informacje o przeglądarce płatnika.
Wymagane podczas wykonywania płatności kartą z autoryzacją 3ds oraz Google Pay i Apple Pay 0 level. - **visibleMethod** (array[string]) Metody płatności widoczne na bramce płatności po zmianie metody/kanału przez płatnika. Jeśli tego pola nie ma lub jest puste to są wyświetlane wszystkie włączone w sklepie metody płatności. Istnieje wiele konfiguracji wyświetlania metod płatności. Należy je zawsze rozdzielać przecinkiem. - **data** (object) - **invoice** (object) Dane do faktury wymagane przy aktywnej usłudze [ING Księgowość](https://bump.sh/pgw/doc/imoje-api#topic-ing-ksiegowosc) oraz przy płatności `Split payment`. > info > Obiekt nie może być użyty, jeśli w sklepie włączona jest opłata serwisowa. - **profileType** (string) Rodzaj transakcji kartowej OneClick i recurring. Wymagany przy płatnościach [OneClick i rekurencyjna bez profilu kartowego](https://bump.sh/pgw/doc/imoje-api/topic/topic-platnosci-kartowe-oneclick-i-rekurencyjne#topic-platnosc-oneclick-i-rekurencyjna-bez-profilu). `FIRST` w przypadku transakcji rejestrującej, `STANDARD` w przypadku obciążenia karty. - **installment** (object) Dodatkowe dane dotyczące imoje raty - **wallet** (object) Dane płatności dla portfela elektronicznego.
Wymagane przy płatności Google Pay i Apple Pay 0 level. ## Responses ### 200 Zapytanie wykonane poprawnie #### Body: application/json (object) - **transaction** (object) ### 422 Payload nie zawiera wymaganaych parametrów, zawiera niedopuszczalne parametry, lub przesłane w nich wartości nie spełniają wymogów. #### Body: application/json (object) - **apiErrorResponse** (object) Szczegóły błędu ### 406 Payload jest poprawny, ale zawiera wartości, które nie mogą zostać obecnie zaakceptowane. Błąd ten będzie zwrócony, gdy zostanie wykorzystana metoda lub kanał płatności, który jest nieaktywny w sklepie, lub tymczasowo ograniczona jest jego dostępność globalnie. #### Body: application/json (object) - **apiErrorResponse** (object) Szczegóły błędu ### 500 Payload jest poprawny, ale transakcja nie może zostać przeprocesowana z powodu błędu w konfiguracji lub u dostawcy metody płatności. #### Body: application/json (object) - **apiErrorResponse** (object) Szczegóły błędu [Powered by Bump.sh](https://bump.sh)