mirror of
https://github.com/internetee/registry.git
synced 2025-07-30 06:26:15 +02:00
added endpoint for receive incoming transaction from lhv connect
This commit is contained in:
parent
a8f1f885de
commit
390d693b13
4 changed files with 53 additions and 8 deletions
12
app/controllers/eis_billing/base_controller.rb
Normal file
12
app/controllers/eis_billing/base_controller.rb
Normal 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
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue