Skip to main content
Ten samouczek opisuje pełny proces Ace Data Cloud X402 za pomocą minimalnego żądania API. Celem nie jest napisanie skomplikowanego kodu, ale zrozumienie: dlaczego pierwsze żądanie zwraca 402, co znajduje się w 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: TypeScript:
Python:
Jeśli chcesz używać Solana, musisz również zainstalować odpowiednie zależności:
Zależność Solana signer w wersji Python jest już zawarta w acedatacloud-x402. Instalacja i importowanie w czystym środowisku tymczasowym:
Opis wyników:
  • Pakiety npm i PyPI są rzeczywiście opublikowanymi pakietami, a nie nazwami zastępczymi w dokumentacji.
  • acedatacloud-x402[cli] zainstaluje CLI, a podkomenda approve-permit2 może być używana do autoryzacji Permit2 w scenariuszach upto.

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:
Ciało odpowiedzi będzie zawierać tablicę accepts, a typowa struktura wygląda następująco:
Ta sama treść wyzwania będzie również umieszczona w formie base64 w nagłówku odpowiedzi 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:
Opis wyników:
  • Pierwsze żądanie nie zawierało Authorization ani PAYMENT-SIGNATURE, dlatego zwrócono HTTP 402, co nie spowoduje obciążenia.
  • accepts jest jedyną wiarygodną podstawą podpisu dla tego żądania, zawiera opcjonalne sieci, schemat, maksymalną kwotę, adres odbiorcy i adres aktywów.
  • network to identyfikator CAIP-2, klient musi dopasować sieć zgodnie z ciągiem CAIP-2.
  • W tym przypadku maksymalna kwota dla minimalnego żądania czatu gpt-4o-mini wynosi 95215 atomic USDC, co odpowiada 0.095215 USDC.
  • Każde żądanie powinno odczytywać odpowiedź 402, nie należy twardo kodować przykładowych kwot w kodzie biznesowym.
Znaczenie pól:

Użycie SDK do ponownego próby płatności

Poniżej znajduje się minimalny przykład w TypeScript. Określa network: 'skale', handler wybierze wymagania płatności SKALE z odpowiedzi 402; rzeczywista kwota i adres odbiorcy będą nadal zgodne z accepts.
同一链路用 TypeScript SDK 的程序运行结果:
结果说明:
  • content ADC_TS_SDK_X402_OK jest 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.
  • payer to lokalny adres portfela podpisującego, klucz prywatny nie został wysłany do Ace Data Cloud.
  • SDK zakończyło analizę 402, podpis PAYMENT-SIGNATURE i ponowne wysłanie oryginalnego żądania; kod biznesowy nadal jest napisany w zwykły sposób wywołania SDK.
Ta część kodu wykonuje cztery kroki:
  1. SDK wysyła zwykłe żądanie API, bez Authorization.
  2. Gateway zwraca 402 Payment Required i accepts.
  3. createX402PaymentHandler wybiera wymaganie płatności network = 'skale' i podpisuje PAYMENT-SIGNATURE.
  4. 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 rzeczywistym 402 Payment Required i accepts jako jedyną podstawę ceny i podpisu. Deklaracja możliwości Facilitatora znajduje się pod adresem:
Opisuje tylko /supported, /verify, /settle oraz aktualnie aktywne sieci płatności, nie wymienia zasobów API. Adres produkcyjny Facilitatora Ace Data Cloud to:
Można sprawdzić, które sieci i schematy są obsługiwane:
Zwrócone 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:
Wynik wyjaśnia:
  • /supported wskazuje, że Facilitator ma zdolności weryfikacji i rozliczenia dla tych sieci i schematów.
  • Base, SKALE i Solana obsługują exact; upto jest obecnie dostępne tylko na Base.
  • Czy konkretne API zezwala na daną sieć, nadal zależy od accepts tego API w odpowiedzi 402.