Я использую Braintree для обработки платежей через мое веб-приложение, никаких проблем до сих пор, много документации, но немного не знаю, как обращаться с ошибками в моем контроллере. Я не думаю, что я должен искать, чтобы отобразить все сообщения об ошибках пользователю, поскольку это может представлять угрозу безопасности, но я бы хотел обработать мои ошибки лучше, чем сейчас, возможно, захватив выбор общих ошибок?Обработка ошибок с помощью Braintree - Ruby
Вопрос в том, как я могу их захватить в пределах rescue
или создать метод, с помощью которого будут проходить ошибки, а затем отобразить некоторые пользовательские сообщения для определенных ошибок?
На данный момент у меня есть очень простое действие контроллера
@result = Braintree::Transaction.sale(
amount: @amount,
payment_method_nonce: params[:payment_method_nonce],
options: {
submit_for_settlement: true
}
)
if @result.success?
redirect_to thank_you_path
else
flash[:alert] = 'Something went wrong while processing your transaction. Please try again!'
gon.client_token = generate_client_token
render :new
end
Я просто показать общий «Что-то пошло не так», когда сообщение @result не увенчались успехом.
Я уверен, что есть более эффективные способы борьбы с этим и будут оценены любые предложения
Thnaks
Спасибо, я заметил, что там много кодов состояния, которые могут быть возвращены https://developers.braintreepayments.com/reference/general/processor-response/authorization-response, я не хочу печатать каждое сообщение как возвращаемое, больше похоже на то, что коды '2002, 2003, 2004' печатают' Contact bank'. Как сгруппировать их вместе и представить в контроллере – Richlewis
Написав код, он объединяет нужные сообщения и представляет их в контроллере. Этот сайт не «напишите код для меня бесплатно». – mudasobwa
Я не прошу раздаточный материал, просто указатель в правильном направлении, ресурс, на который нужно смотреть. Я ищу наилучшую практику, как это сделать в Rails. Im думает метод, который принимает объект результата и находит код состояния, но является ли один аргумент большого дела эффективным способом справиться с этим? – Richlewis