Sign in
Pagamenti e prelievi/Wallet statici

Wallet Statici

Indirizzi di deposito permanenti associati a un ordine o a un utente specifico, ideali per pagamenti ricorrenti e a lungo termine.

I wallet statici sono indirizzi permanenti per ricevere pagamenti in criptovaluta. Sono collegati a uno specifico order_id e sono univoci dalla combinazione di project_id + order_id + currency + network.

Utilizza i wallet statici per:

  • Depositi ricorrenti dallo stesso utente
  • Indirizzi di pagamento a lungo termine mostrati nel profilo di un utente
  • Flussi di deposito ad alto volume in cui desideri un indirizzo stabile per ciascun utente

Creare un wallet statico

POST/v1/static-wallet

Parametri della richiesta

CampoTipoObbligatorioDescrizione
currencystringCriptovaluta (USDT, BTC, ETH, ecc.)
networkstringCodice di rete
order_idstringIl tuo ID ordine/utente (fino a 255 caratteri)
labelstringnoEtichetta del wallet (fino a 255 caratteri)
url_callbackstringURL per le notifiche webhook
invite_codestringnoCodice del referrer

Esempio di richiesta

JSON
{
  "currency": "USDT",
  "network": "TRX-TRC20",
  "order_id": "USER-123",
  "label": "User deposit #123",
  "url_callback": "https://your-site.com/webhook/static"
}

Esempio di risposta

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "address": "TXYZabc123...",
    "currency": "USDT",
    "network": "TRX-TRC20",
    "label": "User deposit #123",
    "order_id": "USER-123",
    "status": "active",
    "url": "https://go.2328.io/static/019b2265-34d8-7001-a230-8f97de90d481",
    "created_at": "2026-01-20T12:00:00Z",
    "qr": "data:image/png;base64,iVBORw0..."
  }
}

Informazioni sul wallet

Ottieni le informazioni sul wallet statico tramite uuid o address.

POST/v1/static-wallet/info

Parametri della richiesta

CampoTipoObbligatorioDescrizione
uuidstringsì*UUID del wallet statico
addressstringsì*Indirizzo del wallet blockchain

È richiesto almeno uno tra uuid e address.

Esempio di risposta

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "address": "TXYZabc123...",
    "currency": "USDT",
    "network": "TRX-TRC20",
    "status": "active",
    "total_received": "1250.50",
    "transactions_count": 3,
    "created_at": "2026-01-20T12:00:00Z",
    "qr": "data:image/png;base64,iVBORw0..."
  }
}
  • total_received — somma di tutti i depositi ricevuti da questo wallet, in currency.
  • transactions_count — numero di depositi ricevuti finora.
  • qr — data URI QR codificato in Base64 dell'indirizzo di deposito (sempre presente per i wallet statici, l'indirizzo viene assegnato alla creazione).

Elenco dei wallet

POST/v1/static-wallet/list

Parametri della richiesta

CampoTipoObbligatorioDescrizione
statusstringnoFiltra per stato (active, inactive)
currencystringnoFiltra per valuta
networkstringnoFiltra per rete
order_idstringnoFiltra per order_id
pageintnoNumero di pagina (default: 1)
per_pageintnoElementi per pagina (default: 20, max: 100)

Esempio di risposta

JSON
{
  "state": 0,
  "result": {
    "items": [
      {
        "uuid": "019b2265-...",
        "address": "TXYZabc123...",
        "currency": "USDT",
        "network": "TRX-TRC20",
        "status": "active",
        "total_received": "1250.50",
        "transactions_count": 3
      }
    ],
    "paginate": {
      "count": 1,
      "current_page": 1,
      "per_page": 20,
      "total": 1,
      "total_pages": 1,
      "has_more": false
    }
  }
}

Abilitare / disabilitare il wallet

Attiva o disattiva la possibilità che un wallet statico accetti nuovi pagamenti.

POST/v1/static-wallet/disable
POST/v1/static-wallet/enable

Richiesta

Entrambi gli endpoint accettano un singolo parametro:

JSON
{
  "uuid": "019b2265-34d8-7001-a230-8f97de90d481"
}

Esempio di risposta

JSON
{
  "state": 0,
  "result": {
    "uuid": "019b2265-34d8-7001-a230-8f97de90d481",
    "status": "inactive",
    "message": "Static wallet disabled successfully"
  }
}

Per enable, status è "active" e message recita "Static wallet enabled successfully".

Transazioni del wallet

Ottieni un elenco di tutti i depositi ricevuti da un wallet statico.

POST/v1/static-wallet/transactions

Parametri della richiesta

CampoTipoObbligatorioDescrizione
uuidstringUUID del wallet statico
date_fromdatenoData di inizio (YYYY-MM-DD)
date_todatenoData di fine (YYYY-MM-DD)
pageintnoNumero di pagina (default: 1)
per_pageintnoElementi per pagina (default: 15, max: 5000)

Esempio di risposta

JSON
{
  "state": 0,
  "result": {
    "items": [
      {
        "uuid": "abc123-def456-...",
        "order_id": "USER-123",
        "amount": "100.00",
        "currency": "USDT",
        "payment_status": "paid",
        "txid": "0xabc123def456...",
        "fee_amount": "3.00",
        "net_amount": "97.00",
        "created_at": "2026-01-20T15:30:00Z"
      }
    ],
    "paginate": {
      "count": 1,
      "hasPages": true,
      "perPage": 15,
      "page": 1
    }
  }
}
  • fee_amount — commissione di piattaforma detratta da questo deposito, in currency.
  • net_amount — importo accreditato sul saldo merchant dopo la commissione.

Webhook dei wallet statici

Quando un pagamento viene ricevuto su un wallet statico, il sistema invia un webhook a url_callback.

Il formato del webhook per i wallet statici è diverso da quello dei normali webhook di pagamento. In particolare, i webhook dei wallet statici includono un campo merchant_amount che dovresti utilizzare per l'accredito.

Payload del webhook

JSON
{
  "uuid": "a28b293f-5c76-4053-8062-ae9ca4ab784b",
  "order_id": "USER-7666308594",
  "amount": "10.00000000",
  "currency": "USDT",
  "amount_usd": "10.00000000",
  "exchange_rate": "1.00000000",
  "payer_currency": "USDT",
  "payer_amount": "10.00000000",
  "network": "TRX-TRC20",
  "address": "TMU9Tgpchvgbywkbj5SdC8KJS73t5m3M7G",
  "payment_status": "paid",
  "txid": "8369ede26a0da05b1bae154b4bb4072eb2453db30ba86b21831902670929454f",
  "payment_amount": "10.00000000",
  "merchant_amount": "9.920000000000000000",
  "created_at": "2026-05-09T16:13:04+03:00",
  "sign": "dd958d1405febce670a9a196e9141784b9f2a5f39cd6d1832d6f3f68d0de1e10"
}

I webhook dei wallet statici non includono url o expires_at (poiché l'indirizzo è permanente, non è una sessione). Includono invece exchange_rate e created_at.

Riferimento dei campi

CampoTipoDescrizione
uuidstringUUID della transazione (fattura) per questo deposito
order_idstringIl tuo order_id del wallet statico
amountdecimal (8 dp)Importo crypto ricevuto
currencystringCrypto ricevuta (corrisponde alla currency del wallet)
amount_usddecimal (8 dp)Valore in USD al momento della ricezione
exchange_ratedecimalTasso crypto / USD utilizzato
payer_currencystringUguale a currency per i wallet statici
payer_amountdecimal (8 dp)Uguale a amount per i wallet statici
networkstringRete blockchain
addressstringIndirizzo del wallet statico
payment_statusstringSempre paid per gli statici
txidstringHash della transazione blockchain
payment_amountdecimal (8 dp)Uguale a amount
merchant_amountdecimal (18 dp)Importo dopo la detrazione della commissione — utilizza questo per l'accredito
created_atstring (ISO 8601)Quando è stato ricevuto il deposito
signstring (hex)Firma HMAC-SHA256 del payload

Best practice

  • order_id univoco — Utilizza un order_id univoco per ciascun utente o ordine
  • Idempotenza — Verifica txid prima di elaborare per evitare accrediti duplicati
  • Verifica le firme — Verifica SEMPRE la firma sign prima di accreditare i fondi
  • Usa merchant_amount — Accredita gli utenti in base a merchant_amount, non a payment_amount