- Dokumentacja przeglądowa x402: https://docs.cdp.coinbase.com/x402/docs/overview
- Przykład open source x402: https://github.com/coinbase/x402
- Płatność odbywa się w sieci głównej Base, a aktywa używają USDC;
- Należy użyć klucza prywatnego EVM portfela z aktywami do wygenerowania nagłówka podpisu
X-PAYMENT; - Wszystkie API znajdują się pod domeną
https://platform.acedata.cloud, nagłówekAuthorizationmusi zawierać Platform Token.
I. Przygotowania
1. Sprawdzenie zamówienia i zapisanie informacji o płatności
Zaloguj się do konsoli https://platform.acedata.cloud, w liście zamówień lub na stronie szczegółów zamówienia możesz zobaczyć zamówienie, które wymaga płatności. Szczegóły zamówienia będą wyświetlać:- ID zamówienia (np.
7744945e-5e77-4dcc-a9c4-528692d17b34); - Adres płatności
pay_to(zostanie również zwrócony w odpowiedzi 402, zaleca się opierać na informacjach ze strony).
pay_to, ponieważ będzie on potrzebny do podpisania w dalszej części.
2. Przygotowanie portfela płatniczego i funduszy
- Przygotuj portfel EVM obsługujący sieć główną Base i wyeksportuj klucz prywatny do użycia;
- Doładuj wystarczającą ilość USDC (kwota płatności w jednostkach o 6 miejscach po przecinku) w sieci głównej Base;
- x402 Facilitator pokryje koszty sieci, portfel płatniczy musi mieć tylko wystarczającą ilość USDC;
- Klucz prywatny jest używany tylko do lokalnego podpisywania, proszę go odpowiednio zabezpieczyć, aby uniknąć ujawnienia w przeglądarkach lub niepewnych środowiskach.
3. Utworzenie Platform Token
Platform Token jest używany do wywoływania API platformy, podobnie jak token użytkownika używany w przeglądarce po zalogowaniu, ale nie wygasa. Proszę postępować zgodnie z poniższymi krokami, aby go utworzyć:- Otwórz stronę konsoli https://platform.acedata.cloud/console/platform-tokens;
- Kliknij „Utwórz Token”, wypełnij informacje o uwagach zgodnie z instrukcjami, a następnie wygeneruj;
- Skopiuj wygenerowany token (np.
platform-v1-xxxx) i odpowiednio go przechowuj jakoplatform_token.
Wszystkie przyszłe wywołania API muszą zawierać w nagłówku:
4. Żądanie podstawowych informacji
- Podstawowa domena API:
https://platform.acedata.cloud - Ścieżka żądania płatności:
/api/v1/orders/{order_id}/pay/ - Żądania i odpowiedzi są w formacie JSON, kodowane jako UTF-8.
II. Przegląd procesu płatności
- Inicjowanie żądania płatności: pierwsze żądanie
POSTbez nagłówkaX-PAYMENT, które wyzwala platformę do zwrócenia 402 Payment Required; - Odczytanie wymagań płatności: analizowanie tablicy
acceptsw odpowiedzi 402, potwierdzenie, żenetworktobase,assetto USDC,payTojest zgodne z informacjami na stronie zamówienia; - Generowanie
X-PAYMENT: użycie klucza prywatnego portfela płatniczego, wymagań z ciała odpowiedzi, informacji EIP-712 zwróconych przez Facilitatora do wygenerowania podpisu (zwykle przy pomocy oficjalnego SDK); - Ponowne wysłanie z podpisem: dodanie nagłówka
X-PAYMENTdo żądania na tej samej ścieżce, po pomyślnej weryfikacji platforma zwraca 200; - Analiza wyników: odczytanie nagłówka odpowiedzi
X-PAYMENT-RESPONSE, można uzyskać hash transakcji on-chain, rzeczywistą kwotę obciążenia i inne informacje do rozliczeń.
III. Przykład integracji
1. Pierwsze żądanie (wyzwolenie 402)
network: musi byćbase(sieć główna Base);asset: adres kontraktu Base USDC (przykład to oficjalny kontrakt sieci głównej);maxAmountRequired: wymagana kwota USDC w jednostkach atomowych (1 USDC = 1,000,000 jednostek atomowych);payTo: adres płatności platformy, powinien być zgodny z informacjami na stronie szczegółów zamówienia;extra: informacje o polach EIP-712 wymagane do podpisu.
2. Generowanie X-PAYMENT
Typowe podejście to użycie oficjalnego SDK (np. x402-js, x402-fetch, x402.clients itp.):
- Przekształcenie klucza prywatnego portfela płatniczego w obiekt konta;
- Zapisanie danych
acceptsz odpowiedzi 402, wybór opcji płatności, gdzienetwork == "base"; - Wywołanie funkcji podpisu dostarczonej przez SDK w celu wygenerowania zakodowanego w Base64 ciągu
X-PAYMENT(nie ma potrzeby bezpośredniego łączenia klienta z facilitatorem; backend platformy zajmie się wywołaniem facilitatora w celu weryfikacji/rozliczenia); - Zaleca się sprawdzenie, czy
maxAmountRequiredmieści się w akceptowalnym zakresie, w przeciwnym razie należy poinformować użytkownika o konieczności doładowania.
extra.eip712, a następnie przeprowadzić podpis.
3. Ponowne wysłanie z podpisem
X-PAYMENT-RESPONSE można użyć z funkcją dekodowania SDK, aby uzyskać hash transakcji on-chain, sieć płatności, adres płatnika i inne dane do księgowania lub wyświetlania.
IV. Przykładowy kod w wielu językach
Poniższe przykłady zakładają, że zmienne środowiskowe lub pliki konfiguracyjne są wstrzykiwane:ACE_PLATFORM_TOKEN:Token platformy;ACE_X402_ORDER_ID:ID zamówienia;ACE_X402_PRIVATE_KEY:Prywatny klucz portfela płatności (z prefiksem0x).
1. Axios(TypeScript)
2. Fetch(JavaScript)
3. Python requests
4. Python httpx(异步)
Przykład pokazuje tylko kluczowe wywołania, w środowisku produkcyjnym należy dodać obsługę wyjątków, strategię ponawiania, logowanie i kontrolę bezpieczeństwa.
Pięć, weryfikacja po udanej płatności
- Weryfikacja w konsoli: Odwiedź stronę szczegółów zamówienia
https://platform.acedata.cloud/console/orders/{order_id}, jeśli strona wyświetla „płatność zakończona” lub status zamówienia zmienił się na opłacone/zakończone, oznacza to, że rozliczenie na łańcuchu zostało zakończone. - Weryfikacja API: Wywołaj
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/z nagłówkiemAuthorization: Bearer {platform_token}, sprawdź polestatew odpowiedzi (PAIDlubFINISHEDoznacza, że płatność zakończona pomyślnie). - Nagłówek zwrotny: W odpowiedzi po udanej płatności odczytaj
X-PAYMENT-RESPONSE, można z niego wyodrębnić hash transakcji na łańcuchu jako ostateczny dowód; zaleca się zapisanie tej informacji w logach systemowych w celu rozliczenia.
Sześć, rozwiązywanie najczęstszych problemów
- Wciąż zwraca 402: Upewnij się, że adres płatności ma wystarczającą ilość USDC w sieci Base, sprawdź, czy
maxAmountRequirednie przekracza salda portfela lub limitu niestandardowego. - Błąd podpisu: Upewnij się, że prywatny klucz ma prefiks
0x; podczas podpisywania ściśle używajextra(pole EIP-712) ipayToz odpowiedzi, nie zmieniaj kolejności pól. - Niezgodność sieci: W
acceptsmoże być wiele wymagań, wybierz opcjęnetwork === "base". - Brak
X-PAYMENT-RESPONSE: Oznacza to, że płatność nie została faktycznie pobrana, można ponownie zainicjować na podstawie błędu w ciele odpowiedzi; w przypadku zatorów w sieci spróbuj ponownie później. - Nieprawidłowy token platformy: Upewnij się, że token nie został usunięty i zaczyna się od prefiksu
platform-v1-; jeśli interfejs zwraca 401, można ponownie wygenerować w konsoli.
Siedem, więcej pomocy
- Dokumentacja online i najczęściej zadawane pytania: nawigacja „Dokumentacja” na górze konsoli platformy.
- Zgłaszanie zgłoszeń i wsparcie klienta: https://platform.acedata.cloud/support
- Wspólna komunikacja: Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
- Inne kanały: e-mail
office@acedata.cloud,office@germey.tech; adres firmy 651 N Broad St, Suite 201, Middletown, Delaware, USA; obsługa WeChat, sprawdź najnowszy kod QR na stronie wsparcia. - Opinie i sugestie: zachęcamy do informowania nas o potrzebach dotyczących ulepszeń za pośrednictwem dowolnego z powyższych kanałów.

