По UUID Cashera
/integration/subscriptions/{uuid}curl https://api.cashera.cash/api/v1/integration/subscriptions/31dc7faa-c380-4ec7-a258-3202a2211e76 \-H "X-Api-Key: $CASHERA_API_KEY"
По external_id
/integration/subscriptions/by-external-id/{external_id}curl https://api.cashera.cash/api/v1/integration/subscriptions/by-external-id/subscription-pro-10428 \-H "X-Api-Key: $CASHERA_API_KEY"
Список подписок
/integration/subscriptions| Поле | Тип | Описание |
|---|---|---|
page | integer | Номер страницы от 1. По умолчанию 1 |
per_page | integer | Размер страницы от 1 до 100. По умолчанию 20 |
curl "https://api.cashera.cash/api/v1/integration/subscriptions?page=1&per_page=20" \-H "X-Api-Key: $CASHERA_API_KEY"
В ответах создания, получения и отмены подписки, а также в каждом элементе списка возвращаются interval и interval_count. Например, monthly с 3 означает списание раз в 3 месяца.
Как читать условия и суммы
| Поле | Тип | Описание |
|---|---|---|
amount | integer | Базовая сумма одного списания в копейках |
gross_amount | integer | Фактическая сумма клиента с комиссией в копейках |
net_amount | integer | Сумма за вычетом комиссии в копейках. Не означает, что будущая оплата уже получена |
fee_amount | integer | Комиссия в копейках; gross_amount минус net_amount |
agreement_mode | string | h2h или hosted, выбранный при создании способ подключения |
next_charge_at | string | null | Следующая дата по расписанию с часовым поясом. null означает, что дата не указана; не подставляйте свою |
last_charge_at | string | null | Время последней попытки по состоянию подписки, не доказательство успешной оплаты |
Суммы и расписание в подписке описывают её текущие условия. После изменения тарифа они могут отличаться от предыдущих оплат. Суммы и результат конкретного периода смотрите в транзакциях подписки. Ответы отдельных объектов не имеют обёртки data; списки имеютdata и meta.
Доступ только к своим подпискам
API-ключ определяет мерчанта. Список, счётчик meta.total, поиск по UUID и external_id, история списаний и отмена доступны только для его подписок. Чужой или неизвестный UUID возвращает 404. Параметр merchant_idне переключает владельца. В URL используется UUID Cashera, а не идентификатор провайдера. Совпадающие external_id у разных мерчантов не смешиваются.
Актуальность статуса
GET возвращает сохранённое состояние Cashera и не выполняет запрос к провайдеру при каждом обращении. Состояние обновляют входящие уведомления и плановая сверка: каждые 15 минут обрабатывается до 100 подписок. При большой очереди или ошибках провайдера обновление конкретной подписки может занять больше времени.
Если после ошибки создания возвращается pending_agreement и confirmation_url: null, следуйте инструкции по ошибке подтверждения. Пустая ссылка не означает успешную привязку. GET не перезапускает подтверждение и не выдаёт новую ссылку.
Для оперативных изменений используйте событие subscription.status_updated. GET-запросы подходят для сверки, восстановления пропущенного события и интерфейса истории. Значения описаны в справочнике статусов.
