← Blog
10 min di lettura
|
Pubblicato
|
Aggiornato

Sandbox API per crypto: testare i pagamenti in sicurezza

Cos'è una sandbox API crypto, in cosa si differenzia da una testnet e un piano passo dopo passo per testare wallet, trasferimenti e webhook.

Capitoli
C
Chaingateway Team
Esperti di blockchain

Verificato da Maurice Sobiera

Piattaforme isometriche di pagamento per test e produzione

Una sandbox API crypto è una copia isolata di un’API di pagamento o di wallet, in cui si possono creare wallet, inviare transazioni e ricevere notifiche senza spostare denaro reale. Si passa alla produzione cambiando credenziali e impostazioni di rete. I provider usano il termine in modi diversi: alcuni simulano i saldi, altri rimandano a una testnet pubblica della blockchain.

Questa guida spiega la differenza, descrive un piano di test dalla prima chiave al primo webhook ed elenca ciò che va verificato prima del lancio.

TL;DR

  • Una sandbox è una copia isolata di un’API gestita dal provider. Una testnet è una blockchain pubblica separata con monete senza valore. Molti team usano entrambe.
  • Testi l’intero ciclo: crei un wallet, lo finanzi, invii una transazione, ne verifichi la conferma, riceva il webhook e gestisca un fallimento.
  • I webhook sono il punto in cui si nascondono la maggior parte dei bug di pagamento. Testi i controlli di firma, i ritentativi, i duplicati e gli eventi fuori ordine.
  • Non riusi mai chiavi di produzione o segreti di wallet nel codice di test, e non lasci mai che gli indirizzi di test finiscano nella configurazione di produzione.
  • Prima del lancio confronti reti supportate, asset, comportamento delle commissioni e tempi di conferma tra test e live.

Che cos’è una sandbox API per crypto?

Il termine viene usato in modo approssimativo, quindi partiamo da una definizione di lavoro. Nel design delle API, un mock restituisce risposte predefinite. Una sandbox completa è diversa: Redocly la descrive come un ambiente isolato e con stato, che conserva i record, esegue la logica di business e permette di testare azioni distruttive senza rischiare dati di produzione. Per le crypto questa distinzione conta. Se crea un wallet e poi chiede il suo saldo, un mock restituisce ciò che gli è stato detto di rispondere. Una sandbox ricorda il wallet che Lei ha creato.

Una sandbox per crypto di solito fa tre cose:

  1. Emette chiavi API di test separate che non possono toccare fondi reali.
  2. Consente di creare account o wallet e assegnare loro saldi di test.
  3. Simula, oppure inoltra a una testnet, le transazioni e le notifiche che vedrebbe in produzione.

Sandbox, testnet e devnet

Una testnet blockchain non è la stessa cosa di una sandbox API. Una testnet è una rete pubblica separata che imita la mainnet, così gli sviluppatori possono sperimentare senza la posta in gioco delle criptovalute reali. La documentazione Ethereum descrive le testnet come l’equivalente di un server di staging. Indica Sepolia come testnet predefinita consigliata per lo sviluppo di applicazioni, e osserva che la maggior parte delle persone ottiene ETH di test gratuitamente dai faucet.

Le monete di testnet dovrebbero non avere alcun valore reale. Consideri un campanello d’allarme chiunque Le chieda di pagarle.

Sandbox APITestnet o devnet
Gestita daIl provider dell’APILa comunità o la fondazione della blockchain
Cosa simulaGli endpoint, gli account, i saldi e le notifiche del providerLa blockchain stessa
FondiSaldi fittizi che spesso può ricaricare a richiestaMonete da faucet senza valore
Velocità e affidabilitàDi solito prevedibiliPossono essere lente, congestionate o azzerate
Ideale perTest di integrazione della Sua app con l’APITest del comportamento on-chain, dei contratti e della logica delle commissioni

In sintesi: una sandbox testa l’integrazione con l’API, mentre una testnet testa come si comporta il Suo codice su una catena reale, anche se senza valore. Ogni catena documenta le proprie reti di test: Tron ha Shasta e Nile, e la guida per sviluppatori Bitcoin spiega le modalità testnet e regtest.

Come si testa un pagamento crypto, passo dopo passo?

I provider differiscono nei dettagli, ma la sequenza qui sotto regge quasi ovunque.

1. Ottenga credenziali di test

Crei un account e cerchi una modalità test o sandbox separata, oppure un URL di base distinto. I provider seri emettono chiavi distinte per ogni ambiente, così una chiave di test fallisce semplicemente in produzione. Conservi la chiave in una variabile d’ambiente o in un gestore di segreti fin dalla prima riga di codice, non nel repository.

Se il provider usa richieste firmate, come le API basate su HMAC, implementi la funzione di firma una sola volta e scriva per essa un test unitario con un input e un output noti. Un a capo fuori posto nella stringa firmata produce errori che sembrano problemi di autenticazione per ore.

2. Crei un wallet

Chiami l’endpoint di creazione del wallet e registri ciò che torna: l’indirizzo, un identificatore, e se il provider detiene la chiave privata o gliela consegna. Quest’ultimo punto determina il Suo modello di sicurezza, quindi lo annoti. Crei diversi wallet su ogni rete che intende supportare, perché i formati degli indirizzi differiscono tra le catene e sono una fonte comune di bug di validazione.

3. Lo finanzi con asset di test

Qui le sandbox divergono di più. Alcune permettono di accreditare un saldo con una chiamata API o un pulsante nella dashboard. Altre si aspettano che Lei richieda monete da un faucet pubblico per la testnet interessata e le invii al nuovo indirizzo. I faucet possono avere limiti di frequenza o esaurirsi, quindi richieda i fondi presto nella giornata, non dieci minuti prima di una demo. Tenga un wallet di test ben finanziato come «banca» e ricarichi da lì i wallet più piccoli.

Tabella delle opzioni di finanziamento di test: credito via API, faucet pubblico, limiti dei faucet, wallet banca

4. Invii una transazione

Parta dal caso più semplice: un trasferimento di moneta nativa tra due Suoi wallet. Poi passi ai trasferimenti di token (token in stile ERC-20, BEP-20 o TRC-20), perché i token aggiungono chiamate a contratti, meccaniche di commissione diverse e, su alcune catene, una valuta di commissione separata. Registri l’ID della transazione restituito dall’API e lo confronti con ciò che mostra un block explorer di quella rete di test.

5. Verifichi il risultato

Una transazione attraversa diversi stati, e la Sua app dovrebbe modellarli invece di un unico flag «pagato»:

  • Inviata: accettata dall’API, non ancora sulla catena.
  • In attesa: vista nella mempool o in un blocco con troppo poche conferme.
  • Confermata: conferme sufficienti per la Sua tolleranza al rischio.
  • Fallita o scartata: respinta, a corto di gas, sostituita o mai inclusa in un blocco.

Per la rendicontazione dei ricavi conti i pagamenti regolati, non i tentativi. Lo stesso vale per le conferme su una catena: una transazione in attesa non è ancora un ricavo.

Come si testano i webhook e i percorsi di fallimento?

I webhook trasformano un’API di pagamento da qualcosa che si interroga in qualcosa che Le comunica quando arrivano i fondi. Sono anche il punto in cui le integrazioni si rompono più spesso, perché il mittente controlla i tempi.

Ricevere una notifica dall’inizio alla fine

Flusso di test in quattro passaggi per le notifiche: URL HTTPS pubblico, registrazione dell'URL, invio di una transazione di test, conferma dell'evento

Le serve un URL HTTPS pubblico che raggiunga la Sua macchina di sviluppo. Va bene uno strumento di tunnel o un server di staging. Registri l’URL, invii una transazione di test a un indirizzo monitorato e verifichi che il Suo gestore riceva l’evento con i campi attesi. Il nostro articolo su come usare i webhook per elaborare automaticamente i depositi descrive la struttura abituale.

Una checklist per i test dei webhook

  • Verifichi la firma. Respinga ogni richiesta la cui firma non corrisponde, e lo provi manomettendo il valore firmato. Con Chaingateway il valore firmato è il txid, quindi controlli anche importo e destinatario rispetto alle Sue attese. L’articolo sui segreti personali lo spiega.
  • Testi l’idempotenza. Consegni due volte lo stesso evento. Il Suo sistema deve accreditare l’utente una sola volta, quindi memorizzi un ID di evento o di transazione e lo verifichi prima di agire.
  • Testi la consegna fuori ordine. Un evento «confermata» può arrivare prima di «in attesa». Non lasci che uno stato più vecchio sovrascriva uno più recente.
  • Testi un ricevitore lento o in errore. Restituisca un errore o si blocchi per 30 secondi, e veda cosa fa il provider. Chaingateway non ritenta automaticamente: le notifiche fallite sono elencate, e Lei ne chiede il reinvio una per una.
  • Risponda in fretta. Restituisca rapidamente un codice di successo e svolga il lavoro pesante in una coda. I gestori lunghi causano timeout e consegne duplicate.
  • Riproduca dopo un downtime. Spenga il ricevitore, invii transazioni, lo riaccenda. Sappia come recupererà gli eventi persi, per esempio dall’elenco delle notifiche fallite o dalla cronologia delle transazioni.

Casi di fallimento da forzare

Rompa deliberatamente le cose nella sandbox, perché è a questo che serve:

  • Invii più del saldo del wallet.
  • Invii a un indirizzo malformato o a un indirizzo di un’altra rete.
  • Invii un token a un wallet che non ha moneta nativa per le commissioni.
  • Imposti una commissione troppo bassa e osservi la transazione bloccarsi.
  • Invii un importo minuscolo, sotto la Sua soglia minima di pagamento.
  • Paghi un po’ meno o un po’ più di quanto si aspetti una fattura. I sottopagamenti e i sovrapagamenti sono routine nel checkout crypto, quindi decida la Sua politica e la testi.

Che cosa cambia tra sandbox e produzione?

Una sandbox è un modello, e i modelli lasciano fuori qualcosa. Prima di passare alle chiavi live, verifichi esplicitamente queste aree.

AreaCosa verificare
Tempi di confermaI blocchi di testnet possono essere più veloci, più lenti o irregolari rispetto alla mainnet. Misuri di nuovo sulle catene live con importi piccoli.
CommissioniLe reti di test hanno spesso commissioni banali o fisse. Verifichi come l’API stima le commissioni sulla mainnet e cosa succede quando la rete è congestionata.
Asset supportatiI token disponibili in modalità test possono essere un sottoinsieme di quelli live, o viceversa. Confermi ogni asset che elenca nel prodotto.
Limiti di frequenzaI limiti possono differire per ambiente e per piano. Esegua test di carico entro i limiti che avrà davvero.
Forma dei datiVerifichi che nomi dei campi, precisione dei decimali e unità degli importi (unità minima o monete intere) coincidano tra gli ambienti.
Consegna dei webhookIl volume di produzione porta ritentativi, picchi e payload più grandi. Ripeta i test di idempotenza con traffico reale.
Conformità e limitiAlcuni provider allentano le verifiche in modalità test. Scopra cosa si applica quando va live.

Poi esegua un pagamento canary in produzione: un piccolo trasferimento reale che attraversa l’intero flusso, dalla creazione del wallet al webhook fino alla registrazione nel libro contabile. Costa qualche centesimo o qualche dollaro e intercetta errori di configurazione che nessuna sandbox può trovare.

Come si proteggono le chiavi durante i test?

Gli ambienti di test sono dove nascono le cattive abitudini, e le abitudini passano in produzione.

  • Usi chiavi separate per ogni ambiente. Le chiami in modo chiaro e le dia prefissi diversi nel gestore dei segreti, così uno scambio è visibile.
  • Tenga i segreti fuori dal repository. Usi variabili d’ambiente, un vault o l’archivio segreti della Sua CI. Se una chiave finisce comunque in un commit, controlli la cronologia e la ruoti.
  • Non importi mai un wallet reale in un setup di test. Se una frase seed o una chiave privata controlla fondi reali, non appartiene a uno script di test, a uno screenshot o a un messaggio in chat.
  • Limiti chi può vedere le chiavi. Collaboratori e agenzie che lavorano sulla Sua integrazione dovrebbero ricevere solo chiavi di test.
  • Fissi gli URL di base nella configurazione, non nel codice. Aggiunga un controllo all’avvio che rifiuti di partire se una chiave di test è abbinata all’URL live, o viceversa.
  • Ruoti le chiavi dopo le demo. Le chiavi mostrate su uno schermo o in una registrazione vanno considerate esposte.

Quali limiti verificare in anticipo?

Prima di impegnarsi con la sandbox di un provider, faccia alcune domande dirette:

  1. Quali reti copre in modalità test? Se il prodotto ha bisogno di Ethereum, Tron e Bitcoin, confermi tutti e tre, non solo uno.
  2. Quali standard di token e quali asset? Le monete native sono facili. Stablecoin e NFT sono dove compaiono le lacune.
  3. Come si ottengono fondi di test, e ci sono tetti? I limiti dei faucet e i massimali giornalieri determinano la velocità con cui il Suo team può iterare.
  4. Conserva lo stato? Una sandbox con stato permette di costruire scenari a più passaggi. Un mock senza stato no.
  5. I webhook sono disponibili in modalità test, e si possono attivare su richiesta?
  6. Quanto è stabile? Le testnet vengono azzerate o dismesse, il che può cancellare i wallet di test. Tenga il setup scriptato, così può ricostruirlo in pochi minuti.

Se le serve capire quali tipi di provider si adattano a quale compito, il nostro confronto tra API blockchain e quando usare ciascun tipo è un buon complemento.

Come si testa con Chaingateway?

Chaingateway non offre una sandbox simulata separata con saldi fittizi. La sua documentazione API descrive i test su testnet pubbliche: aggiunga l’header X-Network: testnet a una richiesta, oppure lo ometta per la mainnet. Gli stessi endpoint, le stesse chiavi e le stesse forme di risposta valgono per entrambe. Ogni catena ha una propria testnet, elencata nella pagina delle reti supportate:

CatenaTestnet
EthereumSepolia
TronNile
BNB Smart ChainBSC testnet
PolygonAmoy
ArbitrumArbitrum Sepolia
BitcoinTestnet3
SolanaDevnet

Un primo test richiede quattro richieste. Crei un indirizzo, lo finanzi dal faucet della catena, registri un webhook e invii un trasferimento:

Terminal window
# 1. Create an address on Sepolia
curl -X POST https://app.chaingateway.io/api/v2/ethereum/addresses \
-H "Authorization: Bearer $CHAINGATEWAY_TOKEN" \
-H "X-Network: testnet" \
-H "Content-Type: application/json" \
-d '{"password": "use-a-strong-test-password"}'
# 2. Fund the address from a Sepolia faucet, then register a webhook for it
curl -X POST https://app.chaingateway.io/api/v2/ethereum/webhooks \
-H "Authorization: Bearer $CHAINGATEWAY_TOKEN" \
-H "X-Network: testnet" \
-H "Content-Type: application/json" \
-d '{"to": "0xYourNewAddress", "url": "https://your-tunnel.example/hooks", "type": "ETH", "reference": "test-1"}'

La risposta della prima chiamata contiene il nuovo indirizzo. Per il webhook, type indica il tipo di asset. Su Ethereum i valori sono ETH, ERC20 e ERC721, e le altre catene usano nomi propri, come TRC20 su Tron. Il riferimento API li elenca. I webhook esistono su ogni catena supportata tranne Solana, quindi per Solana testi interrogando le transazioni.

Chaingateway firma i webhook con un header X-Signature una volta impostato un segreto personale, e non ritenta da sola le notifiche fallite. Entrambi i punti vale la pena testarli sulla testnet. I piani partono da 49 € al mese per Plus, con Pro a 99 €, Premium a 249 € ed Enterprise a 499 € al mese. La fatturazione annuale costa rispettivamente 490 €, 990 €, 2.490 € e 4.990 €. Ogni piano inizia con una prova gratuita di 7 giorni senza carta né KYC. Per i dettagli consulti la pagina dei prezzi, la Blockchain API e la pagina dei Chaingateway Webhooks.

Screenshot della homepage di Chaingateway: API blockchain unificata per pagamenti crypto e webhook su 7 catene

Per idee su cosa costruire una volta superati i test, la nostra panoramica sui casi d’uso delle API blockchain è una buona lettura successiva.

Come si presenta un piano di test pratico?

Lo usi come checklist di una pagina per una release.

  1. Setup: chiavi di test in un gestore di segreti, URL di base in configurazione, funzione di firma testata con unit test.
  2. Wallet: ne crei almeno due per ogni rete supportata, e registri i formati degli indirizzi.
  3. Finanziamento: finanzi un wallet di test principale, e scripti la ricarica degli altri.
  4. Percorso felice: trasferimento nativo, poi trasferimento di token, verificati ciascuno su un block explorer.
  5. Webhook: controllo della firma, consegna duplicata, eventi fuori ordine, downtime del ricevitore.
  6. Fallimenti: saldo insufficiente, indirizzo di rete sbagliata, valuta di commissione mancante, commissione bassa, sottopagamento, sovrapagamento.
  7. Modello di stato: il Suo database gestisce inviata, in attesa, confermata e fallita senza ambiguità.
  8. Carico: raffica di transazioni entro i limiti di frequenza del Suo piano.
  9. Revisione di sicurezza: nessun segreto di produzione nel codice di test, log ripuliti da chiavi e seed.
  10. Canary: un piccolo pagamento live attraverso l’intero flusso prima di annunciare il lancio.

Fonti

Consigliati

Domande frequenti

No. Una sandbox è un ambiente isolato gestito dal provider dell’API, con chiavi proprie e saldi di test. Una testnet è una blockchain pubblica separata, le cui monete non hanno valore. Alcune sandbox sono costruite su testnet, altre sono interamente simulate, quindi verifichi quale delle due ottiene.

Sì. Usi la sandbox di un provider o una testnet pubblica con monete da faucet. Entrambe le soluzioni permettono di creare wallet, inviare trasferimenti e attivare notifiche senza costi. Concluda con una transazione live molto piccola, perché commissioni e tempi di produzione possono differire dalle condizioni di test.

Esponga il Suo server locale con uno strumento di tunnel, oppure distribuisca un endpoint di staging con HTTPS, e registri quell’URL per le notifiche. Invii una transazione di test a un indirizzo monitorato e verifichi che il Suo gestore riceva, verifichi ed elabori l’evento. Ripeta con consegne duplicate e ritardate.

Sostituisca le chiavi live e gli URL di base tramite la configurazione, poi verifichi reti e asset supportati, stima delle commissioni, numero di conferme e limiti di frequenza. Ripeta i test di idempotenza dei webhook e invii un pagamento canary per confermare che l’intero flusso funzioni con fondi reali.

Come scriviamo questi articoli

Pronto a costruirlo da solo? Ottieni la tua API key — prova di 7 giorni, senza carta — oppure consulta Blockchain API per il riferimento completo degli endpoint.

C
Chaingateway Team
Esperti di blockchain

Il team di Chaingateway si impegna a semplificare l'integrazione blockchain per sviluppatori di tutto il mondo.