Рекуррентные платежи

Создание подписки

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

POST/integration/subscriptions

Параметры запроса

ПолеТипОписание
amountобязательноеintegerБазовая сумма каждого списания в копейках. Минимум 100. Рекомендуется передавать сумму, кратную 100: провайдер принимает итоговую сумму только в целых рублях
external_idобязательноеstringВаш уникальный ID подписки, до 255 символов. Разрешены латинские буквы, цифры, точка, дефис и подчёркивание
intervalобязательноеstringdaily, weekly, monthly или yearly
descriptionобязательноеstringНазначение регулярного платежа, до 255 символов
callback_urlstring (https)URL для вебхуков. Если поле не передано, используется callback URL из настроек мерчанта. URL должен быть публичным и использовать HTTPS

Пример

201 Created
curl -X POST https://api.cashera.cash/api/v1/integration/subscriptions \
-H "X-Api-Key: $CASHERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"external_id": "subscription-pro-10428",
"interval": "monthly",
"description": "Тариф Pro"
}'
Обязательно откройте payment_url

Ответ 201 ещё не означает, что подписка активна. Перенаправьте клиента наpayment_url и дождитесь статуса active через вебхукили запрос состояния.

Идемпотентность

  • первый успешный запрос возвращает 201 Created
  • повтор с тем же external_id и теми же параметрами возвращает существующую подписку и 200 OK
  • тот же external_id с другой суммой, интервалом, описанием или callback URL возвращает 409 Conflict
Не повторяйте неоднозначную операцию новым external_id

При статусе creation_unknown провайдер мог создать подписку, даже если Cashera не получила окончательный ответ. Не создавайте замену автоматически: повторите запрос с тем же external_idи, если статус не изменился, обратитесь в поддержку.

Ошибки

ПолеТипОписание
401UnauthorizedОтсутствует или неверен X-Api-Key
403ForbiddenМерчант отключён, заморожен или не может создавать подписки
409ConflictКонфликт параметров для существующего external_id
422Unprocessable EntityОшибка полей, небезопасный callback URL, неподдерживаемый интервал, неподходящая итоговая сумма или неверная конфигурация метода
502Bad GatewayПровайдер не дал корректный однозначный ответ. Проверьте возвращённый объект по тому же external_id