Заявка на приём
Создание заявки, способ получения чека, статусы и сроки, отмена
Создать заявку
curl -X POST https://api.parallel-pay.com/api/v2/invoices \
-H "Authorization: Bearer $PARALLEL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"internal_id": "order-1001",
"direction": "IN",
"amount": "1000",
"currency": "RUB",
"method": "SBP",
"receipt_delivery": "UPLOAD"
}'HTTP Status: 201 Created
{
"internal_id": "order-1001",
"invoice_id": "cm3k8x7y80001z8j4k5m6n7o8",
"direction": "IN",
"created_at": "2026-11-09T12:00:00+03:00",
"updated_at": "2026-11-09T12:00:00+03:00",
"amount": "1000",
"currency": "RUB",
"deal_rate": "95.5",
"requisites": {
"bank": "sberbank",
"bank_name": "Сбербанк",
"full_name": "Ivan I.",
"method": "SBP",
"phone_number": "+79001234567"
},
"attachments": [],
"receipt_delivery": "UPLOAD",
"status": "IN_PROGRESS",
"pay_until": "2026-11-09T12:15:00+03:00"
}Покажите клиенту requisites: банк, имя получателя и телефон или номер карты. Клиент должен заплатить до pay_until.
Параметры
Поле
Тип
Коды банков для bank — из GET /api/v2/banks.
Повторный запрос
Повторный запрос с тем же internal_id вернёт ту же заявку с кодом 200 OK. Новой заявки он не создаст. В
первый раз ответ — 201 Created. Поэтому после обрыва связи или ответа 503 смело повторяйте запрос с тем же
internal_id.
Ошибки при создании
| HTTP | code | Что делать |
|---|---|---|
| 400 | VALIDATION_ERROR | Исправьте тело запроса: подробности в message |
| 403 | RECEIPT_DELIVERY_DISABLED | Этот receipt_delivery не подключён магазину. Подключённые — в in.receipt_delivery из GET /api/v2/sla |
| 503 | NO_REQUISITES | Сейчас нет реквизитов на эту сумму. Повторите позже с тем же internal_id |
| 503 | UNAVAILABLE | Временный сбой. Повторите позже с тем же internal_id |
Как к нам попадёт чек
receipt_delivery обязателен: от него зависят поля ответа и путь заявки.
UPLOAD | EMAIL | |
|---|---|---|
| Откуда платит клиент | Из любого банка | Только из приложения Т-Банка |
| Как приходит чек | Вы загружаете файл: Чеки и допы | Клиент отправляет чек из приложения Т-Банка на receipt_email |
| Что показать клиенту | Реквизиты | Реквизиты и payer_warning |
| Доп и финансовая ответственность | Есть, если подключены магазину | Нет: чек с почты присылает сам Т-Банк |
| Если чек не подтвердил оплату | PROOF_REQUIRED: нужен доп | Снова IN_PROGRESS: клиент может прислать другой чек до pay_until |
Какие способы подключены вашему магазину — в in.receipt_delivery из GET /api/v2/sla.
Заявка с чеком на почту
В ответе на заявку с "receipt_delivery": "EMAIL" есть receipt_email и payer_warning. Пример — оплата на
карту:
HTTP Status: 201 Created
{
"internal_id": "order-1002",
"invoice_id": "cm3k8z1a20003z8j4b5c6d7e8",
"direction": "IN",
"created_at": "2026-11-09T12:00:00+03:00",
"updated_at": "2026-11-09T12:00:00+03:00",
"amount": "1000",
"currency": "RUB",
"deal_rate": "95.5",
"requisites": {
"bank": "tbank",
"bank_name": "Т-Банк",
"full_name": "Ivan I.",
"method": "TO_CARD",
"card_number": "2200700012345673"
},
"attachments": [],
"receipt_delivery": "EMAIL",
"receipt_email": "inbox+k7m9q2@example.com",
"payer_warning": "Оплачивайте только из приложения Т-Банка. После оплаты отправьте чек из приложения на inbox+k7m9q2@example.com: без него оплата не зачтётся.",
"status": "IN_PROGRESS",
"pay_until": "2026-11-09T12:15:00+03:00"
}Покажите клиенту текст payer_warning рядом с реквизитами. Почта receipt_email своя у каждой заявки.
Узнать состояние заявки
curl https://api.parallel-pay.com/api/v2/invoices/cm3k8x7y80001z8j4k5m6n7o8 \
-H "Authorization: Bearer $PARALLEL_TOKEN"Ответ — заявка целиком, в том же виде, что в ответе на создание и в теле вебхука. Запрашивайте её, если вебхук не дошёл или вебхук ещё не настроен.
Статусы
Статус показывает, чей сейчас ход. У каждого статуса, где ход за кем-то, есть свой срок.
| Статус | Чей ход | Срок |
|---|---|---|
IN_PROGRESS | Клиента: заплатить и прислать чек | pay_until |
REVIEW | Наш: проверить файлы | review_until |
PROOF_REQUIRED | Ваш: прислать доп — видео оплаты — или взять финансовую ответственность. Только у UPLOAD | proof_until |
PAID | Ничей: оплачена, USDT на балансе | — |
DISPUTE | Наш: разбираем спор | Срок не обещаем |
REVERSED | Ничей: зачисление отменено по спору | — |
EXPIRED | Ничей: срок вышел. Статус окончательный | — |
CANCELED | Ничей: заявка отменена. Статус окончательный | — |
Обычный путь: IN_PROGRESS → REVIEW → PAID.
Переходы
| Из | Что произошло | В |
|---|---|---|
IN_PROGRESS | Вы загрузили файл или чек пришёл на почту | REVIEW |
IN_PROGRESS | Вышел pay_until | EXPIRED |
IN_PROGRESS | Вы отменили заявку, файлов по ней нет | CANCELED |
| Неоплаченная | Parallel отменил заявку | CANCELED |
REVIEW | Файл прошёл проверку | PAID |
REVIEW | Все файлы не прошли проверку | PROOF_REQUIRED |
PROOF_REQUIRED | Вы загрузили файл, например видео оплаты | REVIEW |
PROOF_REQUIRED | Вышел proof_until | EXPIRED |
IN_PROGRESS, REVIEW, PROOF_REQUIRED | Вы взяли финансовую ответственность | PAID |
PAID | Parallel открыл спор: денег пришло меньше, чем зачтено | DISPUTE |
DISPUTE | Спор решён, на реквизиты что-то пришло | PAID с paid_amount = сколько пришло |
DISPUTE | Спор решён, не пришло ничего | REVERSED |
Сколько зачислено
У PAID есть paid_amount — сколько рублей зачтено. Он бывает меньше amount: если клиент заплатил меньше,
заявку зачитываем на сумму из чека. На баланс зачисляется paid_amount / deal_rate USDT.
Сроки
IN_PROGRESSпослеpay_until→EXPIRED.PROOF_REQUIREDпослеproof_until→EXPIRED.EXPIREDиCANCELED— окончательные статусы. Оплата, пришедшая позже, их не меняет.
Сколько минут длится каждый срок у вашего магазина — в pay_minutes, review_minutes и proof_minutes из
GET /api/v2/sla.
Отменить заявку
Отменить можно заявку в статусе IN_PROGRESS, по которой ещё нет ни одного файла. Тела у запроса нет.
curl -X POST https://api.parallel-pay.com/api/v2/invoices/cm3k8x7y80001z8j4k5m6n7o8/cancel \
-H "Authorization: Bearer $PARALLEL_TOKEN"Ответ — заявка в статусе CANCELED:
{
"internal_id": "order-1001",
"invoice_id": "cm3k8x7y80001z8j4k5m6n7o8",
"direction": "IN",
"created_at": "2026-11-09T12:00:00+03:00",
"updated_at": "2026-11-09T12:03:00+03:00",
"amount": "1000",
"currency": "RUB",
"deal_rate": "95.5",
"requisites": {
"bank": "sberbank",
"bank_name": "Сбербанк",
"full_name": "Ivan I.",
"method": "SBP",
"phone_number": "+79001234567"
},
"attachments": [],
"receipt_delivery": "UPLOAD",
"status": "CANCELED",
"canceled_at": "2026-11-09T12:03:00+03:00",
"cancellation": {
"code": "CANCELED_BY_MERCHANT",
"message": "Заявку отменил магазин"
}
}В другом статусе или если по заявке уже есть файл:
HTTP Status: 409 Conflict
{
"error": {
"code": "INVALID_STATUS",
"message": "Отменить можно только заявку в статусе IN_PROGRESS без файлов"
}
}Отмена с нашей стороны
Parallel может отменить неоплаченную заявку сам. Тогда придёт вебхук со статусом CANCELED, а причина будет в
cancellation.code:
REQUISITES_NOT_WORKING— реквизиты не принимают перевод. Иногда прикладываем скриншот:file_nameиfile_url;OTHER— другая причина, подробности вmessage.
Пример поля cancellation:
{
"code": "REQUISITES_NOT_WORKING",
"message": "Банк получателя не принимает переводы на эти реквизиты",
"file_name": "screenshot.png",
"file_url": "https://files.parallel-pay.com/cancellations/cm3k8x7y80001z8j4k5m6n7o8/screenshot.png"
}Объект заявки
Заявка приходит в ответе на создание, на GET, на действия с заявкой и в теле вебхука. Она складывается из трёх
частей: общие поля, поля способа получения чека и поля статуса.
Общие поля
Поле
Тип
Реквизиты: СБП
Поле
Тип
Реквизиты: перевод на карту
Поле
Тип
Поля UPLOAD
Поле
Тип
Поля EMAIL
Поле
Тип
Поля статуса
IN_PROGRESS:
Поле
Тип
REVIEW:
Поле
Тип
PROOF_REQUIRED:
Поле
Тип
PAID:
Поле
Тип
DISPUTE — поле dispute описано на странице Споры:
Поле
Тип
REVERSED:
Поле
Тип
EXPIRED:
Поле
Тип
CANCELED:
Поле
Тип
Поле
Тип