Method: Geti::AuthClient#data

Defined in:
lib/geti/auth_client.rb

#data(xml, opts) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/geti/auth_client.rb', line 39

def data(xml, opts)
  xml.AUTH_GATEWAY do # has an optional REQUEST_ID attribute for later lookups
    xml.TRANSACTION do
      xml.TRANSACTION_ID
      xml.MERCHANT do
        xml.TERMINAL_ID terminal_id
      end
      xml.PACKET do
        xml.IDENTIFIER identifier(opts[:type])
        xml.ACCOUNT do
          xml.ROUTING_NUMBER opts[:routing_number]
          xml.ACCOUNT_NUMBER opts[:account_number]
          xml.ACCOUNT_TYPE   opts[:account_type]
        end
        xml.CONSUMER do
          xml.FIRST_NAME opts[:first_name]
          xml.LAST_NAME  opts[:last_name]
          xml.ADDRESS1
          xml.ADDRESS2
          xml.CITY
          xml.STATE
          xml.ZIP
          xml.PHONE_NUMBER
          xml.DL_STATE
          xml.DL_NUMBER
          xml.COURTESY_CARD_ID
          if @verify_id
            xml.IDENTITY do
              xml.SSN4
              xml.DOB_YEAR
            end
          end
        end
        xml.CHECK do
          xml.CHECK_AMOUNT("%.2d" % ((opts[:amount]||0)/100.0))
        end
      end
    end
  end
end