Какой ответ HTTP-кода использовать при сбое платежа? - PullRequest
1 голос
/ 07 февраля 2020

Какой HTTP-код использовать при обработке платежей / работе с кредитными картами?

Например:

  • Недостаточно средств
  • Невозможно получить средства (когда причина не указана)
  • Срок действия кредитной карты истек

Я отправляю ответ JSON, поэтому я не против, но мне интересно, какой код использовать? .

1 Ответ

1 голос
/ 07 февраля 2020

Во-первых, важно различать guish между сбоями, которые

  1. вызваны на стороне клиента, и
  2. другими, которые были вызваны проблемами на сторона сервера

Последние обычно описывают ошибки, которые клиент не может решить самостоятельно.

Первые должны иметь код состояния в серии 400. Другие, вызванные серверной стороной, должны иметь код состояния на серии 500.

Мои предложения

  • Недостаточно средств

    • Я бы предложил 400 (Неверный запрос) вместе со значимым сообщением об ошибке.
  • Невозможно получить средства (без указания причины)

    • 500 (ошибка сервера интернета), если причина root явно на стороне сервера.
    • 503 (служба недоступна), если можно определить, что некоторые необходимый веб-сервис временно недоступен. Значение 503 заключается в том, что эта ошибка носит временный характер, побуждая клиента повторить тот же запрос позже.
    • 400 (неверный запрос), если причина root является каким-то недействительным запросом клиентом
  • Срок действия кредитной карты истек

    • Снова я бы предложил 400 (неверный запрос) + сообщение об ошибке

Полный список кодов возврата можно найти здесь .

...