Проверка публичного входа
Объявление возможностей 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 после подписи возвращают вextensions.acedatacloud.paymentError стабильный code, безопасные параметры интерполяции, этап и флаг возможности повтора. Для диагностики в первую очередь используйте эту структуру, не анализируйте английский error верхнего уровня и не просите пользователя предоставить подпись кошелька или исходный текст on-chain simulation.
charged: false:проверка была явно отклонена до settlement, в этот раз списание не было инициировано.- Без
charged:результат неизвестен или уже перешёл на этап settlement, сначала проверьте заказ и on-chain status, запрещено напрямую повторять оплату. settlement_pending:пока не повторяйте оплату, сначала обновите заказ или обратитесь в поддержку.- Нераспознанный code:обрабатывайте как
payment_failedи сохраняйте публичный технический код для поиска службой поддержки.

