Płatności i wypłaty/Payment API
Payment API
Twórz sesje płatności kryptowalutowych i zarządzaj nimi za pomocą Payment API 2328.io.
Payment API umożliwia tworzenie sesji płatności, przekierowywanie klientów do hostowanego checkoutu oraz śledzenie statusu płatności.
Utwórz płatność
Tworzy sesję płatności i zwraca URL, pod którym klient dokona zapłaty.
Parametry żądania
| Pole | Typ | Wymagane | Opis | Wartości |
|---|---|---|---|---|
amount | decimal | tak | Kwota płatności w walucie, np. 100.00 | |
currency | string | tak | Waluta fiat (USD, EUR, RUB, …) lub kryptowaluta (USDT, TRX, BTC, …) | |
order_id | string | tak | Twój identyfikator zamówienia, np. ORDER-12345 (do 128 znaków) | |
to_currency | string | nie | Wstępnie wybrana kryptowaluta | |
network | string | nie* | Kod sieci (wymagany, jeśli ustawione jest to_currency lub currency jest kryptowalutą) | |
url_return | string | nie | URL przekierowania po płatności, np. https://your-site.com/return | |
url_success | string | nie | Alternatywa dla url_return | |
url_callback | string | nie | URL powiadomień webhook, np. https://your-site.com/webhook | |
invite_code | string | nie | Kod osoby polecającej | |
fee_split | decimal | nie | Udział opłaty sprzedawcy przekazywany płacącemu, 0–100 (%). 0 = sprzedawca pokrywa w całości, 100 = płacący pokrywa w całości. Nadpisuje ustawienie projektowe. Przykład: 30 (płacący pokrywa 30% opłaty). | |
price_markup | decimal | nie | Narzut lub rabat na kwotę faktury, od −99 do 100 (%). Nadpisuje ustawienie projektowe. Przykład: 5 (+5%) lub -10 (10% rabatu). | |
description | string | nie | Opcjonalny opis faktury (maks. 200 znaków). Wyświetlany płacącemu na stronie płatności. Przykład: Premium plan — Order #12345. | |
ttl_seconds | int | nie | Czas życia faktury w sekundach, od 300 (5 minut) do 86400 (24 godzin). Po tym czasie faktura wygasa i nie można jej opłacić. Domyślnie: 3600 (1 godzina). Przykład: 3600. |
Odpowiedź
JSON
{
"state": 0,
"result": {
"uuid": "abc123-def456-...",
"order_id": "ORDER-12345",
"amount": "100.00",
"currency": "USD",
"amount_usd": "100.00",
"exchange_rate": null,
"url": "https://2328.io/pay/abc123-def456-...",
"tg_deeplink": "https://t.me/my2328bot?start=pay_abc123-def456-...",
"expires_at": "2026-01-11T21:00:00Z",
"created_at": "2026-01-11T20:00:00Z",
"payer_currency": "USDT",
"payer_amount": "100.50",
"network": "TRX-TRC20",
"address": "TXYZabc123...",
"payment_status": "check",
"txid": null,
"payment_amount": null,
"qr": "data:image/png;base64,iVBORw0..."
}
}- Aby dokończyć płatność, przekieruj klienta pod
result.url. tg_deeplink— deeplink bota Telegram do płatności przez Telegram MiniApp.qr— kod QR (data URI) zakodowany w base64, prezentujący adres depozytowy. Obecny, gdy adres jest już przypisany (gdynetworkjest ustawione razem zto_currencylub gdycurrencyjest kryptowalutą); w przeciwnym razienull.txid,payment_amount—null, dopóki klient nie zapłaci. Wypełniane po wykryciu transakcji w sieci. Aby wiedzieć, kiedy to nastąpi, nasłuchuj webhookapayment_status: paid.exchange_rate—null, jeśli przeliczenie jeszcze nie ma zastosowania (np. kurs fiat → krypto nie został zablokowany). Wypełniane po wybraniu waluty płacącego.
Credentials
curl -X POST https://api.2328.io/api/v1/payment \
-H "Content-Type: application/json" \
-H "User-Agent: MyShop/1.0 (+https://myshop.example)" \
-H "project: YOUR_PROJECT_UUID" \
-H "sign: YOUR_HMAC_SIGNATURE"Click Try it to see the response here.
Informacje o płatności
Pobierz aktualny status płatności po uuid lub order_id.
Parametry żądania
| Pole | Typ | Wymagane | Opis | Wartości |
|---|---|---|---|---|
uuid | string | tak* | UUID płatności (z pola result.uuid przy tworzeniu) | |
order_id | string | tak* | Twój identyfikator zamówienia |
Wymagany jest co najmniej jeden z parametrów uuid lub order_id.
curl -X POST https://api.2328.io/api/v1/payment/info \
-H "Content-Type: application/json" \
-H "User-Agent: MyShop/1.0 (+https://myshop.example)" \
-H "project: YOUR_PROJECT_UUID" \
-H "sign: YOUR_HMAC_SIGNATURE"Click Try it to see the response here.
Lista płatności
Pobierz listę wszystkich płatności z możliwością filtrowania i paginacji.
Parametry żądania
| Pole | Typ | Wymagane | Opis | Wartości |
|---|---|---|---|---|
status | string | nie | Filtruj według statusu płatności (zobacz References) | |
date_from | date | nie | Data początkowa (YYYY-MM-DD), np. 2026-01-01 | |
date_to | date | nie | Data końcowa (YYYY-MM-DD), np. 2026-01-31 | |
page | int | nie | Numer strony, domyślnie 1 | |
per_page | int | nie | Liczba elementów na stronę, domyślnie 15, maks. 5000 |
curl -X POST https://api.2328.io/api/v1/payment/list \
-H "Content-Type: application/json" \
-H "User-Agent: MyShop/1.0 (+https://myshop.example)" \
-H "project: YOUR_PROJECT_UUID" \
-H "sign: YOUR_HMAC_SIGNATURE"Click Try it to see the response here.