Aby utworzyć płatność w imoje, należy wysłać żądanie metodą POST lub GET na adres {server}/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.
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 |
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_installmentsJeś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
<input type="hidden" value="63f574ed-d90d-4abe-9cs1-39117584a7b7" name="serviceId">
<input type="hidden" value="6yt3gjtm9p1odfgx8491" name="merchantId">
<input type="hidden" value="100" name="amount">
<input type="hidden" value="PLN" name="currency">
<input type="hidden" value="yourOrderId" name="orderId">
<input type="hidden" value="yourDescription" name="orderDescription">
<input type="hidden" value="John" name="customerFirstName">
<input type="hidden" value="Doe" name="customerLastName">
<input type="hidden" value="johndoe@domain.com" name="customerEmail">
<input type="hidden" value="https://your-shop.com/success" name="urlSuccess">
<input type="hidden" value="https://your-shop.com/failure" name="urlFailure">
<input type="hidden" value="https://your-shop.com/return" name="urlReturn">
<input type="hidden" value="cd5024f5ce5e6ff47990fe60572758fbcbcd6e3c04895d6815932b2d14e04ffd;sha256" name="signature">
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