Перейти к основному содержимому

Ошибки, статусы и повторы

Проверяйте HTTP-ответ и status транзакции. При 200 или 201 транзакция может быть отклонена или ожидать обработки.

HTTP-результатДействие интеграции
400 / 422Проверьте поля, типы, масштаб суммы, окружение и получателя. Не повторяйте неизменённый невалидный запрос по кругу
401Проверьте реквизиты авторизации, срок и API-хост
403Аккаунту или ключу не хватает прав; не переключайте автоматически пользователя и окружение
404Проверьте идентификатор и контекст аккаунта. Ответ не доказывает отсутствие ресурса у другого аккаунта
409Разберите конфликт и восстановите исходную операцию до создания другой
429Учитывайте Retry-After, если он передан; повторы чтения ограничивайте по времени
Таймаут / 5xxРезультат может быть неизвестен. Найдите исходную операцию по id или txid до повторной отправки

Форматы ошибок различаются по endpoint. Если описан машинный код ошибки, используйте его; error_description — человекочитаемый, нестабильный текст. Удаляйте из логов секреты и данные платёжного инструмента.

Результат транзакции​

  • charged: операция успешно завершена.
  • rejected или failed: проверьте причину и исходную операцию; успех не подтверждён.
  • refunded или reversed: состояние денег отличается от нового успешного зачисления.
  • Ожидание, запрос действия или неизвестный статус: покажите это состояние и необходимое действие пользователя. Незнакомый статус и timestamp сами по себе не означают успеха.

Проверяйте операцию через GET транзакции. Для повтора одной бизнес-инструкции сохраняйте txid. Ошибка доставки webhook и ошибка обработки платежа — разные события.