Мы интегрируем 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 интерпретирует ошибку? Какие случаи там лечить?
Спасибо!
$
jQuery или Rails в этом контексте? Не то чтобы это действительно имело значение, так как оба НЕ должны рассматривать 500 как успех. - person max   schedule 24.12.2020