> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Оплата замовлення платформи AceDataCloud

> Platform API guide - Ace Data Cloud

Створити або оновити платіжну сесію для замовлення `Pending`. Дія оплати звертатиметься до платіжного каналу та може змінити статус замовлення; перед викликом необхідно підтвердити ID замовлення, суму та спосіб оплати.

## Огляд інтерфейсу

| Пункт | Вміст |
| - | - |
| Метод | `POST` |
| URL | `https://platform.acedata.cloud/api/v1/orders/{order_id}/pay/` |
| Авторизація | Платежі з розміщеним перенаправленням можуть бути анонімними; інші способи потребують стану входу або Account Token |
| Body | JSON, для неоплачених замовлень обов’язково потрібно надати `pay_way` |

## Межі анонімної оплати

Анонімний доступ використовується для сценарію, коли після відкриття скопійованого платіжного посилання стан входу втрачено; не потрібно й не слід передавати довгостроковий Account Token. Анонімний виклик:

* дозволяє лише налаштовані на сервері способи оплати з розміщеним перенаправленням;
* фіксовано використовує сторінку оплати для настільних пристроїв;
* не може отримувати замовлення з нульовою ціною;
* обмежується за IP та за одним замовленням;
* повертає мінімальну проєкцію замовлення без облікового запису, Application або внутрішніх metadata.

Автентифікований викликач повинен бути власником замовлення або суперадміністратором. Способи, що потребують контексту користувача, як-от X402, обмін винагород тощо, не можуть викликатися анонімно.

## Приклад запиту

```shell theme={null}
export ORDER_ID='ID вашого замовлення Pending'

curl -X POST \
  "https://platform.acedata.cloud/api/v1/orders/${ORDER_ID}/pay/" \
  -H 'Content-Type: application/json' \
  -d '{"pay_way":"Stripe"}'
```

Способи оплати, що потребують автентифікації:

```shell theme={null}
export PLATFORM_TOKEN='ваш токен облікового запису'

curl -X POST \
  "https://platform.acedata.cloud/api/v1/orders/${ORDER_ID}/pay/" \
  -H "Authorization: Bearer ${PLATFORM_TOKEN}" \
  -H 'Content-Type: application/json' \
  -d '{"pay_way":"X402"}'
```

`pay_way` використовує фактичні значення, що підтримуються моделлю замовлення, наприклад `WechatPay`, `AliPay`, `Stripe`, `Card`, `Airwallex`, `X402`, `PayPal`, `AppleIAP`, `Reward`, `BankTransfer`. Не кожне значення доступне для анонімних запитів або на кожному сайті.

## Опис відповіді

Успішна відповідь — це оновлений об’єкт замовлення, який зазвичай надає наступну точку входу через `pay_url`; різні способи оплати також можуть повертати в контрольованих полях інформацію, необхідну клієнту для продовження оплати. Анонімна відповідь використовує мінімальний білий список полів, автентифікований власник отримує повні деталі.

Не покладайтеся на старі назви полів, як-от `payment_url`, `qr_code_url` або `payment_method`; поточний контракт Order використовує `pay_url` і `pay_way`.

## Внутрішня покупка iOS

Власник замовлення, який увійшов у систему, може передати `pay_way: "AppleIAP"`. Цей запит оновлює замовлення, що очікує оплати, відповідно до `metadata.apple_price` обраного тарифу та очищує знижку, не створює списання, не нараховує кредити й не повертає платіжне посилання. Старе замовлення, що очікує оплати, має спочатку завершити цей крок, а потім ініціювати нативну оплату Apple. Підтримується лише один тариф Usage із налаштованим товаром Apple і ціною; непідтримувані тарифи або пакетні замовлення повертають `400`.

Після нативної оплати Apple через `/api/v1/orders/{id}/apple-verify/` подається `transaction_id` для завершення серверної перевірки та нарахування кредитів. Кількість кредитів походить із тарифу; сума використовує окрему попередньо встановлену ціну Apple у доларах США, без додавання знижок учасника або націнок сайту, а сума списання в місцевій валюті в інших регіонах визначається сторінкою підтвердження Apple.

## Помилки та повторні спроби

* Замовлення не є `Pending`: повертається `400`; не створюйте платіжну сесію повторно.
* Не надано `pay_way`: для замовлень із ненульовою сумою повертається `400`.
* Анонімний виклик використав недозволений спосіб або замовлення з нульовою ціною: повертається `403`, після входу власник має повторити спробу.
* Автентифікований викликач не є власником замовлення: повертається `403`.
* Платіжний канал не спрацював: не надсилайте повторно наосліп; спочатку перевірте деталі замовлення та повторіть спробу лише після підтвердження, що воно все ще є `Pending`.

## Пов’язані інтерфейси

* [Створення замовлення на поповнення](https://platform.acedata.cloud/documents/platform-order-create)
* [Отримання деталей замовлення](https://platform.acedata.cloud/documents/platform-order-detail)
* [Оновлення статусу замовлення](https://platform.acedata.cloud/documents/platform-order-refresh)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.