# 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)