Перевірка публічної точки входу
Декларація можливостей Facilitator:facilitator, supportedKinds і кінцеві точки протоколу, це означає, що метадані можливостей є коректними. Виявлення API-ресурсів виведено з експлуатації; будь ласка, викликайте цільовий API безпосередньо та орієнтуйтеся на відповідь 402 у реальному часі.
Підтримувані можливості Facilitator:
kinds, це означає, що точка входу Facilitator працює нормально.
Перевірка 402 accepts
Надішліть неавтентифікований запит, який не спричинить списання коштів:
accepts мережу, яку ви хочете використовувати. network — це ідентифікатор CAIP-2:
eip155:8453+exact(Base)eip155:8453+upto(Base, постоплата за вимірюванням)eip155:1187947933+exact(SKALE)solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp+exact(Solana)
Запуск розширених інструментів валідації X402Client
Репозиторій X402Client надає розширені інструменти валідації, які можна використовувати для підтвердження вибору відповіді 402, генерації підпису, paid retry та ончейн settlement. Для них потрібні funded wallet, RPC, приватний ключ і залежності для розробки. Для звичайної бізнес-інтеграції рекомендується насамперед використовувати TypeScript або Python SDK; запускайте ці інструменти лише тоді, коли потрібно локалізувати проблеми з підписом або ончейн-розрахунками. Адреса репозиторію: https://github.com/AceDataCloud/X402Client- Відповідь 402 на перший запит.
- Вибрану payment requirement.
- Дайджест підписаного
PAYMENT-SIGNATURE. - HTTP-статус і тіло відповіді після повторної спроби.
- Ончейн settlement transaction або причину помилки Facilitator у разі збою.
PAYMENT-SIGNATURE до систем логування чи заявок.
Приклад результатів валідації публічного API:
- SKALE
exact, Baseexact, Solanaexactі Baseuptoусі завершили paid retry від HTTP 402 до HTTP 200. - Ончейн-транзакцію SKALE
exactможна знайти в SKALE explorer, сума розрахунку становить0.095215USDC. - Ончейн-транзакцію Base
exactможна знайти в BaseScan, сума розрахунку становить95215atomic USDC. - Верхня межа підпису Base
uptoстановить95215atomic USDC, але фактичний ончейн settlement становить3atomic USDC, що означає списання за реальним використанням при постоплаті за вимірюванням. - Для шляху Solana підтверджено paid retry і вихід моделі. Публічний RPC може обмежувати швидкість; якщо потрібна сувора ончейн-звірка, використовуйте власний Solana RPC або записи розрахунків на стороні платформи для підтвердження підпису транзакції.
SDK smoke test
Розширені інструменти валідації використовуються для перевірки підписів і ончейн-розрахунків. На стороні бізнесу також слід виконати SDK smoke test, щоб підтвердити, що код застосунку може автоматично обробляти 402 через payment handler. Нижче показано лише основні фрагменти; повний код потребує доповнення wallet, provider та import. TypeScript:exact. SKALE наразі надає лише exact, розрахунок здійснюється за фіксованою сумою, зазначеною в 402, і не зменшується відповідно до фактичного використання token. Доповнення чату належить до сценаріїв із вимірюванням за token, тому під час формальної інтеграції рекомендується перейти на Base і передавати preferScheme: 'upto', щоб розраховуватися за фактичним використанням.
Результати виконання програми SDK smoke test:
- TypeScript SDK автоматично обробляє 402, підписання та повторну спробу через
createX402PaymentHandler, зрештою отримуючиADC_TS_SDK_X402_OK. - Python SDK виконує той самий ланцюжок через
create_x402_payment_handler, зрештою отримуючиADC_PY_SDK_X402_OK. - Обидва smoke test використовують SKALE payer
0xd0479FA9FD8C678303d477433d24C15e3723CC1C. - Об’єкт, що повертається Python SDK, є
dict, у прикладі можна використовуватиres["choices"][0]["message"]["content"]для читання вмісту.
E2E оплати замовлення
Для оплати замовлення використовується платформний APIplatform.acedata.cloud, для якого потрібен токен облікового запису платформи. Повний ланцюжок такий: створення замовлення Pending, POST /api/v1/orders/{order_id}/pay/ запускає 402, після чого повторна спроба виконується з PAYMENT-SIGNATURE.
Приклад результатів перевірки оплати невеликого замовлення:
Наведені нижче записи транзакцій є історичними зразками фактичних тестів за старою політикою; суми та хеші транзакцій збережено без змін. Нові X402-замовлення більше не мають знижок залежно від способу оплати; використовуйте amount у відповіді 402 цього разу як основу для підписання та оплати.
- Після створення замовлення його статус —
Pending, а ціна —1.26. - Перший запит
pay/повертає HTTP 402, уacceptsє Baseexactі Solanaexact, суми для обох становлять1200000atomic USDC. - Після повторної спроби з Base
PAYMENT-SIGNATUREповертається HTTP 200, статус замовлення змінюється наFinished, аpay_way—X402. - Після декодування
PAYMENT-RESPONSEвідображаютьсяsuccess=True,network=baseі той самий хеш транзакції. - На BaseScan статус транзакції —
1, сума переказу —1200000atomic USDC, тобто1.2USDC. - Ціна створення
1.26була оплачена в період дії старої політики знижок для X402-платежів, остаточна сума підпису та розрахунку становить1.2USDC.
Authorization: Bearer {platform_token}, або замовлення не належить поточному обліковому запису, запит завершиться помилкою на рівні прав доступу платформи; це відрізняється від безоблікового X402 API при прямому виклику x402.acedata.cloud.
Поширені помилки
Контрольний список Base upto
upto наразі надається лише на Base (eip155:8453). SKALE надає лише exact. Оскільки підпис upto прив’язується до більшої кількості параметрів EVM typed data, під час інтеграції слід особливо переконатися, що актуальні поля у відповіді 402 повністю збігаються з підписом клієнта.
upto повертає invalid_upto_evm_payload_invalid_signature, насамперед перевірте:
extra.chainIdу записіeip155:8453+upto, який повертає API (має бути8453).extra.facilitatorAddress, який повертає API.- Адресу Base
uptofacilitator, яку повертаєhttps://facilitator.acedata.cloud/supported. - Permit2 domain, spender, контракт USDC та обліковий запис підпису.
- Чи гаманець уже виконав approve Permit2 для Base USDC.
upto одночасно прив’язується до Permit2 domain, chain ID, spender, адреси одержувача, адреси facilitator і validAfter. Якщо будь-який із цих пунктів не збігається, Facilitator відновить неправильний signer і поверне invalid signature. Якщо все це узгоджено, але все одно повертається 402, наступним кроком перевірте Permit2 allowance; за відсутності авторизації повертається PERMIT2_ALLOWANCE_REQUIRED.
Збереження інформації для перевірки
За одне повне проходження перевірки зберігайте щонайменше:- API path і стислий опис тіла запиту;
- вибрані network і scheme;
maxAmountRequired;- адресу гаманця payer;
- остаточний HTTP-статус;
- вихід моделі або ID завдання у відповіді;
- посилання на settlement transaction;
- Gateway trace ID або ID запису про використання платформи.
PAYMENT-SIGNATURE, повний EIP-712 signature або мнемонічну фразу.
Структуровані помилки платежів
Збій підписаного X402 повертатиме стабільніcode, безпечні параметри інтерполяції, етап і прапорець можливості повторної спроби у extensions.acedatacloud.paymentError. Для діагностики пріоритетно використовуйте цю структуру, не аналізуйте англійський error верхнього рівня та не просіть користувача надати підпис гаманця або оригінальний текст ончейн-симуляції.
charged: false: перевірку було явно відхилено до settlement, цього разу списання не було ініційовано.- Без
charged: результат невідомий або вже перейшов на етап settlement, спершу перевірте замовлення та ончейн-статус, прямо повторювати платіж заборонено. settlement_pending: поки що не повторюйте платіж, спершу оновіть замовлення або зверніться до підтримки.- Нерозпізнаний code: обробляйте як
payment_failedі зберігайте публічний технічний код для пошуку службою підтримки.

