accepts, oraz jak PAYMENT-SIGNATURE przekształca to samo żądanie API w żądanie opłacone.
Przygotowania
Musisz przygotować:
Podczas wywoływania Ace Data Cloud API X402 nie jest wymagany token API. SDK przy pierwszym żądaniu nie zawiera
Authorization, brama zwróci 402 Payment Required oraz wymagania dotyczące płatności; SDK automatycznie powtórzy próbę po podpisaniu.
Instalacja SDK
Adresy źródłowe i pakietów:- Repozytorium SDK: https://github.com/AceDataCloud/SDK
- Repozytorium X402 Client: https://github.com/AceDataCloud/X402Client
- npm:
@acedatacloud/sdk,@acedatacloud/x402-client - PyPI:
acedatacloud,acedatacloud-x402
acedatacloud-x402.
Instalacja i importowanie w czystym środowisku tymczasowym:
- Pakiety npm i PyPI są rzeczywiście opublikowanymi pakietami, a nie nazwami zastępczymi w dokumentacji.
acedatacloud-x402[cli]zainstaluje CLI, a podkomendaapprove-permit2może być używana do autoryzacji Permit2 w scenariuszachupto.
Pierwsze żądanie zwróci 402
Możesz najpierw użyćcurl, aby zobaczyć, co zwraca żądanie nieopłacone. Poniższy przykład nie spowoduje obciążenia, ponieważ nie zawiera PAYMENT-SIGNATURE:
accepts, a typowa struktura wygląda następująco:
PAYMENT-REQUIRED, co ułatwia klientowi odczytanie wymagań płatności bez analizy ciała.
Podsumowanie wyników programu dla nieopłaconego żądania API produkcyjnego wygląda następująco:
- Pierwsze żądanie nie zawierało
AuthorizationaniPAYMENT-SIGNATURE, dlatego zwrócono HTTP 402, co nie spowoduje obciążenia. acceptsjest jedyną wiarygodną podstawą podpisu dla tego żądania, zawiera opcjonalne sieci, schemat, maksymalną kwotę, adres odbiorcy i adres aktywów.networkto identyfikator CAIP-2, klient musi dopasować sieć zgodnie z ciągiem CAIP-2.- W tym przypadku maksymalna kwota dla minimalnego żądania czatu
gpt-4o-miniwynosi95215atomic USDC, co odpowiada0.095215USDC. - Każde żądanie powinno odczytywać odpowiedź 402, nie należy twardo kodować przykładowych kwot w kodzie biznesowym.
Użycie SDK do ponownego próby płatności
Poniżej znajduje się minimalny przykład w TypeScript. Określanetwork: 'skale', handler wybierze wymagania płatności SKALE z odpowiedzi 402; rzeczywista kwota i adres odbiorcy będą nadal zgodne z accepts.
content ADC_TS_SDK_X402_OKjest stałym ciągiem zwracanym przez model zgodnie z podanym zapytaniem, co oznacza, że po ponownym próbie płatności żądanie rzeczywiście trafiło do API modelu.payerto lokalny adres portfela podpisującego, klucz prywatny nie został wysłany do Ace Data Cloud.- SDK zakończyło analizę 402, podpis
PAYMENT-SIGNATUREi ponowne wysłanie oryginalnego żądania; kod biznesowy nadal jest napisany w zwykły sposób wywołania SDK.
- SDK wysyła zwykłe żądanie API, bez
Authorization. - Gateway zwraca
402 Payment Requirediaccepts. createX402PaymentHandlerwybiera wymaganie płatnościnetwork = 'skale'i podpisujePAYMENT-SIGNATURE.- SDK ponownie próbuje z tym samym ciałem żądania, Gateway wywołuje Facilitator w celu weryfikacji i rozliczenia, a następnie przekazuje do docelowego API.
Sprawdzenie możliwości Facilitatora
X402 API nie zależy od katalogu zasobów. Klient bezpośrednio wywołuje znane API i wykorzystuje zwrócone w czasie rzeczywistym402 Payment Required i accepts jako jedyną podstawę ceny i podpisu.
Deklaracja możliwości Facilitatora znajduje się pod adresem:
/supported, /verify, /settle oraz aktualnie aktywne sieci płatności, nie wymienia zasobów API.
Adres produkcyjny Facilitatora Ace Data Cloud to:
kinds wymieni sieci i schematy obsługiwane przez Facilitatora. W rzeczywistym wywołaniu nadal obowiązuje accepts zwrócone przez API.
Wyjście Facilitatora /supported:
/supportedwskazuje, że Facilitator ma zdolności weryfikacji i rozliczenia dla tych sieci i schematów.- Base, SKALE i Solana obsługują
exact;uptojest obecnie dostępne tylko na Base. - Czy konkretne API zezwala na daną sieć, nadal zależy od
acceptstego API w odpowiedzi 402.

