# Utworzenie płatności
Aby utworzyć płatność w imoje, należy wysłać żądanie metodą POST lub GET na adres {[server](#doc-servers)}`/payment` z poniższymi parametrami.
Do autoryzacji zapytania wykorzystywana jest sygnarura, którą również należy zamieścić w zapytaniu. Sposób wyliczenia sygnatury znajdziesz [tutaj](#topic-autoryzacja).
## Parametry zapytania
| Parametr | Typ | Parametr wymagany | Opis |
|---------------------|--------------|-------------------|----------------|
| `serviceId` | string(36) | `TAK` | Identyfikator sklepu klienta jako `UUID v4` |
| `merchantId` | string(20) | `TAK` | Identyfikator klienta |
| `amount` | string | `TAK` | Kwota transakcji w najmniejszej jednostce waluty np. grosze |
| `currency` | string(3) | `TAK` | Waluta transakcji w standardzie `ISO 4217` |
| `orderId` | string(100) | `TAK` | Numer zamówienia **Dopuszczalne znaki:** A-Za-z0-9#_-./ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) |
| `customerFirstName` | string(100) | `TAK` | Imię osoby składającej zamówienie **Dopuszczalne znaki:** A-Za-z0-9-,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `customerLastName` | string(100) | `TAK` | Nazwisko osoby składającej zamówienie **Dopuszczalne znaki:** A-Za-z0-9-,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `signature` | string | `TAK` | [Wyliczona sygnatura](#topic-autoryzacja) |
| `customerEmail` | string(200) | `NIE` | Adres e-mail w formacie zgodnym ze standardem RFC 5322 oraz RFC 6531 |
| `customerPhone` | string(20) | `NIE` | Numer telefonu osoby składającej zamówienie **Dopuszczalne znaki:** -+0-9 oraz spacja. Wartość parametru zawierać może **maksymalnie 20 znaków** |
| `orderDescription` | string(255) | `NIE` | Tytuł transakcji **Dopuszczalne znaki:** A-Za-z0-9#&_-,.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne) |
| `additionalDescription` | string | `NIE` | Szczegóły zamówionych produktów lub usług |
| `urlSuccess` | string(300) | `NIE` | Adres URL, na który użytkownik będzie przekierowany po pomyślnie zakończonej transakcji. Adres musi być zgodny ze standardem `RFC 3986` i zawierać hosta. Nazwa domeny nie może być absolutna (FQDN). |
| `urlFailure` | string(300) | `NIE` | Adres URL, na który użytkownik będzie przekierowany po błędnie dokonanej transakcji. Adres musi być zgodny ze standardem `RFC 3986` i zawierać hosta. Nazwa domeny nie może być absolutna (FQDN). |
| `urlReturn` | string(300) | `NIE` | Adres URL, na który użytkownik będzie przekierowany po dokonaniu transakcji. Adres musi być zgodny ze standardem `RFC 3986` i zawierać hosta. Nazwa domeny nie może być absolutna (FQDN). |
| `urlNotification` | string(300) | `NIE` | Dynamiczny adres notyfikacji, możliwość ustawienia konkretnego adresu dla pojedynczej transakcji. |
| `visibleMethod` | string | `NIE` | Metody płatności widoczne na bramce płatności **Dostępne wartości:** `card` `wallet` `pbl` `blik` `imoje_paylater` `wt` `lease` `imoje_installments` Jeśli tego pola nie ma lub jest puste to są wyświetlane wszystkie włączone w sklepie klienta metody płatności. Istnieje wiele konfiguracji wyświetlanych metod płatności. Należy je zawsze rozdzielać przecinkiem (np. *card,pbl*) |
| `validTo` | string | `NIE` | Data ważności linku jako **timestamp w sekundach**. Brak realizacji płatności do tego czasu spowoduje jej anulowanie. Jeżeli nie jest przekazane to link ważny 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 linku 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.** |
| `preselectMethodCode`| string(20) | `NIE` | Kanał płatności ustawiony jako domyślny i automatycznie wybrany po otwarciu bramki płatności. Jeśli tego pola nie ma to bramka otwiera się bez wybranego zaznaczonego kanału płatności. Pole nie może być zdefiniowane i pozostawione bez wartości. |
| `billing` | string | `NIE` | Dane płatnika - zobacz tabelę poniżej
| `shipping` | string | `NIE` | Dane dostawy - zobacz tabelę poniżej
| `isKsef` | string | `NIE` | Czy generować identyfikator płatności KSeF (IPKSeF). **Dopuszczalne znaki:** `1` - tak, `0` - nie |
**Parametry dla tablicy** `billing`:
| Parametr | Typ | Parametr wymagany | Opis |
|---------------------|-------------|-------------------|-------------------|
| `firstName` | string(100) | `TAK` | Imię klienta, **dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `lastName` | string(100) | `TAK` | Nazwisko klienta, **dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `company` | string(200) | `NIE` | Nazwa firmy, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `street` | string(200) | `NIE` | Ulica, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `city` | string(100) | `NIE` | Miasto, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `region` | string(100) | `NIE` | Region, **Dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `postalCode` | string(30) | `NIE` | Kod pocztowy |
| `countryCodeAlpha2` | string(20) | `NIE` | Kod kraju Alpha2 |
| `taxId` | string(12) | `NIE` | Numer identyfikacji podatkowej |
**Parametry dla tablicy** `shipping`:
| Parametr | Typ | Parametr wymagany | Opis |
|---------------------|-------------|-------------------|-------------------|
| `firstName` | string(100) | `TAK` | Imię klienta, **dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `lastName` | string(100) | `TAK` | Nazwisko klienta, **dopuszczalne znaki**: A-Za-z0-9#&_-"',.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica) |
| `company` | string(200) | `NIE` | Nazwa firmy, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `street` | string(200) | `NIE` | Ulica, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `city` | string(100) | `NIE` | Miasto, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `region` | string(100) | `NIE` | Region, **dopuszczalne znaki**: A-Za-z0-9 oraz znak spacji (0x20) |
| `postalCode` | string(30) | `NIE` | Kod pocztowy |
| `countryCodeAlpha2` | string(2) | `NIE` | Kod kraju `Alpha2` |
## Przykład zapytania jako formularz HTML
```html
```
> info
>**Każdy nieopłacony link wygaśnie automatycznie po upływie 15 miesięcy od daty jego utworzenia. Jeśli chcesz aby wygasał szybciej, skorzystaj z parametru `validTo`**