<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
 = ActiveMerchant CHANGELOG
 
+* Parse complete response of Authorize.net CIM gateway [Patrick Joyce]
 * Update to PayPal Sandbox URL for testing Payflow Pro Express Checkout. See Express Checkout for Payflow Pro guide [cody]
 * Provide a C_STATE value of &quot;Outside United States&quot; for SageGateway when processing international customers [cody]
 * PayPal Website Payments Pro Canada supports Amex [cody]</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -654,14 +654,46 @@ module ActiveMerchant #:nodoc:
 
         direct_response.merge(
           {
-            'approval_code' =&gt; direct_response_fields[4],
+            'response_code' =&gt; direct_response_fields[0],
+            'response_subcode' =&gt; direct_response_fields[1],
+            'response_reason_code' =&gt; direct_response_fields[2],
             'message' =&gt; direct_response_fields[3],
-            'transaction_type' =&gt; direct_response_fields[11],
-            'amount' =&gt; direct_response_fields[9],
+            'approval_code' =&gt; direct_response_fields[4],
+            'avs_response' =&gt; direct_response_fields[5],
+            'transaction_id' =&gt; direct_response_fields[6],
             'invoice_number' =&gt; direct_response_fields[7],
             'order_description' =&gt; direct_response_fields[8],
-            'purchase_order_number' =&gt; direct_response_fields[36]
-            # TODO fill in other fields
+            'amount' =&gt; direct_response_fields[9],
+            'method' =&gt; direct_response_fields[10],
+            'transaction_type' =&gt; direct_response_fields[11],
+            'customer_id' =&gt; direct_response_fields[12],
+            'first_name' =&gt; direct_response_fields[13],
+            'last_name' =&gt; direct_response_fields[14],
+            'company' =&gt; direct_response_fields[15],
+            'address' =&gt; direct_response_fields[16],
+            'city' =&gt; direct_response_fields[17],
+            'state' =&gt; direct_response_fields[18],
+            'zip_code' =&gt; direct_response_fields[19],
+            'country' =&gt; direct_response_fields[20],
+            'phone' =&gt; direct_response_fields[21],
+            'fax' =&gt; direct_response_fields[22],
+            'email_address' =&gt; direct_response_fields[23],
+            'ship_to_first_name' =&gt; direct_response_fields[24],
+            'ship_to_last_name' =&gt; direct_response_fields[25],
+            'ship_to_company' =&gt; direct_response_fields[26],
+            'ship_to_address' =&gt; direct_response_fields[27],
+            'ship_to_city' =&gt; direct_response_fields[28],
+            'ship_to_state' =&gt; direct_response_fields[29],
+            'ship_to_zip_code' =&gt; direct_response_fields[30],
+            'ship_to_country' =&gt; direct_response_fields[31],
+            'tax' =&gt; direct_response_fields[32],
+            'duty' =&gt; direct_response_fields[33],
+            'freight' =&gt; direct_response_fields[34],
+            'tax_exempt' =&gt; direct_response_fields[35],
+            'purchase_order_number' =&gt; direct_response_fields[36],
+            'md5_hash' =&gt; direct_response_fields[37],
+            'card_code' =&gt; direct_response_fields[38],
+            'cardholder_authentication_verification_response' =&gt; direct_response_fields[39]
           }
         )
       end</diff>
      <filename>lib/active_merchant/billing/gateways/authorize_net_cim.rb</filename>
    </modified>
    <modified>
      <diff>@@ -101,6 +101,7 @@ class AuthorizeNetCimTest &lt; Test::Unit::TestCase
     assert response.params['direct_response']['approval_code'] =~ /\w{6}/
     assert_equal &quot;auth_only&quot;, response.params['direct_response']['transaction_type']
     assert_equal &quot;100.00&quot;, response.params['direct_response']['amount']
+    assert_match /\d+/, response.params['direct_response']['transaction_id']
 
     approval_code = response.params['direct_response']['approval_code']
 </diff>
      <filename>test/remote/gateways/remote_authorize_net_cim_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -116,6 +116,44 @@ class AuthorizeNetCimTest &lt; Test::Unit::TestCase
     assert_equal 'This transaction has been approved.', response.params['direct_response']['message']
     assert_equal 'auth_only', response.params['direct_response']['transaction_type']
     assert_equal 'Gw4NGI', approval_code = response.params['direct_response']['approval_code']
+    assert_equal '508223659', response.params['direct_response']['transaction_id']
+
+    assert_equal '1', response.params['direct_response']['response_code']
+    assert_equal '1', response.params['direct_response']['response_subcode']
+    assert_equal '1', response.params['direct_response']['response_reason_code']
+    assert_equal 'Y', response.params['direct_response']['avs_response']
+    assert_equal '', response.params['direct_response']['invoice_number']
+    assert_equal '', response.params['direct_response']['order_description']
+    assert_equal '100.00', response.params['direct_response']['amount']
+    assert_equal 'CC', response.params['direct_response']['method']
+    assert_equal 'Up to 20 chars', response.params['direct_response']['customer_id']
+    assert_equal '', response.params['direct_response']['first_name']
+    assert_equal '', response.params['direct_response']['last_name']
+    assert_equal '', response.params['direct_response']['company']
+    assert_equal '', response.params['direct_response']['address']
+    assert_equal '', response.params['direct_response']['city']
+    assert_equal '', response.params['direct_response']['state']
+    assert_equal '', response.params['direct_response']['zip_code']
+    assert_equal '', response.params['direct_response']['country']
+    assert_equal '', response.params['direct_response']['phone']
+    assert_equal '', response.params['direct_response']['fax']
+    assert_equal 'Up to 255 Characters', response.params['direct_response']['email_address']
+    assert_equal '', response.params['direct_response']['ship_to_first_name']
+    assert_equal '', response.params['direct_response']['ship_to_last_name']
+    assert_equal '', response.params['direct_response']['ship_to_company']
+    assert_equal '', response.params['direct_response']['ship_to_address']
+    assert_equal '', response.params['direct_response']['ship_to_city']
+    assert_equal '', response.params['direct_response']['ship_to_state']
+    assert_equal '', response.params['direct_response']['ship_to_zip_code']
+    assert_equal '', response.params['direct_response']['ship_to_country']
+    assert_equal '', response.params['direct_response']['tax']
+    assert_equal '', response.params['direct_response']['duty']
+    assert_equal '', response.params['direct_response']['freight']
+    assert_equal '', response.params['direct_response']['tax_exempt']
+    assert_equal '', response.params['direct_response']['purchase_order_number']
+    assert_equal '6E5334C13C78EA078173565FD67318E4', response.params['direct_response']['md5_hash']
+    assert_equal '', response.params['direct_response']['card_code']
+    assert_equal '2', response.params['direct_response']['cardholder_authentication_verification_response']
 
     @gateway.expects(:ssl_post).returns(successful_create_customer_profile_transaction_response(:capture_only))
 </diff>
      <filename>test/unit/gateways/authorize_net_cim_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e2a54085c387d2509a669cbd370a4ec70eec9dd3</id>
    </parent>
  </parents>
  <author>
    <name>Cody Fauser</name>
    <email>codyfauser@gmail.com</email>
  </author>
  <url>http://github.com/Shopify/active_merchant/commit/d05c089cdb383e5dc899da90af79afec5994f89d</url>
  <id>d05c089cdb383e5dc899da90af79afec5994f89d</id>
  <committed-date>2009-10-06T17:40:06-07:00</committed-date>
  <authored-date>2009-10-06T17:40:06-07:00</authored-date>
  <message>Parse the rest of the parameters from the Direct Response for the Authorize.net CIM gateway [#123 state:resolved]</message>
  <tree>421289e5d292ba43064042dcbfca4a2d43c6c193</tree>
  <committer>
    <name>Cody Fauser</name>
    <email>codyfauser@gmail.com</email>
  </committer>
</commit>
