Skip to main content
Окрім прямої оплати за API-запити, Ace Data Cloud також підтримує оплату замовлень через консоль X402. Основний протокол для оплати замовлень і викликів API однаковий: перший запит повертає 402, клієнт підписує PAYMENT-SIGNATURE, а потім повторює той самий запит. Відмінність полягає в тому, що оплата замовлень належить до API платформи та потребує токена облікового запису; тоді як AI API, що напряму викликається через x402.acedata.cloud, може використовувати лише X402 і не потребує API Token.

Підготовка замовлення

Перейдіть до консолі Ace Data Cloud, виберіть замовлення, яке потрібно оплатити, і запишіть ID замовлення. Якщо у вас ще немає замовлення, ви можете створити неоплачене замовлення на сторінці пакетів. Ціна замовлення визначається відображенням на сторінці, а amount у відповіді X402 402 є остаточною підставою для підпису.

Створення токена облікового запису

Запити на оплату замовлень потребують токена облікового запису. Відкрийте сторінку Token платформи, створіть token у форматі platform-v1-.... Для наступних запитів використовуйте:
Токен облікового запису відрізняється від звичайного API Token. Звичайний API Token використовується для споживання API-квоти; токен облікового запису використовується для представлення вашого облікового запису під час операцій із ресурсами платформи, наприклад оплати замовлень.

Виклик 402

Спочатку надішліть один запит без PAYMENT-SIGNATURE:
Повертається статус 402, а відповідь містить accepts:
Для оплати замовлень використовується офіційний x402 v2: x402Version дорівнює 2, network використовує ідентифікатор CAIP-2, а полем суми є amount. Результат виконання програми для створення замовлення на 10 Credits і виклику 402:
Наведені нижче записи транзакцій є історичними фактичними зразками за старою політикою; суми та хеші транзакцій збережено без змін. Нові замовлення X402 більше не мають знижок за способом оплати; використовуйте amount у цій відповіді 402 як підставу для підпису та оплати.
Пояснення результатів:
  • Після успішного створення замовлення його статус — Pending, і на цей момент ще немає ончейн-оплати.
  • Перший запит pay/ не містить PAYMENT-SIGNATURE, тому повертається HTTP 402.
  • accepts одночасно надає Base exact і Solana exact; у цьому посібнику далі обирається Base.
  • Ціна під час створення замовлення становить 1.26; при оплаті протягом періоду старої політики знижок X402 фактична сума підпису та розрахунку становила 1.2 USDC, що відповідає 1200000 atomic USDC.
Зверніть увагу, що resource тут є полем, яке повертається сервером і бере участь у підписі; клієнт не повинен самостійно змінювати в ньому протокол, шлях або ID замовлення.

Підписання та повторна спроба

Для оплати замовлення можна повторно використати @acedatacloud/x402-client або низькорівневу функцію підписання з acedatacloud-x402. Нижче наведено приклад TypeScript:
Результат виконання програми після підписання та повторної спроби того самого замовлення з Base exact:
Результат ончейн-підтвердження:
Пояснення результату:
  • status 200 означає, що інтерфейс оплати замовлення платформи прийняв цей PAYMENT-SIGNATURE.
  • has_x_payment_response True означає, що заголовок відповіді містить закодований у Base64 чек PAYMENT-RESPONSE.
  • settle_header.success=True та network=base означають, що Facilitator завершив settlement у Base.
  • Остаточний статус замовлення — Finished, pay_way — X402, а до pay_id записано хеш ончейн-транзакції.
  • Подія Transfer у BaseScan показує, що адреса платника переказала 1200000 atomic USDC на адресу отримання коштів платформи, тобто 1.2 USDC.

Успішна відповідь і чек

Після успішної оплати замовлення тіло відповіді містить інформацію про замовлення. Платформа також передає у заголовку відповіді PAYMENT-RESPONSE закодовану у Base64 settlement response, поширені поля після декодування включають: Якщо вам потрібна звірка, рекомендується одночасно зберігати ID замовлення, адресу гаманця платника, transaction та остаточний статус замовлення.

Зауваження

  • Для оплати замовлення потрібен токен облікового запису платформи, не можна завершити її лише підписом X402 гаманця.
  • amount використовує USDC atomic units, 1200000 означає 1.2 USDC.
  • Не складайте самостійно адресу отримання коштів або адресу активу, орієнтуйтеся на accepts у відповіді 402.
  • Якщо той самий PAYMENT-SIGNATURE подається повторно, Facilitator застосує захист від повторного відтворення за nonce.

Відповідь про помилку оплати

Перша HTTP 402 без PAYMENT-SIGNATURE є звичайним платіжним викликом і не означає невдалу оплату. Помилка перевірки або розрахунку після підписання все ще зберігає стандартний рядок error як сумісний резервний варіант, а стабільна структура помилки повертається у extensions.acedatacloud.paymentError:
Клієнт має передусім локалізувати за code, а для невідомого code повертатися до загальної помилки оплати. charged — це тристанове поле: false повертається лише у разі явної відмови до розрахунку; відсутність поля означає, що статус списання невідомий, і не може тлумачитися як «кошти не списано». Після переходу поточного замовлення у Failed повторна спроба для того самого замовлення неможлива, виправте проблему з гаманцем і створіть нове замовлення. Не записуйте та не надсилайте повний PAYMENT-SIGNATURE, підпис гаманця, payload авторизації, вихідну діагностику Facilitator або відповіді RPC. Для перевірки службою підтримки достатньо ID замовлення та публічного code помилки.