class OnlineDebitTransactionParser

Constants

AmountInCents
AmountPaidInCents
Bank
BankPaymentDate
BankReturnCode
MerchantKey
MerchantName
OrderKey
OrderReference
PaymentDate
Signature
Status
TransactionKey
TransactionKeyToBank
TransactionReference

Public Instance Methods

Parse(elements) click to toggle source
# File lib/mundipagg/Parsers/online_debit_transaction_parser.rb, line 2
def Parse(elements)
  @@DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'

  if elements.length < 16
    throw('The expected parameter count is 16')
  end

  online_debit_transaction = OnlineDebitTransactionReportFile.new

  online_debit_transaction.Order.OrderKey = elements[1]
  online_debit_transaction.Order.OrderReference = elements[2]
  online_debit_transaction.Order.MerchantKey = elements[3]
  online_debit_transaction.Order.MerchantName = elements[4]

  online_debit_transaction.TransactionKey = elements[5]
  online_debit_transaction.TransactionReference = elements[6]
  online_debit_transaction.Bank = elements[7]
  online_debit_transaction.Status = elements[8]
  online_debit_transaction.AmountInCents = elements[9].to_i
  online_debit_transaction.AmountPaidInCents = (elements[10].to_s == '') == false ? elements[10].to_i : 0
  online_debit_transaction.PaymentDate = (elements[11].to_s == '') == false ? DateTime.strptime(elements[11],'%m/%d/%Y %H:%M:%S').strftime(@@DATETIME_FORMAT) : nil
  online_debit_transaction.BankReturnCode = elements[12]
  online_debit_transaction.BankPaymentDate = elements[13]
  online_debit_transaction.Signature = elements[14]
  online_debit_transaction.TransactionKeyToBank = elements[15].chomp

  return online_debit_transaction
end