/verify och /settle.
Ace Data Clouds produktionsadress för Facilitator är:
v2 wire överenskommelse
Ace Data Clouds X402-länk använder nu officiellt x402 v2 och accepterar inte längre v1:sX-Payment begärningshuvud. Vid anslutning behöver tre punkter beaktas:
- Begärningshuvudet är
PAYMENT-SIGNATURE, värdet är en base64-kodad JSON envelope. - Envelope-toppnivån måste vara
x402Version: 2och användaaccepted-objektet för att deklarera det valdaschemeochnetwork. networkanvänder CAIP-2 identifiering (t.ex.eip155:8453), får inte skrivas sombaseeller liknande förkortningar.
PAYMENT-REQUIRED svarshuvud, vars värde är en base64-kodning av samma utmaningsinnehåll, vilket underlättar för klienten att läsa betalningskravet utan att behöva analysera kroppen.
Kärninterface
GET /supported
Visa stödda nätverk och scheme:
networkanvänder CAIP-2 identifiering, intebase,skaleeller liknande förkortningar./supportedindikerar att Facilitator har motsvarande verifierings- och avräkningskapacitet.- Base, SKALE och Solana stöder
exact;uptoerbjuds för närvarande endast på Base. signersär adresser som Facilitator använder för att skicka avräkningstransaktioner.- Huruvida ett specifikt API tillåter dessa alternativ beror fortfarande på det API:s 402
accepts.
POST /verify
Verifiera om den PAYMENT-SIGNATURE som skickats av klienten uppfyller ett visst betalningskrav.
Begärningskropp:
paymentRequirements fält är scheme, network, asset, amount, payTo, maxTimeoutSeconds och extra, beloppet anges i fältet amount. API 402-svaret kommer också att returnera maxAmountRequired i accepts[] för att klienten ska kunna läsa gränsen, men det tillhör inte Facilitator-begärningskroppen.
Framgångsrikt svar:
PAYMENT-RESPONSE för produktionsorder innehåller avräkningsresultatet efter avkodning. Resultatet av betalningen för Base-order:
success=Trueindikerar att Facilitator-avräkningen lyckades.transactionär hash för transaktionen på kedjan, ordernspay_idskrivs också med samma värde.- På explorer kan man se en överföring av
1200000atomic USDC. errorReason=Noneindikerar att denna avräkning inte returnerade några affärsfel.
isValid är false. Affärssidan bör läsa invalidReason, snarare än att bara titta på HTTP-statuskoden.
POST /settle
Avräkna den redan verifierade auktoriseringen på kedjan.
Begärningskroppen är i stort sett densamma som för /verify. Skillnaden för upto är: paymentRequirements.amount skrivs om till det faktiska avräkningsbeloppet; signeringsgränsen registreras av Facilitator under verifieringssteget, och vid avräkning kontrolleras det faktiska beloppet så att det inte överskrider den gränsen.
Framgångsrikt svar:
upto är 0, kan transaction vara en tom sträng, vilket indikerar att ingen kedjetransaktion behöver göras.
Hur Ace Data Cloud Gateway använder Facilitator
Ace Data Cloud API Gateway:s flöde är som följer:- Klienten gör första API-begäran utan
AuthorizationochPAYMENT-SIGNATURE. - Gateway beräknar det uppskattade priset för begäran och returnerar 402 och
accepts. - Klienten signerar och försöker igen med
PAYMENT-SIGNATURE. - Gateway avkodar
PAYMENT-SIGNATUREoch väljer en matchande betalningskrav. - Gateway anropar Facilitator
/verify. - Efter att
/verifyhar lyckats, släpper Gateway begäran till mål-API:t. - Efter att mål-API:t har returnerat, anropar Gateway Facilitator
/settleunder/record-steget. - Gateway skriver kedjetransaktionshashen i metadata för användningsloggen.
exacti steg 7 avräknar signaturbeloppet;uptoi steg 7 skriver inamountbaserat på verklig användning, och avräknar det faktiska beloppet.
Hur man ansluter sin egen API
Om du vill att din egen API ska stödja X402 kan du implementera enligt denna struktur:- För varje betalningsgränssnitt förbered
paymentRequirements, som innehåller nätverk, belopp, mottagaradress, tillgångsadress och signaturdomän. - Om begäran inte har
PAYMENT-SIGNATURE, returnera HTTP 402 ochaccepts. - Om begäran har
PAYMENT-SIGNATURE, avkoda Base64 för att fåpaymentPayload. - Anropa Facilitator
/verify. - Vid lyckad verifiering, utför affärslogik.
- Vid affärssuccé, anropa Facilitator
/settle. - Spara
payer,transaction,amount,networkför avstämning.
paymentRequirements för att anropa /verify och /settle, lita inte på belopp, mottagaradress eller tillgångsadress som skickas tillbaka av klienten.
Återspelningsskydd
Facilitator kommer att registrera nonce. Samma nonce kan inte verifieras och avräknas flera gånger. Detta innebär:- Klienten bör signera en ny envelope varje gång den gör en begäran;
- Om
/settlehar skickat en transaktion men ännu inte bekräftats, kan samma nonce användas för att försöka/settleför idempotent avstämning; - Lagra inte samma
PAYMENT-SIGNATUREför att användas vid flera API-anrop.

