added endpoint for receive incoming transaction from lhv connect

This commit is contained in:
olegphenomenon 2022-01-25 16:17:02 +02:00
parent a8f1f885de
commit 390d693b13
4 changed files with 53 additions and 8 deletions

View file

@ -0,0 +1,12 @@
module EisBilling
class BaseController < ApplicationController
skip_authorization_check # Temporary solution
skip_before_action :verify_authenticity_token # Temporary solution
end
protected
def logger
@logger ||= Rails.logger
end
end

View file

@ -0,0 +1,39 @@
module EisBilling
class LhvConnectTransactionsController < EisBilling::BaseController
def create
params["_json"].each do |incoming_transaction|
process_transactions(incoming_transaction["table"])
end
render status: 200, json: { message: 'RECEIVED', status: :ok, params: params }
end
private
def process_transactions(incoming_transaction)
logger.info 'Got incoming transactions'
logger.info incoming_transaction
bank_statement = BankStatement.new(bank_code: Setting.registry_bank_code,
iban: Setting.registry_iban)
ActiveRecord::Base.transaction do
bank_statement.save!
transaction_attributes = { sum: incoming_transaction["amount"],
currency: incoming_transaction["currency"],
paid_at: incoming_transaction["date"],
reference_no: incoming_transaction["payment_reference_number"],
description: incoming_transaction["payment_description"] }
transaction = bank_statement.bank_transactions.create!(transaction_attributes)
next if transaction.registrar.blank?
unless transaction.non_canceled?
Invoice.create_from_transaction!(transaction) unless transaction.autobindable?
transaction.autobind_invoice
end
end
end
end
end

View file

@ -1,8 +1,5 @@
module EisBilling
class PaymentStatusController < ApplicationController
skip_authorization_check # Temporary solution
skip_before_action :verify_authenticity_token # Temporary solution
class PaymentStatusController < EisBilling::BaseController
TYPE = 'PaymentOrders::EveryPay'.freeze
def update
@ -62,9 +59,5 @@ module EisBilling
bank
end
def logger
@logger ||= Rails.logger
end
end
end

View file

@ -13,6 +13,7 @@ Rails.application.routes.draw do
namespace :eis_billing do
put '/payment_status', to: 'payment_status#update', as: 'payment_status'
post '/lhv_connect_transactions', to: 'lhv_connect_transactions#create', as: 'lhv_connect_transactions'
end
namespace :epp do