ЮKassa через API и MCP: 34 метода, один конверт отказа и ключ идемпотентности не на всех POST
Разбираем API ЮKassa изнутри: платежи, возвраты, чеки, выплаты и сделки чужого магазина — не биллинг самой Миры, — где спецификация расходится с интуицией про Idempotence-Key, почему создание платежа не считается расходом и как всё это доступно через MCP-сервер Mira без единой строки кода.
Обзор
Важная оговорка сразу: это не про то, как Mira принимает вашу оплату подписки — свой биллинг у неё есть и живёт отдельно. Это про ВАШ магазин: если вы принимаете платежи через ЮKassa, у вас есть личный кабинет со своей парой shop_id и secret_key, и именно этими ключами агент читает и меняет данные ВАШЕЙ кассы — платежи, возвраты, чеки, выплаты, сделки.
Mira подключает этот API целиком — 34 действия в десяти разделах — и отдаёт его в Claude через MCP. Ниже — что там есть на самом деле и что расходится с интуицией.
Что доступно
| Раздел | Действий | Что даёт |
|---|---|---|
| Платежи | 5 | создание, список, информация, подтверждение, отмена |
| Возвраты | 3 | создание, список, информация |
| Чеки (54-ФЗ) | 3 | создание, список, информация |
| Выплаты | 4 | создание, список, поиск, информация |
| Сделки | 3 | распределение платежей между магазином и продавцами (для платформ) |
| Персональные данные | 2 | данные получателя выплаты — самозанятые, физлица |
| Счета | 2 | страница оплаты со своей ссылкой |
| Способы оплаты | 2 | сохранённый способ для рекуррентных списаний |
| Вебхуки | 3 | подписка на уведомления о событиях |
| Кассовые ссылки | 5 | офлайн-точки: активация, смена точки, деактивация, реактивация |
| Справочники | 2 | список банков СБП, настройки магазина |
Идемпотентность — не на всех POST
Правило «на каждый создающий запрос — заголовок Idempotence-Key (UUID), чтобы повтор после сетевого сбоя не создал платёж дважды» звучит абсолютным. Спецификация говорит иначе: у деактивации и реактивации кассовой ссылки — тоже POST, но заголовок не заявлен вовсе. Отправить его туда, где поставщик не ждёт, не смертельно, но и не гарантированно безопасно — мы сверили это по каждому пути спецификации, а не по общему правилу «раз POST — значит нужен», и таблица вызовов несёт это знание полем идемпотентно, а не единым флагом на весь HTTP-метод.
Создание платежа не тратит деньги
Барьер записи в Mira делит пишущие действия на «просто меняет» и «ещё и тратит деньги». Возврат и выплата — очевидный расход: деньги уходят со счёта магазина. А вот создание платежа, хоть и стоит под тем же барьером как видимое снаружи действие (счёт, выставленный живому покупателю), деньгами магазина не считается — они, наоборот, ПРИХОДЯТ. Подтверждение платежа (capture) — по той же логике: оно завершает списание с покупателя в пользу магазина. А вот отмена платежа деньги ОСТАНАВЛИВАЕТ, а не тратит — снимает удержание с карты, не потратив ничего.
Один конверт отказа на весь API
В отличие от площадок с семью формами ошибки по разделам (например, у Авито), ЮKassa отвечает одной формой всегда:
{"type": "error", "code": "invalid_request",
"description": "Invalid amount value", "parameter": "amount"}
Разбор — одна функция, а не таблица форм: description — человеческий текст, code и parameter уточняют его, и оба необязательны.
Постраничный обход одним действием
Списки платежей, возвратов, чеков, сделок и выплат ходят курсором (cursor/next_cursor), лимит — 100 записей за страницу. Инструмент добавляет составное действие list_all, которое пролистывает курсор само, до разумного потолка страниц — агенту нужна сводка за период, а не выгрузка истории магазина целиком за один вызов.
Новости в Telegram
Подпишитесь на каналы — новые статьи и обзоры каждый день.
Источники
Ещё по теме «MCP-серверы»
1С через OData: как достать данные учётной базы без единой строки кода на встроенном языке
Разбираем стандартный OData-интерфейс 1С:Предприятие: чем он отличается от API конкретного сервиса, как узнать, что вообще опубликовано на конкретной базе, как проводить и отменять проведение документов и как всё это работает через MCP-сервер Mira без единой строки кода на встроенном языке.
3 сентября 2026 г.Admitad через MCP: отчёты партнёрской программы без выгрузки в Excel
Разбираем advertiser API партнёрской сети Admitad: отчёты по действиям, публикаторам, площадкам и баннерам, данные программы для интеграции — и почему у рекламодателя весь этот API устроен на чтение. Как устроена выдача токена по client_id/client_secret со скоупом и как всё это работает через MCP-сервер Mira.
3 сентября 2026 г.Adv.Cake через MCP: заказы и визиты партнёрской сети без захода в кабинет
Разбираем API рекламодателя Adv.Cake — партнёрской сети: список заказов и визитов, которые привели партнёры и вебмастеры, с суммой, комиссией и ДРР, плюс валидация рефералов. Три метода вместо привычных полусотни — и почему один из них, несмотря на GET, требует разрешения на запись. Всё это работает через MCP-сервер Mira без единой строки кода.
3 сентября 2026 г.