class SEPA::DirectDebitTransaction

Constants

LOCAL_INSTRUMENTS
SEQUENCE_TYPES

Attributes

creditor_account[RW]
debtor_address[RW]
local_instrument[RW]
mandate_date_of_signature[RW]
mandate_id[RW]
original_creditor_account[RW]
original_debtor_account[RW]
same_mandate_new_debtor_agent[RW]
sequence_type[RW]

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method SEPA::Transaction::new
# File lib/sepa_king/transaction/direct_debit_transaction.rb, line 35
def initialize(attributes = {})
  super
  self.local_instrument ||= 'CORE'
  self.sequence_type ||= 'OOFF'
end

Public Instance Methods

amendment_informations?() click to toggle source
# File lib/sepa_king/transaction/direct_debit_transaction.rb, line 41
def amendment_informations?
  original_debtor_account || same_mandate_new_debtor_agent || original_creditor_account
end
schema_compatible?(schema_name) click to toggle source
# File lib/sepa_king/transaction/direct_debit_transaction.rb, line 45
def schema_compatible?(schema_name)
  case schema_name
  when PAIN_008_002_02
    self.bic.present? && %w(CORE B2B).include?(self.local_instrument) && self.currency == 'EUR'
  when PAIN_008_003_02
    self.currency == 'EUR'
  when PAIN_008_001_02
    true
  end
end