Как мне обработать это исключение?

Мы интегрируем Plaid в наше приложение. Plaid в основном позволяет пользователю войти в систему с учетными данными своего банка, и в нашем приложении мы можем получить доступ к финансовым данным пользователя, предоставленным Plaid.

Мы ожидаем, что пользователь войдет в систему с учетной записью студенческого кредита. Однако, если они входят в систему с учетной записью, отличной от учетной записи студенческой ссуды, Plaid выдает исключение, когда мы пытаемся получить доступ к обязательствам продукта Plaid.

Наша работа заключается в том, чтобы информировать пользователя о необходимости использовать учетную запись студенческого кредита. Однако есть вероятность, что учащийся попытается войти в систему с другой учетной записью. В этом случае мы должны обработать следующее исключение:

Plaid::ItemError {error_code: "PRODUCTS_NOT_SUPPORTED"}

Запрос делается через Ajax от клиента. В случае успеха клиент перенаправляется на панель инструментов (window.location.replace(/dashboard?message="+data.message+"&status="+data.status)).

Что я должен вернуть, когда Plaid вызывает исключение? Я отправляю сейчас 500 (внутренняя ошибка сервера) с сообщением, но клиент воспринимает это как «успех». Когда $.ajax интерпретирует ошибку? Какие случаи там лечить?

Спасибо!


person borjagvo    schedule 23.12.2020    source источник
comment
Является ли $ jQuery или Rails в этом контексте? Не то чтобы это действительно имело значение, так как оба НЕ должны рассматривать 500 как успех.   -  person max    schedule 24.12.2020


Ответы (1)


403 Access Denied кажется мне подходящим кодом ответа.

https://en.wikipedia.org/wiki/HTTP_403

person Christian Bruckmayer    schedule 23.12.2020