PayKeeper: Сверить платежи за период

Сценарий из mcp-everything. Актуально на 2026-10-24.

Ежедневная сверка с учётной системой: какие платежи прошли, отменены или возвращены.

  1. Запроси реестр: GET /info/payments/bydate/ с start и end (YYYY-MM-DD), status[] (например, success, canceled, refunded), payment_system_id[], from и limit — все параметры обязательны.
  2. Листай через from, пока не получишь меньше limit записей.
  3. Для счетов есть отдельная история: GET /info/invoice/list/ с status[] и датами, а данные одного счёта — GET /info/invoice/byid/.
curl -G -u "$AUTH" "$PK/info/payments/bydate/" \
  -d start=2026-10-01 -d end=2026-10-24 \
  -d 'status[]=success' -d 'status[]=refunded' \
  -d 'payment_system_id[]=<id платёжной системы>' \
  -d from=0 -d limit=100

Базовые URL

Авторизация

Тип: Basic Auth

Каждый запрос отправляется с заголовком Authorization: Basic — логин и пароль от личного кабинета PayKeeper в base64. Запросы на чтение выполняются GET, изменения — POST с заголовком Content-Type: application/x-www-form-urlencoded. Каждый POST-запрос дополнительно должен содержать параметр token — токен безопасности, полученный методом /info/settings/token/.

Методы сценария

GET /info/invoice/byid/ — Данные счёта

Статусы счёта: created, sent, paid, expired.

Параметр Где Тип Обяз. Описание
id query string да Номер счёта

Пример ответа:

[
      {
      "id"                : "20110115085347329",
      "clientid"          : "Ivanov Ivan Ivanovich",
       "orderid"          : "1337",
       "paymentid"        : "7331",
       "service_name"     : "Document delivery",
       "client_email"     : "ivanov@ivan.ivanovich.com",
       "client_phone"     : "+79254973590",
       "created_datetime" : "2011-01-15 08:53:47",
       "paid_datetime"    : "2011-01-16 14:12:00",
       "expiry_datetime"  : "2011-01-19 00:00:00",
       "pay_amount"       : "1205.98",
       "status"           : "paid",
       "user_id"           : 9
       }
]

GET /info/invoice/list/ — История счетов за период

Счета выводятся от новых к старым.

Параметр Где Тип Обяз. Описание
status[] query string нет Статусы: sent, paid, expired
start_date query string нет Счета, выставленные после даты YYYY-MM-DD
end_date query string нет Счета, выставленные до даты YYYY-MM-DD
from query integer нет Пропустить N результатов
limit query integer нет Не более N результатов

GET /info/payments/bydate/ — Реестр платежей за период

Параметр Где Тип Обяз. Описание
start query string да Начало периода YYYY-MM-DD
end query string да Конец периода YYYY-MM-DD
payment_system_id[] query integer да Идентификатор платёжной системы
status[] query string да Статусы: pending, obtained, canceled, success, failed, stuck, refunded, refunding, partially_refunded
from query integer да Пропустить первые N значений
limit query integer да Количество возвращаемых значений

Пример запроса:

/info/payments/bydate/?limit=100&from=0&start=2016-04-14&end=2017-03-14&status[]=success&status[]=canceled&status[]=failed&payment_system_id[]=9&payment_system_id[]=1

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://docs.paykeeper.ru/dokumentatsiya-json-api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/paykeeper.md