Sign in
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

PoleTypWymaganeOpisWartości
amountdecimaltakKwota płatności w walucie, np. 100.00
currencystringtakWaluta fiat (USD, EUR, RUB, …) lub kryptowaluta (USDT, TRX, BTC, …)
order_idstringtakTwój identyfikator zamówienia, np. ORDER-12345 (do 128 znaków)
to_currencystringnieWstępnie wybrana kryptowaluta
networkstringnie*Kod sieci (wymagany, jeśli ustawione jest to_currency lub currency jest kryptowalutą)
url_returnstringnieURL przekierowania po płatności, np. https://your-site.com/return
url_successstringnieAlternatywa dla url_return
url_callbackstringnieURL powiadomień webhook, np. https://your-site.com/webhook
invite_codestringnieKod osoby polecającej
fee_splitdecimalnieUdział 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_markupdecimalnieNarzut lub rabat na kwotę faktury, od −99 do 100 (%). Nadpisuje ustawienie projektowe. Przykład: 5 (+5%) lub -10 (10% rabatu).
descriptionstringnieOpcjonalny opis faktury (maks. 200 znaków). Wyświetlany płacącemu na stronie płatności. Przykład: Premium plan — Order #12345.
ttl_secondsintnieCzas ż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 (gdy network jest ustawione razem z to_currency lub gdy currency jest kryptowalutą); w przeciwnym razie null.
  • txid, payment_amountnull, dopóki klient nie zapłaci. Wypełniane po wykryciu transakcji w sieci. Aby wiedzieć, kiedy to nastąpi, nasłuchuj webhooka payment_status: paid.
  • exchange_ratenull, jeśli przeliczenie jeszcze nie ma zastosowania (np. kurs fiat → krypto nie został zablokowany). Wypełniane po wybraniu waluty płacącego.
Credentials
RequestPOST/v1/payment
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"
Response
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

PoleTypWymaganeOpisWartości
uuidstringtak*UUID płatności (z pola result.uuid przy tworzeniu)
order_idstringtak*Twój identyfikator zamówienia

Wymagany jest co najmniej jeden z parametrów uuid lub order_id.

RequestPOST/v1/payment/info
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"
Response
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

PoleTypWymaganeOpisWartości
statusstringnieFiltruj według statusu płatności (zobacz References)
date_fromdatenieData początkowa (YYYY-MM-DD), np. 2026-01-01
date_todatenieData końcowa (YYYY-MM-DD), np. 2026-01-31
pageintnieNumer strony, domyślnie 1
per_pageintnieLiczba elementów na stronę, domyślnie 15, maks. 5000
RequestPOST/v1/payment/list
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"
Response
Click Try it to see the response here.