Апелляция с чеком
Передаёт чек по платежу на рассмотрение. По отменённому платежу (CANCELLED / CANCELLED_APPEAL) открывается апелляция — платёж переходит в DISPUTE. По платежу в других статусах чек просто передаётся на проверку, статус не меняется.
Итог приходит вебхуком и виден в статусе платежа. Если для решения нужно видео оплаты и у вас подключён Telegram-чат с ботом, запрос придёт туда — ответьте на него видео или отправьте его запросом ниже. Без чата видео запросит поддержка.
Запрос
POST /v1/payments/{id}/appeal — multipart/form-data; заголовки: см. Авторизация.
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
receipt | file | да | Чек: до 10 МБ, png/jpg/jpeg/webp/heic/pdf |
reason | string | нет | Причина, до 500 символов (например «Есть платёж») |
amount | number | нет | Фактическая сумма, если отличается от заказа |
Пример запроса
curl -X POST https://api.bopay.io/v1/payments/550e8400-e29b-41d4-a716-446655440000/appeal \
-H "X-Identity: <API-key>" \
-H "X-Signature: <Signature>" \
-F "[email protected]" \
-F "reason=Есть платёж"
Пример ответа
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"ext_id": "order_12345",
"status": "dispute",
"dispute_opened": true,
"delivered_to": 1,
"receipt_url": "/uploads/receipts/550e8400-..._1790000000000.pdf"
}
| Поле | Тип | Описание |
|---|---|---|
status | string | Статус платежа после запроса |
dispute_opened | boolean | true — апелляция открыта этим запросом |
delivered_to | number | Сколько раз чек передан на рассмотрение (≥ 1) |
receipt_url | string | Ссылка на сохранённый чек |
Видео оплаты
POST /v1/payments/{id}/appeal/video — multipart/form-data, поле video: mp4/mov/webm/m4v, до 19 МБ. Доступно, пока апелляция по платежу открыта.
curl -X POST https://api.bopay.io/v1/payments/550e8400-e29b-41d4-a716-446655440000/appeal/video \
-H "X-Identity: <API-key>" \
-H "X-Signature: <Signature>" \
-F "[email protected]"
{ "id": "550e8400-e29b-41d4-a716-446655440000", "delivered_to": 1 }
Статусы
CANCELLED → DISPUTE → COMPLETED_APPEAL (одобрена) или CANCELLED_APPEAL (отклонена).
Ошибки
| Код | HTTP | Причина |
|---|---|---|
PAY_002 | 400 | Неверные параметры или не multipart/form-data |
PAY_006 | 404 | Платёж не найден |
PAY_009 | 400 | Файл больше допустимого |
PAY_010 | 400 | Неподдерживаемый формат файла |
APL_001 | 503 | Приём апелляций временно недоступен — используйте открытие апелляции |
APL_002 | 409 | Апелляция по платежу уже на рассмотрении |
APL_004 | 502 | Не удалось передать, повторите позже |
APL_005 | 400 | Не приложен файл (receipt / video) |
APL_006 | 400 | Причина длиннее 500 символов |
APL_007 | 404 | Нет открытой апелляции для видео |
SYS_001 | 500 | Внутренняя ошибка |