Parallel

Чеки и допы

Загрузка чека и видео оплаты, проверка файла, причины отказа

По заявке с "receipt_delivery": "UPLOAD" чек к нам загружаете вы. Чек — PDF из банка или скриншот. Если чек не прошёл проверку, нужен доп — видео оплаты — или ваша финансовая ответственность.

Загрузить файл

POST/api/v2/invoices/{invoice_id}/attachments

Тело — 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Чек из банка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"
  }
}

Проверка

  1. После загрузки заявка в REVIEW. review_until — время последнего файла плюс review_minutes из GET /api/v2/sla, 15 минут. Каждый новый файл сдвигает срок.
  2. Мы проверяем файлы. Результат каждого файла — в attachments заявки: PASSED или FAILED.
  3. Решение приходит вебхуком заявки:
    • файл прошёл → 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 — файл не подтверждает оплату:

Поле

Тип

Поле

Тип

На этой странице