- Обзор документа x402: https://docs.cdp.coinbase.com/x402/docs/overview
- Примеры с открытым исходным кодом x402: https://github.com/coinbase/x402
- Платежная цепочка завершается в Base основной сети, актив используется USDC;
- Необходимо использовать EVM приватный ключ кошелька для генерации заголовка подписи
X-PAYMENT; - Все API находятся на домене
https://platform.acedata.cloud, заголовокAuthorizationдолжен содержать Platform Token.
I. Подготовительные работы
1. Просмотр заказа и запись информации о получении
Войдите в консоль https://platform.acedata.cloud, в списке заказов или на странице деталей заказа вы можете увидеть заказы, которые необходимо оплатить. В деталях заказа будет отображено:- ID заказа (например,
7744945e-5e77-4dcc-a9c4-528692d17b34); - Адрес получения
pay_to(также будет возвращен в ответе 402, рекомендуется ориентироваться на информацию на странице).
pay_to, так как он потребуется для подписи в дальнейшем.
2. Подготовка платежного кошелька и средств
- Подготовьте EVM-кошелек, поддерживающий основную сеть Base, и экспортируйте используемый приватный ключ;
- Пополните основной сеть Base достаточным количеством USDC (сумма платежа указывается в минимальных единицах с 6 знаками после запятой);
- x402 Facilitator оплатит сетевые сборы, кошелек для платежей должен содержать только достаточное количество USDC;
- Приватный ключ используется только для локальной подписи, пожалуйста, храните его в безопасности, избегая его раскрытия в браузере или ненадежной среде.
3. Создание Platform Token
Platform Token используется для вызова API платформы и аналогичен токену пользователя, используемому в браузере после входа в систему, но не имеет срока действия. Пожалуйста, выполните следующие шаги для его создания:- Откройте страницу консоли https://platform.acedata.cloud/console/platform-tokens;
- Нажмите «Создать токен», заполните информацию по запросу и создайте токен;
- Скопируйте сгенерированный токен (например,
platform-v1-xxxx) и сохраните его какplatform_token.
Во всех последующих вызовах API заголовок должен содержать:
4. Запрос базовой информации
- Базовый домен API:
https://platform.acedata.cloud - Путь запроса на оплату:
/api/v1/orders/{order_id}/pay/ - Запросы и ответы используют JSON, кодировка — UTF-8.
II. Обзор процесса оплаты
- Инициация запроса на оплату: первый
POSTзапрос без заголовкаX-PAYMENT, который вызывает платформу для возврата 402 Payment Required; - Чтение требований к оплате: анализируйте массив
acceptsв ответе 402, подтверждая, чтоnetworkравенbase,assetравен USDC, аpayToсовпадает с данными на странице заказа; - Генерация
X-PAYMENT: используйте приватный ключ платежного кошелька, требования из тела ответа, а также информацию о домене EIP-712, возвращенную Facilitator, для генерации подписи (обычно с помощью официального SDK); - Повторная попытка с подписью: добавьте заголовок
X-PAYMENTв запрос по тому же пути, после успешной проверки платформа вернет 200; - Анализ результата: прочитайте заголовок ответа
X-PAYMENT-RESPONSE, чтобы получить хэш транзакции на блокчейне, фактическую сумму списания и другую информацию для сверки.
III. Примеры интеграции
1. Первый запрос (инициация 402)
network: должно бытьbase(основная сеть Base);asset: адрес контракта Base USDC (пример — официальный контракт основной сети);maxAmountRequired: необходимая сумма USDC в атомарных единицах для данного платежа (1 USDC = 1,000,000 атомарных единиц);payTo: адрес получения платформы, должен совпадать с данными на странице деталей заказа;extra: информация о домене EIP-712, необходимая для подписи и т.д.
2. Генерация X-PAYMENT
Обычная практика — использовать официальный SDK (например, x402-js, x402-fetch, x402.clients и т.д.):
- Преобразуйте приватный ключ платежного кошелька в объект аккаунта;
- Запишите данные
acceptsиз ответа 402, выберите вариант оплаты сnetwork == "base"; - Вызовите функцию подписи, предоставляемую SDK, для генерации строки
X-PAYMENTв формате Base64 (не требуется прямое подключение клиента к facilitator; бэкенд платформы будет отвечать за вызов facilitator для завершения verify/settle); - Рекомендуется проверить, находится ли
maxAmountRequiredв допустимом диапазоне, и в случае превышения уведомить пользователя о необходимости пополнения.
extra.eip712, и затем выполнить подпись.
3. Повторная попытка с подписью
X-PAYMENT-RESPONSE можно декодировать с помощью функции SDK, чтобы получить хэш транзакции на блокчейне, платежную сеть, адрес плательщика и другие данные для учета или отображения.
IV. Примеры кода на нескольких языках
Следующие примеры предполагают, что переменные окружения или конфигурационные файлы были внедрены:ACE_PLATFORM_TOKEN:Токен платформы;ACE_X402_ORDER_ID:ID заказа;ACE_X402_PRIVATE_KEY:Приватный ключ платежного кошелька (с префиксом0x).
1. Axios(TypeScript)
2. Fetch(JavaScript)
3. Python requests
4. Python httpx(异步)
Пример только демонстрирует ключевые вызовы, в производственной среде необходимо добавить обработку исключений, стратегии повторных попыток, журналы и контроль безопасности.
Пять, проверка после успешной оплаты
- Проверка в консоли:Перейдите на страницу деталей заказа
https://platform.acedata.cloud/console/orders/{order_id}. Если на странице отображается «Оплата успешна» или статус заказа изменился на оплаченный/завершенный, это означает, что расчет в цепочке завершен. - Проверка API:Вызовите
GET https://platform.acedata.cloud/api/v1/orders/{order_id}/с заголовкомAuthorization: Bearer {platform_token}и проверьте полеstateв ответе (значенияPAIDилиFINISHEDозначают успешную оплату). - Заголовок ответа:В ответе на успешный платеж прочитайте
X-PAYMENT-RESPONSE, из которого можно извлечь хэш транзакции в цепочке как окончательное подтверждение; рекомендуется сохранить эту информацию в системных журналах для сверки.
Шесть, устранение распространенных проблем
- По-прежнему возвращает 402:Убедитесь, что адрес платежа имеет достаточное количество USDC в основной сети, проверьте, не превышает ли
maxAmountRequiredбаланс кошелька или пользовательский лимит. - Ошибка подписи:Убедитесь, что приватный ключ имеет префикс
0x; при подписании строго используйтеextra(домен EIP-712) иpayToиз ответа, не изменяйте порядок полей. - Несоответствие сети:В
acceptsможет быть несколько требований, выберите вариант сnetwork === "base". - Отсутствует
X-PAYMENT-RESPONSE:Это означает, что платеж не был фактически списан, можно повторно инициировать запрос на основе ошибки в теле ответа; если возникли проблемы с сетью, попробуйте позже. - Недействительный токен платформы:Убедитесь, что токен не был удален и начинается с префикса
platform-v1-; если интерфейс возвращает 401, можно заново сгенерировать его в консоли.
Семь, дополнительная помощь
- Онлайн-документация и часто задаваемые вопросы: навигация «Документация» в верхней части консоли платформы.
- Подать заявку и поддержка клиентов: https://platform.acedata.cloud/support
- Сообщество: Discord https://discord.gg/f9GRuKCmRc, X (Twitter) https://x.com/acedatacloud
- Другие каналы: электронная почта
office@acedata.cloud,office@germey.tech; адрес компании 651 N Broad St, Suite 201, Middletown, Delaware, USA; для поддержки WeChat смотрите последние QR-коды на странице поддержки. - Обратная связь и предложения: мы будем рады услышать ваши требования по улучшению через любой из вышеуказанных каналов.

