Перейти к содержанию

Счета приложения

Разовый счёт позволяет получить оплату от владельца магазина через InSales. Размер комиссии согласуется при публикации приложения.

Оплата проходит в следующем порядке:

  1. Пользователь соглашается выполнить платное действие.
  2. Приложение создаёт счёт и открывает в браузере пользователя confirmation_url из ответа.
  3. Пользователь оплачивает или отклоняет счёт на странице InSales.
  4. InSales один раз вызывает return_url, чтобы уведомить приложение о результате.

Повторной доставки уведомления нет. Периодически проверяйте состояние счетов, по которым уведомление не пришло, например раз в сутки.

Методы — ApplicationCharge в справочнике. Периодическая оплата — отдельный ресурс, см. периодические счета.

Поля

  • name — назначение платежа
  • price — сумма
  • return_url — адрес уведомления
  • test — тестовый счёт, оплату можно подтвердить без реального платежа
  • confirmation_url — адрес страницы оплаты, который API возвращает при создании счёта
  • status — pending, accepted или declined

Создание

POST /admin/application_charges.json

{
  "application_charge": {
    "name": "Sms 200",
    "price": 180.0,
    "return_url": "https://myapp.example/charges/15",
    "test": true
  }
}

Ответ 201:

{
  "id": 1,
  "name": "Sms 200",
  "price": "180.0",
  "return_url": "https://myapp.example/charges/15",
  "test": true,
  "status": "pending",
  "confirmation_url": "http://SHOP/admin/application_charges/1",
  "created_at": "2026-09-26T13:21:27.639+03:00",
  "updated_at": "2026-09-26T13:21:27.639+03:00"
}

Перенаправьте браузер пользователя на confirmation_url из ответа. Используйте полученный адрес целиком.

Включите в return_url внутренний идентификатор счёта в вашем приложении. При получении уведомления найдите по нему идентификатор счёта InSales и запросите текущее состояние счёта через API.

Чтение и список

GET /admin/application_charges/:id.json

GET /admin/application_charges.json — счета этого приложения.

Отклонение

POST /admin/application_charges/:id/decline.json с заголовком Content-Type: application/json.

Отклонить можно неоплаченный счёт. API возвращает объект счёта со status: declined.