Ошибки API¶
Ошибки API описывают причину отклонения операции и передаются в ответах на запросы в поле result
.
Пример ответа с ошибкой
Коды ошибок¶
Коды ошибок могут быть фатальные и нефатальные:
-
Фатальная ошибка означает, что повторная отправка запроса с теми же параметрами приведет к 100% повторению той же ошибки. В этом случае информационная система QIWI прекращает обработку запроса и завершает его с ошибкой.
-
Нефатальная ошибка означает, что повторение запроса с теми же параметрами через некоторый промежуток времени, возможно, приведет к успеху. При получении нефатальной ошибки информационная система QIWI будет повторять запросы, увеличивая интервал, пока операция не завершится успехом или фатальной ошибкой, либо пока не истечет срок жизни платежа (24 часа).
Ошибки, отсутствующие в справочнике, воспринимаются как нефатальные и обрабатываются соответствующим образом.
Код | Описание | Фатальность | Комментарий |
---|---|---|---|
1 | Временная ошибка. Повторите запрос позднее | Нет | Может использоваться во время непродолжительных технических работ |
4 | Неверный формат идентификатора абонента | Да | Используется, если полученный идентификатор абонента не соответствует заданным параметрам, например если вместо 10 цифр передано 8 букв |
5 | Идентификатор абонента не найден | Да | Формат идентификатора абонента верный, но значение не обнаружено в системе провайдера |
7 | Прием платежа запрещен провайдером | Да | Может использоваться, если по какой-либо причине зачисление средств невозможно |
31 | Некорректное значение дополнительных параметров | Да | Используется, когда значение, переданное в fields , не соответствует заданным параметрам, например, вместо цифр переданы буквы, вместо кириллицы – латиница |
32 | Курс конвертации изменился. Пожалуйста, запросите актуальный курс и повторите платеж | Да | Используется только если в дополнительных параметрах операции присутствует курс конвертации. Курс, переданный в дополнительных параметрах, сравнивается с текущим на стороне провайдера. Код 32 возвращается, если за время, прошедшее между запросами check и pay либо между запросами getinfo и check /pay , курс изменился |
79 | Идентификатор абонента заблокирован или не активен | Да | Может использоваться, если абоненту в системе провайдера присвоен соответствующий статус, например, когда заблокирована карта или договор между провайдером и абонентом не активен |
90 | Проведение платежа не окончено | Нет | Используется, если в момент ответа транзакция находится в обработке |
202 | Ошибка парсинга входящего сообщения | Да | Используется, когда формат полученного запроса не соответствует протоколу, например вместо параметра account передано acount с опечаткой |
204 | Переданы не все обязательные параметры | Да | Используется, если в запросе отсутствуют обязательные для передачи параметры, например ФИО получателя/отправителя |
241 | Сумма слишком мала | Да | Используется, когда сумма в запросе меньше указанного на стороне провайдера порога |
242 | Сумма слишком велика | Да | Используется, когда сумма в запросе больше указанного на стороне провайдера порога |
300 | Другая ошибка провайдера | Да | Может использоваться, если ни одна из перечисленных выше ошибок не подошла |