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, ochamount 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 formatetplatform-v1-....
Använd följande i efterföljande begäranden:
Utlös 402
Skicka först en begäran utanPAYMENT-SIGNATURE:
accepts:
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.
- 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 intePAYMENT-SIGNATURE, därför returneras HTTP 402. acceptsanger både Baseexactoch Solanaexact; 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 beloppet1.2USDC, motsvarande1200000atomic USDC.
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:
exact för samma order:
status 200anger att plattformens betalnings-API för order accepterade dennaPAYMENT-SIGNATURE.has_x_payment_response Trueanger att svarshuvudet innehåller ett Base64-kodatPAYMENT-RESPONSE-kvitto.settle_header.success=Trueochnetwork=baseanger att Facilitator har slutfört Base settlement.- Orderns slutliga status är
Finished,pay_wayärX402, ochpay_idskrivs som transaktionshashet på kedjan. - Händelsen
Transferpå BaseScan visar att betalningsadressen överförde1200000atomic USDC till plattformens mottagaradress, alltså1.2USDC.
Lyckat svar och kvitto
När orderbetalningen har lyckats är svarskroppen orderinformation. Plattformen skickar även ett Base64-kodat settlement response i svarshuvudetPAYMENT-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.
amountanvänder USDC atomic units, där1200000motsvarar1.2USDC.- Sätt inte ihop mottagaradressen eller tillgångsadressen själv; utgå från
acceptsi 402-svaret. - Om samma
PAYMENT-SIGNATUREskickas in upprepade gånger använder Facilitator nonce för replay-skydd.
Svar vid betalningsfel
Den första HTTP 402 utanPAYMENT-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:
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.
