internetee-registry/app/models/payments/base.rb
Maciej Szlosarczyk c5591b4828
Add EveryPay payments
* Refactor BankLink into Payments::BankLink, add Payments::EveryPay
* Write tests for existing invoice views
* Write basic tests for Payments module
2018-04-18 13:41:46 +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
fail NotImplementedError
end
def settled_payment?
fail NotImplementedError
end
def form_fields
fail NotImplementedError
end
def form_url
ENV["#{type}_payment_url"]
end
def valid_response?
fail NotImplementedError
end
end
end