diff --git a/app/controllers/eis_billing/payment_status_controller.rb b/app/controllers/eis_billing/payment_status_controller.rb index 4fa626e5d..015eed64a 100644 --- a/app/controllers/eis_billing/payment_status_controller.rb +++ b/app/controllers/eis_billing/payment_status_controller.rb @@ -10,9 +10,7 @@ module EisBilling bank = create_bank_transfer(invoice: invoice, sum: params[:standing_amount], paid_at: params[:transaction_time]) create_payment_order(invoice: invoice, everypay_response: params, payment_status: payment_status) - - registrar = invoice.buyer - bank.create_activity(registrar, invoice) + bank.bind_invoice(params[:order_reference]) respond_to do |format| format.json do diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index ef2ab3370..bd437fe96 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -88,7 +88,16 @@ class BankTransaction < ApplicationRecord errors.add(:base, I18n.t('invoice_and_transaction_sums_do_not_match')) if invoice.total != sum end + def parsed_ref_number + reference_no || ref_number_from_description + end + + private + def create_activity(registrar, invoice) + validate_invoice_data(invoice) + return if errors.any? + activity = AccountActivity.new(account: registrar.cash_account, bank_transaction: self, invoice: invoice, sum: invoice.subtotal, currency: currency, description: description, @@ -102,12 +111,6 @@ class BankTransaction < ApplicationRecord end end - def parsed_ref_number - reference_no || ref_number_from_description - end - - private - def reset_pending_registrar_balance_reload(registrar) return unless registrar.settings['balance_auto_reload']