Skip to main content
Utöver att betala direkt per API-begäran stöder Ace Data Cloud också betalning av kontrollpanelsordrar med X402. Orderbetalning och API-anrop använder samma kärnprotokoll: den första begäran returnerar 402, klienten signerar PAYMENT-SIGNATURE och försöker sedan igen med samma begäran. Skillnaden är att orderbetalning tillhör plattformens API och kräver en kontotoken; medan direktanrop till AI API:t x402.acedata.cloud kan använda enbart X402 och inte kräver någon API-token.

Förbered ordern

Gå till Ace Data Cloud-kontrollpanelen, välj ordern som ska betalas och notera order-ID:t. Om du ännu inte har någon order kan du skapa en obetald order på paketsidan. Orderpriset följer det som visas på sidan, och amount i X402 402-svaret är den slutgiltiga grunden för signeringen.

Skapa kontotoken

Begäran om orderbetalning kräver en kontotoken. Öppna plattformens Token-sida och skapa en token i formatet platform-v1-.... Använd följande i efterföljande begäranden:
Kontotoken skiljer sig från vanlig API-token. Vanlig API-token används för att förbruka API-kvot; kontotoken används för att representera ditt konto vid hantering av plattformsresurser, såsom orderbetalning.

Utlös 402

Skicka först en begäran utan PAYMENT-SIGNATURE:
Returneringsstatusen är 402 och svaret innehåller accepts:
Orderbetalning använder officiell x402 v2: x402Version är 2, network använder CAIP-2-identifierare och beloppsfältet är amount. Programkörningsresultat för att skapa en order på 10 Credits och utlösa 402:
Följande transaktionsposter är historiska praktiska testexempel från den gamla policyn. Belopp och transaktionshashar behålls oförändrade. Nya X402-order har inte längre rabatt för betalningsmetod; använd amount i det aktuella 402-svaret som grund för signering och betalning.
Resultatförklaring:
  • Efter att ordern har skapats är statusen Pending, och det har ännu inte skett någon betalning på kedjan.
  • Den första pay/-begäran innehåller inte PAYMENT-SIGNATURE, därför returneras HTTP 402.
  • accepts anger både Base exact och Solana exact; denna guide väljer Base i fortsättningen.
  • Orderpriset vid skapandet var 1.26. Vid betalning under den gamla rabattpolicyn för X402-betalning var det faktiska signerade och avräknade beloppet 1.2 USDC, motsvarande 1200000 atomic USDC.
Observera att resource här är ett fält som returneras av servern och deltar i signeringen; klienten ska inte själv ändra protokoll, sökväg eller order-ID i det.

Signera och försök igen

Orderbetalning kan återanvända signeringsfunktionerna på låg nivå i @acedatacloud/x402-client eller acedatacloud-x402. Nedan följer ett TypeScript-exempel:
Programkörningsresultat efter signering och nytt försök med Base exact för samma order:
Resultat för bekräftelse på kedjan:
Resultatförklaring:
  • status 200 anger att plattformens betalnings-API för order accepterade denna PAYMENT-SIGNATURE.
  • has_x_payment_response True anger att svarshuvudet innehåller ett Base64-kodat PAYMENT-RESPONSE-kvitto.
  • settle_header.success=True och network=base anger att Facilitator har slutfört Base settlement.
  • Orderns slutliga status är Finished, pay_way är X402, och pay_id skrivs som transaktionshashet på kedjan.
  • Händelsen Transfer på BaseScan visar att betalningsadressen överförde 1200000 atomic USDC till plattformens mottagaradress, alltså 1.2 USDC.

Lyckat svar och kvitto

När orderbetalningen har lyckats är svarskroppen orderinformation. Plattformen skickar även ett Base64-kodat settlement response i svarshuvudet PAYMENT-RESPONSE; efter avkodning omfattar vanliga fält: Om du behöver avstämning rekommenderas att samtidigt spara order-ID, betalande plånboksadress, transaction och orderns slutliga status.

Observera

  • Orderbetalning kräver en plattformskontotoken och kan inte slutföras enbart med X402-plånbokssignaturen.
  • amount använder USDC atomic units, där 1200000 motsvarar 1.2 USDC.
  • Sätt inte ihop mottagaradressen eller tillgångsadressen själv; utgå från accepts i 402-svaret.
  • Om samma PAYMENT-SIGNATURE skickas in upprepade gånger använder Facilitator nonce för replay-skydd.

Svar vid betalningsfel

Den första HTTP 402 utan PAYMENT-SIGNATURE är en normal betalningsutmaning och innebär inte att betalningen har misslyckats. Verifierings- eller settlement-fel efter signering behåller fortfarande standardsträngen error som en kompatibilitetsreserv och returnerar en stabil felstruktur i extensions.acedatacloud.paymentError:
Klienten bör i första hand lokalisera enligt code; okända code ska falla tillbaka till ett generellt betalningsfel. charged är ett trelägesfält: false returneras endast när betalningen uttryckligen nekas före settlement; om fältet saknas är debiteringsstatusen okänd och får inte tolkas som ”inte debiterad”. När den aktuella ordern har gått in i Failed kan den inte försöka igen med samma order; skapa en ny order efter att ha åtgärdat plånboksproblemet. Logga eller skicka inte in fullständig PAYMENT-SIGNATURE, plånbokssignatur, auktoriserings-payload, Facilitators råa diagnostik eller RPC-svar. Kundtjänstens felsökning behöver endast order-ID och den offentliga fel-code.