Skip to main content
Цей посібник описує повний процес Ace Data Cloud X402 за допомогою мінімального API запиту. Мета полягає не в написанні складного коду, а в розумінні: чому перший запит повертає 402, що є в accepts, і як PAYMENT-SIGNATURE перетворює той самий API запит на запит, що був оплачений.

Підготовка

Вам потрібно підготувати: X402 виклик Ace Data Cloud API не потребує API Token. SDK перший запит не містить Authorization, Gateway поверне 402 Payment Required та вимогу на оплату; SDK автоматично повторить запит після підпису.

Встановлення SDK

Джерело та адреси пакетів: TypeScript:
Python:
Якщо ви хочете використовувати Solana, також потрібно встановити відповідні залежності:
Залежність Solana signer для Python вже включена в acedatacloud-x402. Встановлення та перевірка імпортів у чистому тимчасовому середовищі:
Результати пояснюють:
  • npm пакети та PyPI пакети є реальними випущеними пакетами, а не заповнювальними назвами з документації.
  • acedatacloud-x402[cli] встановить CLI, підкоманда approve-permit2 може бути використана для авторизації Permit2 у сценаріях upto.

Перший запит поверне 402

Ви можете спочатку використовувати curl, щоб подивитися, що повертає неоплачений запит. Наступний приклад не призведе до стягнення плати, оскільки не містить PAYMENT-SIGNATURE:
Тіло відповіді міститиме масив accepts, звичайна структура виглядає так:
Та сама частина виклику також буде в форматі base64 в заголовку PAYMENT-REQUIRED, що дозволяє клієнту читати вимогу на оплату без розбору тіла. Вихідні дані програми для неоплаченого запиту API виглядають так:
Результати пояснюють:
  • Перший запит не містив Authorization або PAYMENT-SIGNATURE, тому повертає HTTP 402, не призводячи до стягнення плати.
  • accepts є єдиною надійною підставою для підпису цього запиту, містить доступні мережі, схеми, максимальні суми, адреси отримувачів та адреси активів.
  • network є ідентифікатором CAIP-2, клієнт повинен відповідати рядку CAIP-2 при виборі мережі.
  • Максимальна сума для цього запиту на чат gpt-4o-mini становить 95215 atomic USDC, що дорівнює 0.095215 USDC.
  • Кожен запит повинен читати відповідь 402, не слід жорстко кодувати прикладні суми в бізнес-код.
Значення полів:

Виконання повторної оплати за допомогою SDK

Ось мінімальний приклад на TypeScript. Він вказує network: 'skale', обробник вибере вимогу на оплату SKALE з відповіді 402; фактична сума та адреса отримувача залишаться відповідно до accepts.
Результат виконання програми за допомогою TypeScript SDK:
Опис результату:
  • content ADC_TS_SDK_X402_OK є фіксованим рядком, який повертає модель відповідно до підказки, що свідчить про те, що платіжна спроба після повторного запиту дійсно надійшла до API моделі.
  • payer є адресою локального підписаного гаманця, приватний ключ не був надісланий до Ace Data Cloud.
  • SDK завершив 402 розбір, підписання PAYMENT-SIGNATURE та повторний запит; бізнес-код все ще написаний у звичайному стилі виклику SDK.
У цьому коді відбувається чотири кроки:
  1. SDK надсилає звичайний API запит без Authorization.
  2. Gateway повертає 402 Payment Required та accepts.
  3. createX402PaymentHandler вибирає вимогу платежу network = 'skale' та підписує PAYMENT-SIGNATURE.
  4. SDK повторно намагається з тим же тілом запиту, Gateway викликає Facilitator для перевірки та розрахунку, після чого пропускає до цільового API.

Перегляд можливостей Facilitator

X402 API не залежить від каталогу ресурсів. Клієнт безпосередньо викликає відомий API та використовує 402 Payment Required та accepts, які повертаються в реальному часі, як єдину основу для ціни та підпису. Заява про можливості Facilitator знаходиться за адресою:
Вона описує лише /supported, /verify, /settle та поточні активні платіжні мережі, не перераховуючи API ресурси. Адреса виробничого Facilitator Ace Data Cloud:
Можна переглянути, які мережі та схеми він підтримує:
Повернені kinds перерахують мережі та схеми, які підтримує Facilitator. При фактичному виклику все ще слід орієнтуватися на accepts, повернуті API. Вихід /supported Facilitator:
Опис результату:
  • /supported свідчить про те, що Facilitator має можливості перевірки та розрахунку для цих мереж та схем.
  • Base, SKALE та Solana підтримують exact; upto наразі доступний лише на Base.
  • Чи дозволяє конкретний API певну мережу, все ще визначається accepts цього API з кодом 402.