SDK PHP
PHP 7.4+Aggiungi pagamenti crypto alla tua app PHP con Composer.
composer require whollycrypto/php-sdkPER INIZIARE
Installa, accetta pagamenti e prenditi cura del tuo server.
Usa un VPS Linux nuovo con accesso root, non un server che ospita già siti o database. Non servono Docker, compilatori o nodi blockchain.
| VPS | Minimo Uso leggero | Consigliato |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| SSD | 20 GB | 60 GB |
Il minimo è un punto di partenza per un uso leggero con immagini Ubuntu/Debian minimali, non una garanzia di prestazioni. Le dimensioni del disco includono Linux; lascia almeno 3 GiB liberi prima della configurazione, più spazio per aggiornamenti, cronologia e backup.
L'installer nativo richiede x86-64, systemd 247+ e Python 3.9+. ARM64 e Alpine/OpenRC non sono inclusi.
Scegli una versione ancora mantenuta dal fornitore. I requisiti più elevati del sistema operativo hanno la precedenza: openSUSE Leap 16 richiede più di 40 GB di disco.
Più blockchain e fatture simultanee possono richiedere più CPU e RAM. Un VPS più grande non elimina i limiti RPC. I flussi di configurazione hanno test automatizzati; i test completi su VPS nuovi non sono ancora terminati per tutte le distribuzioni.
Punta questi nomi host predefiniti al tuo VPS, oppure scegline altri:
merchant.example.com: consolepay.example.com: checkoutapi.example.com: APIUsa record solo DNS durante la configurazione. Apri le porte TCP 80/443 in entrambi i firewall e mantieni accessibile SSH. Non esporre mai PostgreSQL o l'app sulle porte 5432/8080.
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh)La configurazione verifica i download e configura PostgreSQL, Nginx, HTTPS e i servizi. Preferisci i container? Vedi l' installazione Docker facoltativa.
Esamina l'installer. Aggiungi --check al comando per verificare la compatibilità senza installare, oppure --help per le opzioni.
Riprendi i progressi salvati senza sostituire chiavi o impostazioni:
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh) --resumeAltri domini di base possono usare gli stessi nomi dei servizi. Anche gli eventuali record IPv6 devono puntare a questo VPS. Attiva il proxy Cloudflare solo dopo la convalida del dominio.
I QR richiedono l'intero importo ancora dovuto. La tolleranza accetta solo piccoli ammanchi; le conferme restano necessarie.
Le nuove quotazioni delle stablecoin riconosciute vengono arrotondate per eccesso: 1.321 USDC → 1.33 USDC, anche con tolleranza zero. Minimo: 0.01 token.
Le fatture esistenti, i saldi e gli importi residui dei pagamenti parziali restano esatti. Gli altri token, inclusi quelli personalizzati, mantengono la normale precisione.
La registrazione dell'amministratore crea automaticamente il tuo account crediti con la tua email e un credito di benvenuto una tantum equivalente a 10 USD . Non serve alcun codice di attivazione.
Crea una fattura. L'attivazione in attesa viene ritentata automaticamente; le riconnessioni non assegnano mai di nuovo il credito.
Le tue credenziali Basic Auth sono salvate in /root/whollycrypto/config/setup-credentials.txt. Sono separate dall'email e dalla password della console.
I nuovi progetti ereditano le impostazioni predefinite di valuta e fuso orario del sistema; i negozi usano la valuta del progetto. I fusi orari degli account esistenti si gestiscono separatamente in Impostazioni → Account.
whollycrypto welcome mostra l'URL della tua console.
Le nuove installazioni dalla versione 7.0.0 richiedono di scegliere una modalità durante la configurazione del primo amministratore. La scelta è irreversibile; per cambiare modalità serve una nuova installazione. Le installazioni precedenti alla versione 7 restano in modalità commerciante, anche senza un amministratore.
Commerciante: gestisci i tuoi progetti e negozi. Operatore: ospita attività commerciali separate su un'unica installazione e applica una tua commissione prepagata di elaborazione. La tua attività è inclusa senza commissione interna dell'operatore.
La configurazione operatore richiede un quarto indirizzo, ad esempio operator.example.com, e un nome utente e una password Basic Auth dedicati. Scegli l'etichetta, punta il DNS al VPS, verifica il DNS e attiva HTTPS. Il pannello si apre direttamente a quell'indirizzo. Gli indirizzi di console commerciante, checkout e API restano separati.
Usa le nuove credenziali Basic Auth dell'operatore, poi l'email e la password dell'amministratore. Le credenziali Basic Auth del commerciante non cambiano. Puoi riprendere la configurazione dopo errori DNS o del certificato. Anche gli operatori che aggiornano dalla 7.0.0 completano questo passaggio; gli indirizzi già attivi restano disponibili.
Con il 3%, una fattura da 100 EUR costa 3 EUR di credito del commerciante. Se la valuta dei crediti è diversa, il tasso fiat al momento della creazione viene salvato con la commissione.
L'operatore paga separatamente la normale commissione dell'installazione Wholly Crypto. I fondi dei clienti non vengono suddivisi on-chain. Gli acquisti di crediti non subiscono un secondo addebito.
Solo un pagamento verificato automaticamente accredita una ricarica. Aprire un checkout o accettare manualmente una fattura non basta. Gli storni creano movimenti nel registro; una ricarica stornata che ricompare richiede una verifica dell'operatore.
Un credito insufficiente del commerciante ospitato sospende IPN, webhook, sweep e creazione di nuovi progetti o negozi. Le fatture esistenti dei clienti e la ricezione continuano a funzionare. Un credito insufficiente dell'installazione può sospendere le automazioni di tutte le attività ospitate. Disabilitare un commerciante blocca anche l'accesso e le nuove fatture, mentre i pagamenti precedenti restano monitorati.
È un isolamento a livello di applicazione, non un VPS separato per ogni commerciante. I commercianti non possono accedere a progetti, wallet, credenziali API, exchange o crediti degli altri. L'amministratore del server può accedere alle chiavi dei wallet online ospitati. Informane i commercianti prima dell'attivazione; usa hosting affidabile, backup indipendenti e risorse adeguate ai carichi condivisi.
Disponibile in modalità Operatore dalla 7.1.0.
Dalla 7.2.0, Wallet gestisce saldi di ricezione, indirizzi e backup; Sweep gestisce invii e regole automatiche. Conserva ETH per le commissioni dei token. Ricariche dei commercianti tiene traccia dei loro acquisti. I crediti nell'intestazione pagano separatamente le commissioni dell'installazione. La mia attività apre la tua console in una nuova scheda.
Apri Finanze per commissioni guadagnate, addebiti verificati dell'installazione, margine stimato e crediti attuali dei commercianti. Filtra per data, commerciante o valuta del report; esporta in CSV.
I report raggruppano le fatture in base al primo pagamento completato e riflettono gli ultimi storni delle commissioni. I saldi prepagati non sono ricavi. Gli addebiti della tua attività restano separati. Addebiti in attesa o tassi mancanti rendono indisponibili i margini interessati. Gli importi convertiti usano i tassi fiat attuali in cache; gas e costi operativi non sono inclusi.
Aggiungi commerciante crea un invito. Dalla 7.3.0, scegli un credito iniziale gratuito nella valuta dei crediti del commerciante; è ammesso zero. Questo non ricarica il tuo saldo operatore. Invia invito via email è selezionato per impostazione predefinita.
Configura il tuo provider SMTP in Impostazioni → Email di invito prima, usando TLS o STARTTLS. Il test della connessione non invia email. In alternativa, deseleziona l'email e condividi il link privatamente. Un invio fallito conserva l'account e il credito; non creare di nuovo il commerciante.
Per un altro link o per reimpostare la password, apri Commercianti → Gestisci → Account utente. L'accettazione SMTP non garantisce la consegna in posta in arrivo. Condividi separatamente le credenziali Basic Auth del commerciante, mai quelle dell'operatore.
Gli inviti durano 48 ore; i link di reimpostazione un'ora. Ognuno funziona una sola volta. Puoi sostituire o revocare un link dalla stessa schermata. La reimpostazione chiude le sessioni esistenti ma lascia attiva la 2FA. Le credenziali Basic Auth del commerciante restano necessarie.
Automatizza la gestione dei commercianti ospitati con SDK 2.6.0 e Wholly Crypto 7.4.0+. Attiva Operatore → Impostazioni → API operatore, poi crea una chiave con ambito limitato da usare sul server.
Crea account direttamente con una password o invia inviti. Gestisci utenti, progetti, negozi, commissioni e crediti prepagati locali; leggi i report e iscriviti agli eventi firmati del ciclo di vita. Il consenso alla custodia al primo accesso, la 2FA e l'isolamento dei clienti restano attivi.
Ogni scrittura richiede una chiave di idempotenza salvata. L'assegnazione di crediti è un adeguamento locale dell'account, non una ricarica dell'installazione. Segreti dei wallet, invio di fondi e configurazione del server restano esclusi da questa API.
Usa api.your-domain.com/v1/operator. Conserva le chiavi operatore nel backend, mai nel browser o presso un commerciante ospitato.
Riferimento e permessi dell'API operatore → · SDK PHP, Python e Node con esempi →
Impostazioni → Token carica prima 250 token, poi il resto del catalogo.
Progetto → Wallet → Backup di tutti esporta TXT o HTML offline con ricerca e codici QR. Entrambi espongono chiavi e frasi di recupero. Conserva una copia privata fuori dal server; non condividerla e non caricarla mai online.
Root può accedere alle chiavi. Guide al recupero dei wallet spiegano gli indirizzi delle fatture, il gas nativo e i backup esterni di Monero/Lightning.
Impostazioni → Rubrica: salva una blockchain e un indirizzo. Le monete native e i token riconosciuti da CoinGecko compaiono automaticamente. È in sola lettura e gestita dall'amministratore; i metodi accettati al checkout non cambiano.
La lettura dei token copre 22 blockchain. I saldi privati e i livelli aggiuntivi Bitcoin/CashTokens/Kaspa richiedono accessi o indicizzatori separati. Le letture fallite mostrano errori, non zeri.
Raccogli i saldi delle fatture in un altro wallet con invii manuali o sweep automatici. I trasferimenti di token richiedono anche la moneta nativa della blockchain per le commissioni.
Prezzo non disponibile riguarda i tassi, non i saldi.
Rete e decimali vengono verificati. I prezzi a livello di progetto non modificano le quotazioni esistenti. Una corrispondenza nel catalogo non abilita da sola il checkout.
DEX Screener richiede un pool con il contratto esatto, $10,000 di liquidità e uno scambio nell'ultima ora. I tassi si aggiornano ogni minuto; tassi non recuperabili o vecchi di cinque minuti bloccano le nuove quotazioni.
I prezzi DEX possono essere manipolati; i controlli non sono audit. Usa token ERC-20 standard o SPL classici affidabili. Token-2022 ed estensioni non sono supportati. Senza un pool adatto, usa un prezzo fisso.
Impostazioni → Sistema → Impostazioni regionali predefinite imposta valuta e fuso orario dei nuovi progetti e fuso orario dei nuovi account. Impostazioni e crediti esistenti non cambiano; la valuta della dashboard resta modificabile.
Fuso orario personale: Impostazioni → Account → Modifica utente.
Usa Metodi di pagamento → Scegli per questa fattura per limitare le blockchain e i token accettati. Tutti i metodi di pagamento del negozio mantiene le impostazioni predefinite.
Prova un piccolo pagamento con ogni metodo prima di andare online. Controlla la fattura prima di evadere un ordine: un URL di ritorno non è una prova di pagamento.
Per le integrazioni, verifica IPN e webhook firmati e conferma lo stato tramite l' API delle fatture. Tratta gli eventi duplicati come lo stesso evento.
API: filtra payment_methods per chain_slug e asset_tickers. Le scelte inattive vengono ignorate; senza corrispondenze si usano i valori predefiniti del negozio. La sola blockchain include tutti gli asset attivi. I ticker condivisi richiedono gli ID degli asset. Wallet e tassi restano necessari.
Scanner offline? Le fatture mantengono i metodi configurati mentre il rilevamento attende. Controlla le API supportate in Connessioni blockchain; un provider funzionante non è necessariamente compatibile con lo scanner. Predefinito: due provider indipendenti.
Wallet e tassi restano necessari. I servizi Monero/Lightning devono emettere le richieste di pagamento.
Gli errori API/MCP includono error.details.payment_methods. SDK 2.4.0 aggiunge spiegazioni sicure: PHP getPaymentMethodIssues(), Python payment_method_issues, Node paymentMethodIssues. Riferimento degli errori →
Le quotazioni crypto si arrotondano per eccesso e includono lo spread del negozio. Una fattura con prezzo in fiat non converte la crypto ricevuta in un saldo bancario.
Con zero conferme il pagamento si completa al rilevamento, senza la protezione delle conferme di rete. I pagamenti EVM nativi vengono rilevati come trasferimenti diretti. Esamina i pagamenti insoliti o incerti in Richiede attenzione.
Controlla Connessioni blockchain per API compatibili, cronologia completa e provider indipendenti. Il recupero dello storico da un nodo diretto richiede tempo. Tutte le API di ricezione →
Pagamenti, saldi e manutenzione condividono i limiti dei provider. I controlli inattivi rallentano. Le fatture più vecchie mantengono il monitoraggio dei pagamenti tardivi e delle riorganizzazioni, fino a una volta all'ora dopo il recupero dello storico. Gli indizi WSS disponibili integrano la scansione HTTP. Chiudere il checkout non interrompe mai il rilevamento. I nodi pubblici hanno comunque dei limiti; Wholly Crypto non gestisce nodi.
Bloccate per impostazione predefinita. Attiva Negozi → Fattura → Consenti fatture a importo zero per consentire totali pari a zero manualmente o via API. Si completano subito, senza pagamento, indirizzo di ricezione, transazione o commissione di elaborazione.
Negozio → Checkout: colori, loghi, metodi, link, dimensioni dei caratteri Intro/Outro e visibilità dei nomi di progetto e negozio. I nuovi negozi ereditano il design del negozio predefinito. Le modifiche si salvano automaticamente.
Le anteprime non possono accettare pagamenti. Niente HTML/CSS/JavaScript personalizzato.
IPN invia ogni evento della fattura all'URL del negozio o al campo della fattura ipn_url. I webhook inviano gli eventi selezionati. Entrambi inviano con POST la stessa istantanea JSON.
Quando devo evadere l'ordine? Per la gestione basata sugli eventi, usa event_type = invoice.settled con status = settled. Verifica la fattura attuale e il tuo ordine, poi evadilo una sola volta. payment.received da solo non basta.
status è lo stato della fattura alla creazione dell'evento; event_type indica che cosa è successo.
payment.received + processing, poi invoice.settled + settled.payment.received e invoice.settled riportano entrambi settled.Entrambi i flussi possono verificarsi su altre blockchain. Sono eventi distinti, non necessariamente due pagamenti. Possono condividere sequence ma avere valori diversi di event_id . L'ordine di consegna non è garantito; non richiedere che processing arrivi per primo.
| Stato della fattura | Significato |
|---|---|
new | In attesa del pagamento |
processing | Pagamento parziale o in attesa di finalità |
settled | Accettato secondo le regole della fattura o manualmente |
expired | Scadenza superata; il monitoraggio dei pagamenti tardivi può continuare |
invalid | Il pagamento richiede una verifica o è stato rifiutato |
cancelled | Annullato, non rimborsato |
Eventi: invoice.created, payment.received, invoice.processing, invoice.settled, invoice.expired, invoice.invalid, invoice.cancelled. Tabella completa degli eventi e regole per le eccezioni →
amount_status: none, partial, paid, overpaid. paid include la tolleranza, non la finalità. timing_status: on_time oppure late. resolution: automatic, manually_settled oppure manually_invalidated. Applica la tua politica per le eccezioni quando requires_review è true.
invoice_id corrisponde alla risposta API. amount, currency e order_id descrivono il tuo ordine originale. payment_info aggiunge trasferimenti, importi crypto esatti, quotazione/spread/tolleranza bloccati e tassi indicativi. Dati dei clienti e metadati sono privati.
paid_chain, paid_asset, paid_payment_method_id, paid_asset_amount, paid_asset_amount_received e settlement_exchange_rate riassumono il regolamento. Restano congelati; prove o cronologia mancanti restano null. Per le ricevute successive usa payment_info oppure l' API dei pagamenti.
Usa stringhe decimali. Non sommare mai asset diversi e non considerare mancanti i fondi non confermati. Gestisci le eccezioni in modo esplicito; un avviso da solo non autorizza mai l'evasione o il rimborso. Le ricariche interne di gas verificate non sono pagamenti dei clienti e non attivano payment.received.
Segreti di firma separati: Negozio → IPN firma le consegne IPN, incluso il campo personalizzato della fattura ipn_url. Ogni endpoint in Negozio → Webhook ha un proprio segreto, mostrato quando viene creato o ruotato.
Entrambi usano Wholly-Signature e lo stesso verificatore SDK, ma richiedono il segreto corrispondente, non una chiave API. Ruotare il segreto IPN non modifica i segreti dei webhook.
Verifica il corpo grezzo, il timestamp e l'ambito progetto/negozio. Salva in modo durevole, poi restituisci HTTP 2xx. Un worker controlla la fattura attuale tramite l'host API configurato ed evade l'ordine una sola volta in una transazione del database. Gli header non sono firmati; usa l'identità nel corpo firmato della versione 2.
Basato sugli eventi: deduplica il valore firmato event_id, poi filtra invoice.settled. SDK basato sullo stato: raggruppa per progetto + invoice_id + sequence, poi controlla lo stato indipendentemente dal tipo di evento. Non aggiungere un filtro eventi dopo questo raggruppamento. Entrambi richiedono una protezione separata dai duplicati a livello di ordine.
I nuovi tentativi mantengono corpo e ID evento originali. Le revisioni più vecchie non devono sovrascrivere quelle più recenti. IPN effettua fino a otto tentativi; i nuovi tentativi dei webhook sono facoltativi. Un credito basso sospende le consegne, non i pagamenti.
Negozio → IPN / Webhook → Cronologia → Dettagli mostra il corpo salvato e il risultato. I payload scadono dopo 90 giorni. Un reinvio non è una prova di pagamento completato.
Invia gli asset supportati a Kraken, Binance o Coinbase. Conserva la moneta oppure converti i depositi accreditati. La valuta fiat resta sull'exchange.
I minimi di deposito si applicano a ogni transazione, non a ogni sweep. I depositi sotto il minimo fermano il piano. Consolida prima i piccoli saldi nel tuo wallet; si applicano commissioni di rete aggiuntive.
I mercati si aggiornano ogni due minuti. Solo i depositi abbinati e accreditati possono essere convertiti; mercati obsoleti bloccano i nuovi ordini. Una riserva dell'1% dell'asset di origine resta sull'exchange per commissioni e arrotondamenti, separata dai crediti di elaborazione.
Mantieni importo minimo riserva monete/token in tutto il progetto dopo gli sweep automatici. È separato dalla soglia di attivazione; zero non conserva nulla. Le commissioni usano l'eccedenza. Gli invii manuali non cambiano.
Riprendi i trasferimenti incerti; non sostituirli mai. I wallet restano riservati fino alla conferma o alla scadenza di una quotazione inutilizzata. Gli sweep grandi richiedono più lotti.
Si applicano custodia dell'exchange, KYC, limiti regionali e commissioni. Niente pagamenti bancari o leva. Un credito basso sospende le nuove conversioni; gli ordini già inviati continuano a essere riconciliati.
Continui a ricevere pagamenti quando i crediti finiscono. I negozi esistenti mantengono fatture, checkout e monitoraggio dei pagamenti. Una connessione di fatturazione verificata mancante o la sospensione dell'account sono casi diversi e possono bloccare le nuove fatture.
| Sempre disponibile | Sospeso senza credito utilizzabile |
|---|---|
| Fatture, checkout e conferme | IPN/webhook, inclusi i nuovi tentativi |
| Wallet, saldi e backup | Sweep: invii, gas, rimborsi e nuove conversioni tramite exchange |
| Report, API di lettura e impostazioni esistenti | Creazione di progetti e negozi |
| Controllo degli aggiornamenti e recupero degli aggiornamenti interrotti | Installazione di nuove versioni |
Ricarica tramite l'icona dei crediti. Dopo il ripristino verificato, le automazioni attive riprendono, comprese le regole sweep che inviano fondi. Disattiva le regole che non vuoi far ripartire.
Apri Ricarica automatica dopo Richieste. Scegli un wallet di ricezione di cui hai il backup, soglia, importo d'acquisto, limite giornaliero e tetto alle commissioni di rete. Autorizza e salva. All'inizio è disattivata.
Usa BTC, ETH o USDC/USDT su Ethereum quando disponibili. Gli indirizzi che inviano token hanno bisogno di ETH; questa regola non finanzia il gas mancante. Gli operatori usano wallet di ricezione dedicati; i commercianti ospitati pagano il proprio operatore.
La ricarica approvata può essere eseguita anche quando i crediti bassi sospendono Sweep. Solo il servizio ricevente conferma il credito. Viene eseguito un acquisto automatico alla volta. La disattivazione ferma le operazioni non inviate, non le transazioni già trasmesse.
In Ricarica automatica, usa Controlla pagamento. Riprendi lo stesso pagamento valido, oppure chiudi un trasferimento Ethereum di cui è stato verificato il fallimento e sospendi la regola. I pagamenti in attesa o incerti restano bloccati per evitare invii duplicati. Una quotazione scaduta non dimostra il fallimento.
L'1% predefinito usa il valore fiat originale della fattura saldata. I pagamenti crypto dei clienti non vengono suddivisi.
Le commissioni continuano ad accumularsi in un saldo negativo. Salda l'importo negativo e ripristina credito utilizzabile sopra la soglia di tolleranza del tuo account. Le variazioni di saldo compaiono normalmente entro 10–15 secondi con una connessione funzionante.
L'installazione degli aggiornamenti richiede credito verificato superiore a zero, anche con una tolleranza per le automazioni. Le ricariche non installano mai aggiornamenti automaticamente.
Le notifiche sospese non consumano tentativi. Le consegne conservate riprendono; resta valida la normale scadenza. Riconcilia gli eventi mancati tramite l'API delle fatture.
Se l'operatore disattiva le commissioni di elaborazione, non si applicano nuove commissioni né restrizioni legate al credito. Gli addebiti precedenti restano nella cronologia. Un'installazione non associata può configurare progetti e negozi, ma per emettere fatture serve una fatturazione verificata. Le fatture già emesse restano monitorate.
Grafici dei ricavi e filtri restano sopra le schede: Progetti e negozi, Fatture, Wallet e Sweep. Cerca sotto. Progetti e negozi include le esportazioni CSV. Le date personalizzate coprono fino a 366 giorni. I wallet usano i saldi in cache.
Accesso facoltativo limitato al progetto su api.example.com/mcp. Leggi i pagamenti o approva la creazione di fatture. Configurazione e permessi MCP →
Usa i nostri SDK ufficiali per creare fatture, controllare i pagamenti e verificare IPN e webhook.
Aggiungi pagamenti crypto alla tua app PHP con Composer.
composer require whollycrypto/php-sdkCollega la tua app o il tuo backend Python senza dipendenze di runtime.
python -m pip install whollycryptoJavaScript o TypeScript, un pacchetto npm con tipi integrati.
npm install whollycryptoUsa il dominio API della tua installazione e conserva le chiavi API lato server. Tutti gli SDK hanno licenza MIT.
Sposta i fondi ricevuti verso la destinazione scelta. Gestisci regole e cronologia in Progetto → Sweep.
Invia monete native su 29 blockchain; Monero resta in sola visualizzazione. Token: ERC-20 verificati e SPL classici. Invii manuali e sweep automatici usano le stesse protezioni.
A BTC, EVM, SOL e TRX si aggiungono 18 adattatori nativi. Usa un provider in grado di trasmettere transazioni. ZEC supporta solo indirizzi trasparenti; ADA conserva gli output con token; DOT usa Asset Hub; HBAR richiede un relay. Le destinazioni che richiedono memo/tag/commenti in uscita necessitano di un wallet esterno.
Finanziamento del gas, conferme e invio dei token continuano in background dopo l'approvazione. Segui Attività dei trasferimenti, anche dopo aver chiuso la finestra. La trasmissione non è una conferma.
ETH da mantenere nel wallet del progetto: 0 non aggiunge una riserva; non spende tutti i tuoi ETH. 0.005 conserva almeno 0.005 ETH per dopo, quindi servono fondi aggiuntivi per questa operazione. Le regole automatiche salvate restano invariate.
Il limite giornaliero pone un tetto al gas nativo assegnato a ogni regola token nelle ultime 24 ore mobili. €1 può essere un limite iniziale per un uso leggero, non un costo garantito né un addebito giornaliero. Anche le transazioni di finanziamento hanno commissioni. Commissione di rete massima % può limitare le commissioni complessive di finanziamento e trasferimento.
I controlli vengono eseguiti automaticamente. Solo gli indirizzi idonei che contengono token ricevono gas; gli indirizzi vuoti no. Un indirizzo con fondi insufficienti sotto il minimo dello sweep attende. Spiegazione dei limiti del gas →
Invio disattivato? Controlla whollycrypto transfers status. Controlla ogni regola attiva prima di whollycrypto transfers enable: vale per tutto il server e può eseguire subito le regole salvate. Fermare i passaggi futuri non può annullare le transazioni trasmesse.
Impostazioni → Sistema: scegli Gestione oppure Aggiungi dominio. Salva, verifica il DNS, pubblica. Gli host invariati saltano i controlli DNS/SSL.
Negozio → Generale: scegli host attivi per console commerciante, pagamenti e API. I link seguono la priorità negozio → negozio predefinito → sistema; i nomi ritirati passano al livello successivo. Configura separatamente gli host degli SDK. I tentativi firmati mantengono i link originali.
HTTPS è automatico. Attiva o disattiva Cloudflare dopo la configurazione; Let's Encrypt resta attivo.
/.well-known/acme-challenge/ sulla porta 80 senza reindirizzamenti o verifiche interattive per i rinnovi.I controlli interrogano il DNS autoritativo e verificano l'origine: diretta o Cloudflare. I visitatori potrebbero avere vecchi DNS in cache.
Salvataggi ed eliminazioni nella console usano POST dalla 5.6.2; non serve un'eccezione «Not GET or POST». Login e CSRF restano attivi. Su api.*, consenti i metodi documentati dell'API pubblica.
Configura la 2FA in Impostazioni → Account. Gli utenti limitati a un progetto usano La mia sicurezza nel piè di pagina. Conferma la password, scansiona il QR o la chiave TOTP e inserisci un codice a sei cifre.
Prova Verifyr Authenticator per iOS oppure Android, oppure un'altra app TOTP standard. Salva i codici di recupero monouso separatamente dalla password. Mantieni attiva la protezione HTTP Basic.
Sostituire i codici o disattivare la 2FA richiede la password e un codice dell'autenticatore o di recupero inutilizzato. Le altre sessioni vengono disconnesse. Mantieni sincronizzati gli orologi del telefono e del server; la 2FA non protegge un server compromesso.
L'icona del tema passa tra Chiaro → Attenuato → Scuro e ricorda la scelta in questo browser. I temi del checkout dei negozi sono separati.
merchant.* oppure api.* . L'IP attuale della console deve restare consentito.pay.* aperto: i clienti devono poter pagare da ovunque.Puoi aggiungere regole di accesso Cloudflare. Escludi le verifiche di rinnovo HTTPS; evita verifiche interattive di accesso su API e checkout. La sola modalità proxy non è una restrizione IP.
Accesso bloccato? Esegui whollycrypto access-reset --domain merchant.example.com via SSH. Solo quel nome host viene riaperto, entro cinque secondi; l'autenticazione dell'account resta attiva.
whollycrypto ssl
whollycrypto ssl --fixIl primo comando controlla i certificati attivi. --fix ripara i file di supporto TLS e rinnova i certificati mancanti o in scadenza. Nginx deve essere in esecuzione; mantieni aperte le porte 80/443.
Esegui whollycrypto ssl --domain merchant.example.com --reissue per forzare una sostituzione. Si applicano i limiti di emissione. Se Cloudflare blocca la verifica HTTP, usa temporaneamente la modalità solo DNS. Wallet, autenticazione e domini restano invariati.
Le decisioni richiedono una motivazione. I rimborsi richiedono un trasferimento separato e confermato; cambiare lo stato di una fattura non invia mai denaro.
Leggi le note di rilascio, poi usa Impostazioni → Sistema → Aggiornamenti software o la CLI. Gli aggiornamenti verificano le firme, creano backup e controllano lo stato. Il checkout si sospende durante l'installazione.
whollycrypto update --check
whollycrypto updateGli aggiornamenti attendono fino a due minuti le attività in background; il checkout resta online. In caso di timeout, i timer vengono ripristinati.
Vecchio updater bloccato? Esegui questo comando una volta. La chiave installata verifica lo strumento di supporto.
bash <(curl -fsSL https://releases.whollycrypto.com/update_wholly.sh)Conserva backup collaudati fuori dal server di PostgreSQL, configurazione, chiavi di cifratura dei wallet ed esportazioni dei wallet. Gli archivi di recupero locali non sono cifrati.
Ripristina insieme i backup corrispondenti di database e configurazione. Non interrompere mai le migrazioni e non eseguire binari più vecchi con database più recenti. Le regole dei crediti restano valide.
Configurazione e aggiornamenti provano automaticamente il mirror GitHub ufficiale. I controlli di firma, checksum e credito restano obbligatori.
Comandi root via SSH.
whollycrypto status
whollycrypto doctor
whollycrypto backup| Comando | Scopo |
|---|---|
whollycrypto version | Versione installata. |
whollycrypto status | Stato dell'app e del database. |
whollycrypto logs | Ultime 80 righe del log dell'app. |
whollycrypto restart | Riavvia e controlla lo stato. |
whollycrypto doctor | Controlli dell'installazione in sola lettura. |
whollycrypto doctor --fix | Ripara i permessi gestiti e un collegamento CLI mancante. |
whollycrypto htaccess | Reimposta le credenziali Basic Auth. |
whollycrypto admin-reset | Reimposta la password di un amministratore. |
whollycrypto 2fa-reset | Reimposta l'autenticatore di un account senza cambiarne la password. |
whollycrypto transfers statuswhollycrypto transfers enablewhollycrypto transfers disable | Controlla, attiva o sospende gli invii per tutti i progetti. L'attivazione riavvia l'app e può eseguire subito le regole salvate; serve conferma. Gli aggiornamenti conservano le sospensioni. |
whollycrypto ssl | Controlla HTTPS; aggiungi --fix per riparare. |
whollycrypto access-reset --domain HOST | Rimuove la restrizione IP di un nome host. |
whollycrypto update --check | Cerca aggiornamenti firmati. |
whollycrypto update | Esegue il backup, aggiorna e riavvia. |
whollycrypto backup | Archivio accessibile solo a root in /root/whollycrypto/backups/releases/. |
whollycrypto recover | Recupera una manutenzione interrotta o un aggiornamento con schema invariato. Non ripristina mai automaticamente un database. |
whollycrypto reset | Scegli un progetto, tutti i progetti commerciali o solo la riparazione. |
whollycrypto uninstall --checkwhollycrypto uninstall | Mostra l'anteprima, poi rimuove il runtime nativo. Database, chiavi e backup restano. |
whollycrypto welcome | URL della console e link. |
whollycrypto --help | Comandi; aggiungi --help dopo un comando per le sue opzioni. |
I controlli sono in sola lettura e terminano con un codice diverso da zero quando è necessario intervenire. --fix ripara solo i permessi gestiti e un collegamento CLI mancante. Non modifica mai la fatturazione, non elimina dati e non riavvia servizi.
whollycrypto reset
# Preview without changing anything:
whollycrypto reset --scope business --check
whollycrypto reset --scope project --project YOUR_PROJECT_IDENTIFIER --checkScegli un progetto, tutti i progetti commerciali o solo la riparazione. Il ripristino dei progetti elimina definitivamente progetti selezionati, negozi, record dei wallet e cronologia dei pagamenti. La sola riparazione controlla e corregge i permessi gestiti e il collegamento CLI.
Disattiva prima i progetti selezionati, risolvi i pagamenti e i trasferimenti aperti e sposta i saldi noti dei wallet. Account, domini, nodi, crediti, identità di fatturazione e modalità dell'installazione restano. I wallet di ricezione dell'operatore e i registri dei crediti ospitati sono protetti. Questo non riapre la procedura guidata di configurazione.
Un ripristino distruttivo richiede una conferma digitata e crea un backup di recupero verificato prima dell'eliminazione. Conserva anche un backup dei wallet fuori dal server: i vecchi indirizzi possono ancora ricevere fondi, ma i progetti eliminati smettono di monitorarli. I saldi in cache non dimostrano che i wallet siano vuoti.
whollycrypto uninstall --check
whollycrypto uninstallFerma checkout, API e worker; rimuove i file di runtime e l'integrazione gestita del server dopo backup e conferma digitata. Pagamenti o trasferimenti in attesa bloccano la rimozione. I file vengono spostati nel backup di recupero invece di essere cancellati.
Database, configurazione, chiavi e backup restano. I pacchetti condivisi Nginx/PostgreSQL e i certificati TLS non vengono toccati. Il comando mostra un comando di recupero offline; non eseguire una nuova configurazione sui dati conservati.
I comandi di ripristino e rimozione sono per installazioni VPS native, non Docker o Umbrel. Per i container usa i comandi di backup e arresto della tua integrazione; conserva i volumi. Nessuno dei due comandi distruttivi accetta --yes.
whollycrypto htaccessSeleziona un utente, scegli nome e password e conferma. Questo reimposta la prima richiesta di accesso del browser, non il tuo account console. Gli altri utenti e le credenziali API restano invariati.
whollycrypto admin-resetScegli un amministratore tramite email e conferma la nuova password. Le sessioni e i blocchi di accesso all'account vengono rimossi; le restrizioni IP restano.
I ripristini normali mantengono la 2FA. Se hai perso sia l'autenticatore sia i codici di recupero, esegui esplicitamente whollycrypto admin-reset --email admin@example.com --reset-2fa. Configura di nuovo la 2FA dopo l'accesso.
Richiede il database, non l'app né la vecchia password. Altri account, wallet e permessi restano invariati; gli account disattivati restano disattivati.
Hai perso sia l'autenticatore sia i codici di recupero? Scegli un account come root.
whollycrypto 2fa-reset
# Or select the account directly:
whollycrypto 2fa-reset --email user@example.comRimuove sessioni, autenticatore e codici di recupero. Accedi con la password esistente e configura di nuovo la 2FA. Permessi, wallet e Basic Auth restano invariati; gli account disattivati restano disattivati.
Richiede il database, non l'app né i crediti. Senza interazione: --email e --yes.
Invio genera una password in /root/whollycrypto/config/credential-resets/: privato, non cifrato, utilizzabile dopo il completamento. Le password inserite manualmente non vengono salvate.
whollycrypto htaccess --user admin --new-user operator
whollycrypto admin-reset --email admin@example.comSenza terminale, specifica l'account esistente più --generate oppure --password-file /root/private-password.txt, e --yes. I file delle password devono appartenere a root, con permessi 600. Non inserire mai password nei comandi o nelle variabili d'ambiente.
--yes salta solo la conferma. Completa prima il recupero di un aggiornamento interrotto; modifiche simultanee agli account fermano i ripristini.