Oto jak przyjmować płatności stablecoinami i nadal otrzymywać zapłatę w euro: wystawiasz fakturę z ceną w EUR, płacący wysyła odpowiadającą kwotę USDC na adres utworzony dla tej jednej faktury, a licencjonowany partner przelicza ją i wypłaca euro na Twój IBAN. Część dotyczącą płatności przy kasie realizuje jedno wywołanie API. Kluczowe decyzje dotyczą tego, co wokół niego: jak długo faktura pozostaje otwarta, co zrobić, gdy płacący wyśle za mało, i jak Twój system zamówień dowiaduje się, że pieniądze dotarły.
Ten przewodnik omawia przepływ faktury z perspektywy obu stron, na zrzutach ekranu z panelu ItisPay z danymi demonstracyjnymi.
W skrócie
- Ustawiasz cenę w EUR; kwota w USDC jest obliczana na podstawie bieżącego kursu i pokazywana na fakturze.
- Każda faktura ma własny adres, odliczanie czasu i status: new, pending, paid_partial, completed, expired lub cancelled.
- Płatność niepełna nie powoduje błędu faktury: jest zapisywana dla każdego przelewu, a status zmienia się na paid_partial.
- Zgodnie z MiCA wymiana kryptowalut na euro jest usługą wymagającą licencji, więc rozliczenie na Twój IBAN odbywa się przez autoryzowanego dostawcę usług w zakresie kryptoaktywów (CASP).
Jak przyjmować płatności stablecoinami w UE: czego potrzebujesz?#
Potrzebujesz trzech rzeczy: stablecoina wyemitowanego zgodnie z MiCA, licencjonowanej firmy, która wymienia go na euro, oraz oprogramowania, które przypisuje każdą płatność do zamówienia. Przyjęcie monety jest łatwe. Zamiana jej na euro na Twoim koncie to już część regulowana.
Rozporządzenie w sprawie rynków kryptoaktywów (MiCA, rozporządzenie (UE) 2023/1114) stosuje się do stablecoinów od 30 czerwca 2024 r., a w pełni od 30 grudnia 2024 r. Zgodnie z art. 48 token pieniądza elektronicznego – określenie MiCA dla stablecoina powiązanego z jedną walutą urzędową – może emitować wyłącznie autoryzowana instytucja kredytowa lub instytucja pieniądza elektronicznego.
USDC spełnia te wymogi: tymczasowy rejestr MiCA ESMA wymienia Circle Internet Financial Europe SAS jako emitenta USDC i EURC, autoryzowanego przez francuski organ nadzoru ACPR 1 lipca 2024 r. USDT nie występuje w tym rejestrze autoryzowanych emitentów (stan na 5 listopada 2026 r.).
Wymiana kryptowalut na euro jest usługą w zakresie kryptoaktywów. Art. 59 MiCA dopuszcza ją wyłącznie dla autoryzowanego dostawcy usług w zakresie kryptoaktywów (CASP) lub określonych firm finansowych, takich jak banki i firmy inwestycyjne, które zgłoszą to swojemu regulatorowi zgodnie z art. 60. Sprzedawca ma dwie drogi: uzyskać własną licencję CASP albo działać za pośrednictwem dostawcy, który już ją posiada.
Jak krok po kroku działa faktura w stablecoinach?#
Faktura w stablecoinach to żądanie płatności o stałej kwocie, z własnym adresem i terminem. Twój system ją tworzy, płacący ją opłaca, a zmiana statusu informuje, kiedy wysłać towar. Oto pełna ścieżka dla zamówienia za 250 EUR opłaconego w USDC.
- Tworzysz fakturę. Twój checkout wysyła identyfikator zamówienia, cenę w EUR i wybraną monetę (USDC). W ItisPay wywołanie to `POST /invoices`; w panelu jest to krótki formularz.
- Kwota zostaje przeliczona. API oblicza kwotę w USDC na podstawie ceny w EUR, według bieżących kursów. W poniższym przykładzie 250 EUR to 279,2846 USDC.
- Zostaje przypisany adres. Faktura dostaje własny adres blockchain w określonej sieci oraz kod QR. Ponieważ adres jest powiązany z fakturą, przychodzący przelew wskazuje na zamówienie.
- Płacący wysyła USDC. Widzi dokładną kwotę, sieć i odliczanie czasu, i płaci z portfela lub konta na giełdzie.
- Status się zmienia. Faktura zaczyna jako new i zmienia się np. na pending, completed, paid_partial lub expired. Jeśli podano adres URL wywołania zwrotnego (callback), aktualizacje statusu są wysyłane na Twój serwer jako webhooki.
- Euro trafiają na Twój IBAN. Rozliczenie w EUR na Twój IBAN odbywa się przez licencjonowanego partnera, albo zatrzymujesz u niego stablecoiny.

| Krok | Kto działa | Co się dzieje |
|---|---|---|
| Utworzenie | System sprzedawcy | Identyfikator zamówienia, cena w EUR i moneta wysyłane do API |
| Przeliczenie | ItisPay | Kwota w USDC obliczona na podstawie bieżącego kursu |
| Płatność | Płacący | Dokładna kwota USDC wysłana na adres faktury |
| Potwierdzenie | ItisPay | Wykryto przelew, zaktualizowano status, wysłano webhook |
| Rozliczenie | Licencjonowany partner | USDC wymienione, euro wypłacone na IBAN sprzedawcy |
Podział w dwóch ostatnich wierszach ma znaczenie dla zgodności z przepisami. ItisPay to warstwa oprogramowania: faktury, statusy, powiadomienia, uzgadnianie płatności. Przechowywanie środków, ich wymiana i wypłata w euro należą do licencjonowanego partnera.
Co widzi płacący na stronie płatności?#
Płacący widzi jeden ekran ze wszystkim, czego potrzebuje, by zapłacić bez zadawania pytań: kto pobiera płatność, dokładną kwotę w USDC, adres, sieć i pozostały czas. Prawa strona zrzutu ekranu powyżej pokazuje właśnie ten widok.
Na górze znajduje się odliczanie, w wersji demonstracyjnej 1 godz. 59 min. Poniżej są nazwa sklepu, adres z instrukcją, by wysłać dokładną kwotę w USDC przez wskazaną sieć, przycisk kopiowania kwoty oraz szczegóły płatności: kwota faktury w EUR, waluta, sieć i status, który na początku ma wartość „oczekuje na płatność”.
Zwróć uwagę na wiersz z siecią. USDC istnieje w kilku blockchainach, a przelew wysłany przez inną sieć niż ta podana na fakturze nie zostanie zaliczony na fakturę i może nie dać się odzyskać. Jeśli budujesz własny ekran płatności, umieść sieć dużą czcionką obok kwoty.
Strona płatności pokazuje pełne szczegóły tylko wtedy, gdy płatność jest nadal możliwa. Publiczny endpoint faktur ItisPay zwraca wszystko dla faktur w statusie new, pending lub paid_partial. Gdy faktura przejdzie w status completed, expired lub cancelled, zwraca tylko ID i status, więc stary link nie pokazuje już adresu do zapłaty.
Jak kwota w USDC jest liczona z ceny w euro?#
Wyceniasz w euro, a faktura pokazuje równowartość w USDC według bieżącego kursu w momencie utworzenia. Płacący proszony jest o zapłatę dokładnie tej kwoty, więc księgowość zaczyna od znanej kwoty w EUR.
W API ItisPay wysyłasz `fiat_amount` z `fiat_currency` ustawionym na EUR, która jest obecnie jedyną obsługiwaną walutą fiat, a API zwraca kwotę w kryptowalucie. Możesz zamiast tego wystawić fakturę na stałą kwotę w kryptowalucie, ale nie obie opcje naraz w jednej fakturze.
Endpoint kursów zwraca bieżące kursy w EUR, jeśli chcesz pokazać szacunek przed płatnością. USDC jest powiązany z dolarem amerykańskim, więc kwota w USDC dla ceny w EUR zmienia się wraz z kursem EUR/USD, a krótki czas ważności ogranicza, jak bardzo kurs może się przesunąć, zanim płacący zapłaci.
Jak długo faktura w kryptowalucie powinna być otwarta?#
Na tyle długo, by płacący zdążył otworzyć portfel i wysłać środki, ale na tyle krótko, by kurs na fakturze był nadal uczciwy. W panelu ItisPay pole ważności jest wstępnie wypełnione wartością 120 minut; przez API ustawiasz ją dla każdej faktury parametrem `expire_min`.
Dopasuj okno do sytuacji. Płatność online, gdy płacący jest już przy ekranie, może mieć krótszy czas ważności. Faktura B2B wysłana e-mailem do działu finansowego, który płaci partiami, potrzebuje dłuższego. Gdy czas minie, status zmienia się na expired, a strona płatności przestaje pokazywać adres. Jeśli zamówienie zostanie unieważnione przed płatnością, anuluj fakturę przez API zamiast czekać, aż wygaśnie, aby w dokumentacji było widać, dlaczego została zamknięta.
Co się dzieje, gdy płacący wyśle za mało lub złą monetę?#
Częściowa płatność nie oznacza niepowodzenia faktury. Przenosi ją do statusu paid_partial i rejestruje przelew, a strona płatności pozostaje otwarta na resztę. Faktury ItisPay obsługują kilka transakcji na jedną fakturę, każda z własną kwotą, hashem transakcji i statusem.
Drobne różnice się zdarzają. Niektóre giełdy odejmują opłatę za wypłatę od wysłanej kwoty, a płacący czasem zaokrąglają wartość, więc zamiast 279,2846 przychodzi 279,28. Ustawienie `allowed_error_percent` (od 0 do 100) to dopuszczalny przez fakturę błąd płatności w procentach; jeśli go pominiesz, obowiązuje wartość domyślna systemu. Ustawisz je zbyt ciasno – będziesz gonić grosze; zbyt luźno – oddasz marżę przy dużych zamówieniach.
Faktura zapisuje też, co faktycznie dotarło. `actual_crypto_amount_paid` przechowuje otrzymaną kwotę, a `currency_paid` pokazuje, gdy płacący użył innej monety niż ta, o którą poproszono na fakturze, na przykład USDT zamiast USDC. Zapisz swoje zasady dla takich przypadków, zanim pojawi się pierwszy.
| Status | Znaczenie | Ocena |
|---|---|---|
| new | Faktura utworzona, nic jeszcze nie wpłynęło | Nie |
| pending | Płatność w toku, nierozliczona jako zapłacona | Nie |
| paid_partial | Część kwoty została otrzymana | Zależy |
| completed | Faktura opłacona | Tak |
| expired | Czas minął przed pełną płatnością | Nie |
| cancelled | Zamknięta przez ciebie, na przykład unieważnione zamówienie | Nie |
Kolumna Ocena odpowiada na jedno pytanie: czy możesz wysłać zamówienie? Dla paid_partial odpowiedź zależy od twojej polityki: czekasz na resztę, prosisz płacącego o dopłatę albo akceptujesz kwotę i korygujesz zamówienie.
Jak stablecoiny zamieniają się w euro na twoim IBAN?#
Przez licencjonowanego partnera, który wypłaca euro na twój IBAN albo przechowuje stablecoiny, jeśli chcesz je zachować. ItisPay zapewnia API, fakturowanie i uzgadnianie; rozliczenie w EUR przebiega przez naszego partnera – dostawcę usług w zakresie kryptoaktywów (CASP) i instytucję płatniczą z licencją UE.
Przed pierwszą płatnością partner przeprowadza KYB dla twojej firmy, czyli sprawdzenie „poznaj swój biznes” obejmujące własność, członków zarządu i działalność. KYC, AML i IBAN obsługuje partner, więc regulowaną wymianę przeprowadza podmiot posiadający autoryzację, a nie ty. Jeśli potrzebujesz też przychodzących kont w euro dla każdego klienta lub rynku, wirtualne numery IBAN pochodzą od tego samego partnera.
Pieniądze mogą też wyjść tą samą drogą, którą weszły. API wypłat ItisPay wysyła wypłatę fiat na konto bankowe lub wypłatę kryptowalutową na portfel z twojego dostępnego salda; obejmuje to zwroty, płatności dla dostawców i płatności B2B w stablecoinach.
Jedna zasada działa w tle. Rozporządzenie w sprawie przekazywania środków (UE) 2023/1113, stosowane od 30 grudnia 2024, wymaga od CASP przekazywania i weryfikowania informacji o nadawcy i odbiorcy przy każdym transferze kryptowalut (art. 14 i 16). Dodaje kontrole dla transferów powyżej 1 000 EUR z udziałem portfela samodzielnie zarządzanego (self-hosted). Te kontrole spoczywają na licencjonowanym partnerze, a nie na twoim procesie płatności, ale zapytaj partnera, jak wpływają na większe płatności.
Jak połączyć płatności stablecoinami przez API?#
Jedno uwierzytelnione żądanie tworzy fakturę, a jeden endpoint webhooka odbiera każdą zmianę statusu. Większość integracji potrzebuje niewiele więcej. Żądania przenoszą twój klucz w nagłówku `Api-key`; trzymaj go na serwerze, nigdy w kodzie przeglądarki ani w publicznym repozytorium.
| Pole | Wymagane | Co robi |
|---|---|---|
| order_id | Tak | Numer zamówienia po stronie sprzedawcy, unikalny dla każdego zamówienia |
| currency | Tak | Kryptowaluta do otrzymania, na przykład USDC |
| fiat_amount and fiat_currency | Jeden z dwóch | Cena w EUR; kwota w kryptowalucie jest obliczana automatycznie |
| crypto_amount | Jeden z dwóch | Zamiast tego stała kwota w kryptowalucie |
| expire_min | Nie | Liczba minut do wygaśnięcia faktury |
| allowed_error_percent | Nie | Dopuszczalny błąd płatności w procentach, od 0 do 100 |
| callback_url | Nie | Adres, na który wysyłane są webhooki o zmianie statusu |
Przetestuj przed uruchomieniem. Endpoint symulacyjny wysyła webhook o zmianie statusu dla istniejącej faktury, dzięki czemu możesz sprawdzić, czy Twój serwer poprawnie obsługuje statusy completed, expired i paid_partial. Jeśli serwer był niedostępny, gdy dotarł webhook, endpoint ponownego wysłania powtarza ostatni callback, wyszukując go po ID faktury lub ID zamówienia.
Dla zespołu finansowego lista faktur jest widokiem do uzgadniania. API filtruje faktury według statusu, waluty i daty utworzenia, do 100 na stronę. Panel pokazuje te same dane: kwotę w USDC i EUR, udział otrzymanej kwoty, sieć, adres i czas utworzenia, z wyszukiwaniem po ID faktury, ID zamówienia lub nazwie zamówienia.

Szersze spojrzenie na automatyzację płatności kryptowalutami poza fakturami znajdziesz w naszym przewodniku: automatyczne przyjmowanie płatności w kryptowalutach.
Gdzie faktury w stablecoinach mają ograniczenia?#
Faktury w stablecoinach najlepiej sprawdzają się u płatników, którzy już posiadają USDC: firm kryptowalutowych, zagranicznych klientów B2B oraz klientów, których odrzucają acquirerzy kart. Tylko częściowo zastępują płatność kartą, a kilka ograniczeń powinno wpłynąć na warunki umowy.
Gdzie to nie pomaga
- Zwroty to nowe przelewy. Nie ma chargebacku w stylu kart; pieniądze odsyłasz samodzielnie, na adres potwierdzony przez płatnika.
- Płatność wysłana w złej sieci nie zostaje zaliczona na fakturę i może przepaść. Wyraźnie pokaż sieć.
- Klienci bez portfela lub konta na giełdzie nie mogą zapłacić w ten sposób. Zachowaj drugą metodę płatności.
- USDT nie znajduje się w rejestrze ESMA autoryzowanych emitentów tokenów pieniądza elektronicznego. ESMA w styczniu 2025 r. zalecił dostawcom usług w zakresie kryptoaktywów (CASP) zaprzestanie wymiany niezgodnych stablecoinów na środki pieniężne, więc warto planować z myślą o USDC.
Popyt jest realny, ale skoncentrowany. Prezes EBC Christine Lagarde powiedziała w wystąpieniu na forum Banco de España LatAm Economic Forum 8 maja 2026 r., że transgraniczne płatności między firmami (B2B) „już stanowią około 60% wolumenu płatności stablecoinami”, dodając, że to „zaledwie 0,01% globalnych przepływów B2B”. Jeśli Twoi płatnicy należą do tej grupy, warto dodać przepływ oparty na fakturach.
Jak przyjmować płatności w stablecoinach: skonfiguruj przed pierwszą fakturą#
Aby przyjmować płatności w stablecoinach bez niespodzianek, przed napisaniem kodu ustal cztery rzeczy: czas wygaśnięcia faktury dla każdego kanału sprzedaży, tolerancję błędu płatności, zasady dla paid_partial i płatności w niewłaściwej kryptowalucie oraz osobę z zespołu finansowego odpowiedzialną za uzgadnianie. Następnie zbuduj obsługę webhooków, przetestuj ją na symulowanych statusach i przeprowadź jedną małą, rzeczywistą płatność od początku do końca.
Jeśli chcesz przyjmować stablecoiny i otrzymywać euro bez budowania całego zaplecza samodzielnie, ItisPay zapewnia API, fakturowanie i uzgadnianie. Licencjonowanie, KYC i rozliczenie na Twój IBAN odbywają się przez naszego partnera z licencją UE – CASP i instytucję płatniczą – a większość zespołów przechodzi od KYB do pierwszej transakcji w mniej niż tydzień.
Niniejszy artykuł ma wyłącznie charakter informacyjny i nie stanowi porady prawnej ani regulacyjnej.


