# TEMPORARY COMMENT OUT, IF EVERYTHING WILL BE WORK AS EXPECTED, THEN NEED TO REMOVE THIS CODR # DON'T FORGET TO REMOVE HELPERS, ROUTES AND ETC ALSO # # # # module EisBilling # class PaymentStatusController < EisBilling::BaseController # TYPE = 'PaymentOrders::EveryPay'.freeze # def update # invoice_number = params[:order_reference] # paid_at = params[:transaction_time] # sum = params[:standing_amount] # everypay_response = params # payment_status = define_payment_status(params[:payment_state]) # invoice = Invoice.find_by(number: invoice_number) # bank = create_bank_transfer(invoice: invoice, sum: sum, paid_at: paid_at) # create_payment_order(invoice: invoice, everypay_response: everypay_response, payment_status: payment_status) # registrar = invoice.buyer # bank.create_activity(registrar, invoice) # render status: 200, json: { status: :ok } # end # private # def define_payment_status(status) # return :paid if PaymentOrders::EveryPay::SUCCESSFUL_PAYMENT.include? status # :failed # end # def create_payment_order(invoice:, everypay_response:, payment_status:) # payment = PaymentOrder.new # payment.type = TYPE # payment.invoice = invoice # payment.response = everypay_response # payment.status = payment_status # payment.save # logger.info '++++ PAYMENT ORDER ERRORS ? ++++' # logger.info payment.errors # payment # end # def create_bank_transfer(invoice:, sum:, paid_at:) # bank = BankTransaction.new # bank.description = invoice.order # bank.reference_no = invoice.reference_no # bank.currency = invoice.currency # bank.iban = invoice.seller_iban # bank.sum = sum # bank.paid_at = paid_at # bank.buyer_name = invoice.buyer_name # bank.save # logger.info '++++ BANK TRANSACTION ERRORS ? ++++' # logger.info bank.errors # bank # end # end # end