- Documentazione panoramica su x402: https://docs.cdp.coinbase.com/x402/docs/overview
- Esempi open source di x402: https://github.com/coinbase/x402
- Il collegamento di pagamento avviene sulla rete principale Base, gli asset utilizzano USDC;
- È necessario utilizzare la chiave privata EVM del wallet per generare l’intestazione di firma
X-PAYMENT; - Tutte le API si trovano sotto il dominio
https://platform.acedata.cloud, l’intestazioneAuthorizationdeve contenere il Platform Token.
I. Preparativi
1. Controlla l’ordine e registra le informazioni di pagamento
Accedi alla console https://platform.acedata.cloud, nella lista degli ordini o nella pagina dei dettagli dell’ordine puoi vedere l’ordine da pagare. I dettagli dell’ordine mostreranno:- ID ordine (ad esempio
7744945e-5e77-4dcc-a9c4-528692d17b34); - Indirizzo di pagamento
pay_to(restituito anche nella risposta 402, si consiglia di fare riferimento alle informazioni della pagina).
pay_to, poiché sarà necessario garantire che i fondi vengano inviati a tale indirizzo durante la firma successiva.
2. Prepara il wallet di pagamento e i fondi
- Prepara un wallet EVM che supporti la rete principale Base e esporta la chiave privata da utilizzare;
- Ricarica sufficienti USDC sulla rete principale Base (l’importo del pagamento è espresso in unità minime con 6 decimali);
- x402 Facilitator coprirà le spese di rete, il wallet di pagamento deve solo mantenere un numero sufficiente di USDC;
- La chiave privata è utilizzata solo per la firma locale, si prega di conservarla in modo sicuro, evitando di esporla nel browser o in ambienti non sicuri.
3. Crea il Platform Token
Il Platform Token è utilizzato per chiamare le API della piattaforma, simile alla funzionalità del Token utente utilizzato nel browser dopo il login, ma non scade. Segui i seguenti passaggi per crearlo:- Apri la pagina della console https://platform.acedata.cloud/console/platform-tokens;
- Clicca su “Crea Token”, compila le informazioni richieste e genera;
- Copia il Token generato (ad esempio
platform-v1-xxxx) e conservalo comeplatform_token.
Tutte le chiamate API successive devono includere nell’intestazione:
4. Richiedi informazioni di base
- Dominio base API:
https://platform.acedata.cloud - Percorso della richiesta di pagamento:
/api/v1/orders/{order_id}/pay/ - Richiesta e risposta utilizzano JSON, codificato in UTF-8.
II. Panoramica del processo di pagamento
- Inizia la richiesta di pagamento: prima richiesta
POSTsenza intestazioneX-PAYMENT, attiva la piattaforma per restituire 402 Payment Required; - Leggi i requisiti di pagamento: analizza l’array
acceptsnella risposta 402, conferma chenetworksiabase,assetsia USDC epayTocorrisponda a quanto indicato nella pagina dell’ordine; - Genera
X-PAYMENT: utilizza la chiave privata del wallet di pagamento, i requisiti nel corpo della risposta, le informazioni del dominio EIP-712 restituite dal Facilitator per generare la firma (solitamente completata con l’SDK ufficiale); - Ritenta con la firma: aggiungi l’intestazione
X-PAYMENTalla richiesta sullo stesso percorso, la piattaforma verifica e restituisce 200 se ha successo; - Analizza il risultato: leggi l’intestazione di risposta
X-PAYMENT-RESPONSE, puoi ottenere l’hash della transazione on-chain, l’importo effettivamente addebitato e altre informazioni per la riconciliazione.
III. Esempi di integrazione
1. Prima richiesta (attiva 402)
network: deve esserebase(rete principale Base);asset: indirizzo del contratto USDC su Base (esempio del contratto ufficiale sulla rete principale);maxAmountRequired: unità atomica di USDC necessaria per questo pagamento (1 USDC = 1.000.000 unità atomiche);payTo: indirizzo di pagamento della piattaforma, deve corrispondere a quanto indicato nella pagina dei dettagli dell’ordine;extra: informazioni del dominio EIP-712 necessarie per la firma, ecc.
2. Genera X-PAYMENT
La prassi comune è utilizzare l’SDK ufficiale (come x402-js, x402-fetch, x402.clients, ecc.):
- Converti la chiave privata del wallet di pagamento in un oggetto account;
- Registra i dati
acceptsdalla risposta 402, scegli l’opzione di pagamento connetwork == "base"; - Chiama la funzione di firma fornita dall’SDK per generare la stringa
X-PAYMENTcodificata in Base64 (non è necessario collegarsi direttamente al facilitator dal client; il backend della piattaforma si occuperà di chiamare il facilitator per completare la verifica/risoluzione); - Si consiglia di verificare se
maxAmountRequiredè entro il limite accettabile, in caso contrario avvisare l’utente di ricaricare.
extra.eip712 e successivamente firmando.
3. Ritenta con la firma
X-PAYMENT-RESPONSE può essere decodificato utilizzando la funzione di decodifica dell’SDK per ottenere l’hash della transazione on-chain, la rete di pagamento, l’indirizzo del pagatore e altri dati, utili per la registrazione o la visualizzazione nel business.
IV. Esempi di codice multilingue
I seguenti esempi presumono che vengano iniettati tramite variabili d’ambiente o file di configurazione:ACE_PLATFORM_TOKEN:Token della piattaforma;ACE_X402_ORDER_ID:ID dell’ordine;ACE_X402_PRIVATE_KEY:Chiave privata del portafoglio di pagamento (con prefisso0x)。
1. Axios(TypeScript)
2. Fetch(JavaScript)
3. Python requests
4. Python httpx(异步)
L’esempio mostra solo le chiamate chiave, in un ambiente di produzione si prega di aggiungere gestione delle eccezioni, strategie di ripetizione, registrazione e controllo della sicurezza.
Cinque, verifica dopo il pagamento riuscito
- Verifica della console:Visita la pagina dei dettagli dell’ordine
https://platform.acedata.cloud/console/orders/{order_id}. Se la pagina mostra “Pagamento riuscito” o lo stato dell’ordine è cambiato in pagato/completato, significa che il regolamento sulla catena è completato. - Verifica API:Chiama
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/e portaAuthorization: Bearer {platform_token}, controlla il campostatenella risposta (PAIDoFINISHEDindica pagamento riuscito). - Intestazione di ritorno:Leggi
X-PAYMENT-RESPONSEnella risposta di pagamento riuscito, puoi decodificare l’hash della transazione sulla catena come prova finale; si consiglia di salvare queste informazioni nei registri di sistema per la riconciliazione.
Sei, risoluzione dei problemi comuni
- Restituisce ancora 402:Verifica che l’indirizzo di pagamento abbia abbastanza USDC sulla rete principale Base, controlla se
maxAmountRequiredsupera il saldo del portafoglio o il limite personalizzato. - Errore di firma:Assicurati che la chiave privata abbia il prefisso
0x; durante la firma utilizza rigorosamenteextra(campo EIP-712) epayTonella risposta, non modificare l’ordine dei campi. - Rete non corrispondente:Potrebbero esserci più requisiti in
accepts, seleziona l’opzionenetwork === "base". - Manca
X-PAYMENT-RESPONSE:Indica che il pagamento non è stato effettivamente addebitato, puoi ripetere l’operazione in base all’errore nel corpo della risposta; se si verifica congestione sulla catena, riprova più tardi. - Token della piattaforma non valido:Verifica che il token non sia stato eliminato e inizi con il prefisso
platform-v1-; se l’interfaccia restituisce 401, puoi rigenerarlo nella console.
Sette, ulteriore aiuto
- Documentazione online e domande frequenti: navigazione in alto nella console della piattaforma “Documentazione”.
- Invia un ticket e supporto clienti: https://platform.acedata.cloud/support
- Comunicazione nella comunità: Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
- Altri canali: email
office@acedata.cloud,office@germey.tech; indirizzo aziendale 651 N Broad St, Suite 201, Middletown, Delaware, USA; per il supporto WeChat controlla il codice QR più recente nella pagina di supporto. - Feedback e suggerimenti: ti invitiamo a farci sapere le tue esigenze di miglioramento attraverso uno dei canali sopra.

