internetee-registry/app/models/payments/base.rb
2018-04-18 19:27:19 +03:00

49 lines
1 KiB
Ruby

module Payments
class Base
include ActionView::Helpers::NumberHelper
attr_reader :type,
:invoice,
:return_url,
:response_url,
:response
def initialize(type, invoice, opts = {})
@type = type
@invoice = invoice
@return_url = opts[:return_url]
@response_url = opts[:response_url]
@response = opts[:response]
end
def create_transaction
transaction = BankTransaction.where(description: invoice.order).first_or_initialize(
reference_no: invoice.reference_no,
currency: invoice.currency,
iban: invoice.seller_iban
)
transaction.save!
end
def complete_transaction
raise NotImplementedError
end
def settled_payment?
raise NotImplementedError
end
def form_fields
raise NotImplementedError
end
def form_url
ENV["#{type}_payment_url"]
end
def valid_response?
raise NotImplementedError
end
end
end