Чеки и допы
Загрузка чека и видео оплаты, проверка файла, причины отказа
По заявке с "receipt_delivery": "UPLOAD" чек к нам загружаете вы. Чек — PDF из банка или скриншот. Если чек не
прошёл проверку, нужен доп — видео оплаты — или ваша финансовая ответственность.
Загрузить файл
Тело — multipart/form-data с одним полем file. Один запрос — один файл.
curl -X POST https://api.parallel-pay.com/api/v2/invoices/cm3k8x7y80001z8j4k5m6n7o8/attachments \
-H "Authorization: Bearer $PARALLEL_TOKEN" \
-F "file=@receipt.pdf;type=application/pdf"HTTP Status: 201 Created
{
"attachment_id": "cm3k9b2c40002z8j4q1r2s3t4",
"invoice_id": "cm3k8x7y80001z8j4k5m6n7o8",
"type": "PDF",
"file_name": "receipt.pdf",
"file_url": "https://files.parallel-pay.com/attachments/cm3k9b2c40002z8j4q1r2s3t4/receipt.pdf",
"received_at": "2026-11-09T12:05:00+03:00",
"status": "CHECKING"
}Заявка переходит в REVIEW. Решение по файлу придёт вебхуком заявки.
Какие файлы
type | Что это | Форматы | Размер |
|---|---|---|---|
PDF | Чек из банка | до 10 МБ | |
IMAGE | Скриншот | JPG, PNG | до 10 МБ |
VIDEO | Видео оплаты — доп | MP4, MOV, WebM | до 50 МБ |
Файл больше допустимого — 413 FILE_TOO_LARGE, другой формат — 415 UNSUPPORTED_FILE.
Когда можно загружать
- В статусах
IN_PROGRESS,REVIEWиPROOF_REQUIRED. В остальных —409 INVALID_STATUS. - Доп можно прислать в любой из этих статусов, не дожидаясь отказа по чеку. Например, сразу вместе с чеком: чек одним запросом, видео — следующим.
- Видео — только если в
proof_optionsизGET /api/v2/slaестьVIDEO. Иначе403 PROOF_OPTION_DISABLED. - Если загрузка чеков не подключена магазину —
403 RECEIPT_DELIVERY_DISABLED. - По заявке с
"receipt_delivery": "EMAIL"загрузка недоступна: чек присылает клиент на почту заявки.
HTTP Status: 409 Conflict
{
"error": {
"code": "RECEIPT_DELIVERY_IS_EMAIL",
"message": "Чек по этой заявке клиент отправляет из приложения Т-Банка на inbox+k7m9q2@example.com"
}
}Проверка
- После загрузки заявка в
REVIEW.review_until— время последнего файла плюсreview_minutesизGET /api/v2/sla, 15 минут. Каждый новый файл сдвигает срок. - Мы проверяем файлы. Результат каждого файла — в
attachmentsзаявки:PASSEDилиFAILED. - Решение приходит вебхуком заявки:
- файл прошёл →
PAID.paid_amountбывает меньшеamount: если клиент заплатил меньше, заявку зачитываем на сумму из чека; - все файлы не прошли →
PROOF_REQUIREDсо срокомproof_until. До этого срока пришлите видео оплаты или возьмите финансовую ответственность. Не успели — заявка станетEXPIRED.
- файл прошёл →
Причины отказа
У файла в статусе FAILED есть reason: код и пояснение.
reason.code | Что значит |
|---|---|
FAKE | Файл похож на подделку |
UNREADABLE | Не удалось распознать банк или формат |
NOT_COMPLETED | Перевод не завершён. Например, чек Т-Банка со статусом «В обработке»: банк ещё может отменить такой перевод, поэтому чек не проходит |
WRONG_RECIPIENT | Перевод на другие реквизиты |
DUPLICATE | Этим чеком уже закрыта другая заявка |
Пример: чек перевода на другой номер телефона.
{
"attachment_id": "cm3k9b2c40002z8j4q1r2s3t4",
"invoice_id": "cm3k8x7y80001z8j4k5m6n7o8",
"type": "PDF",
"file_name": "receipt.pdf",
"file_url": "https://files.parallel-pay.com/attachments/cm3k9b2c40002z8j4q1r2s3t4/receipt.pdf",
"received_at": "2026-11-09T12:05:00+03:00",
"status": "FAILED",
"checked_at": "2026-11-09T12:07:00+03:00",
"reason": {
"code": "WRONG_RECIPIENT",
"message": "Перевод на другой номер телефона"
},
"transfer": {
"amount": "1000",
"at": "2026-11-09T12:04:00+03:00",
"bank_status": "Успешно",
"operation_id": "C4213110902474567",
"from": {
"bank": "tbank",
"name": "Пётр П."
},
"to": {
"method": "SBP",
"bank": "sberbank",
"name": "Иван И.",
"phone_number": "+79007654321",
"card_number": null
}
}
}Что прочитано из файла
transfer — перевод, как мы прочитали его из файла: сумма, время, статус в банке, отправитель и получатель. Есть,
если файл удалось прочитать. Что не прочиталось, равно null. По transfer.to видно, куда ушли деньги, — сравните
с requisites заявки.
Поле
Тип
Объект файла
Файл — чек или доп — приходит в ответе на загрузку и в attachments заявки, в порядке получения.
Поле
Тип
Пока файл проверяется, у него только "status": "CHECKING". После проверки:
PASSED — файл подтверждает оплату:
Поле
Тип
FAILED — файл не подтверждает оплату:
Поле
Тип
Поле
Тип