From 5b14a9a4a701dc82ff50a3868944e75dcb116992 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Wed, 5 Apr 2023 09:46:00 +0200 Subject: [PATCH] (feat) error message on payzen misconfigured currency --- CHANGELOG.md | 1 + app/exceptions/configuration_error.rb | 5 +++++ lib/pay_zen/service.rb | 2 ++ 3 files changed, 8 insertions(+) create mode 100644 app/exceptions/configuration_error.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 2612a8c12..f0e3129d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog Fab-manager - Italian language support (credits to https://crowdin.com/profile/olazzari) +- Improved error message on payzen misconfigured currency - Fix a bug: broken admin notifications if an order has been paid - Fix a bug: unable to bulk update settings diff --git a/app/exceptions/configuration_error.rb b/app/exceptions/configuration_error.rb new file mode 100644 index 000000000..b7dcd8967 --- /dev/null +++ b/app/exceptions/configuration_error.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +# Raised when Fab-manager is misconfigured +class ConfigurationError < StandardError +end diff --git a/lib/pay_zen/service.rb b/lib/pay_zen/service.rb index f870ee8a2..729340c02 100644 --- a/lib/pay_zen/service.rb +++ b/lib/pay_zen/service.rb @@ -113,6 +113,8 @@ class PayZen::Service < Payment::Service def payzen_amount(amount) currency = Setting.get('payzen_currency') + raise ConfigurationError, 'PayZen currency is not configured. Unable to process online payments.' if currency.nil? + return amount / 100 if zero_decimal_currencies.any? { |s| s.casecmp(currency).zero? } return amount * 10 if three_decimal_currencies.any? { |s| s.casecmp(currency).zero? }