cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with eCheck and AIM

I'm getting an error when I try a eCheck transaction using AIM.

I get the following XML Error

 

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<ErrorResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <messages>
    <resultCode>Error</resultCode>
    <message>
      <code>E00003</code>
      <text>The element 'bankAccount' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'accountNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'accountType, routingNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.</text>
    </message>
  </messages>
</ErrorResponse>

 

Here is my XML I'm submitting

 

<?xml version="1.0"?>
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <merchantAuthentication>
    <name>########</name>
    <transactionKey>###############</transactionKey>
  </merchantAuthentication>
  <refId/>
  <transactionRequest>
    <transactionType>authCaptureTransaction</transactionType>
    <amount>4.99</amount>
    <payment>
      <bankAccount>
        <accountNumber>123456789</accountNumber>
        <routingNumber>071921891</routingNumber>
        <nameOnAccount>Jerrod Davenport</nameOnAccount>
        <bankName>PNC</bankName>
        <echeckType>WEB</echeckType>
      </bankAccount>
    </payment>
    <customer>
      <id/>
      <email>jerrod@gmail.com</email>
    </customer>
    <transactionSettings>
      <setting>
        <settingName>testRequest</settingName>
        <settingValue>false</settingValue>
      </setting>
    </transactionSettings>
    <userFields>
      <userField>
        <name>Membership ID</name>
        <value>12</value>
      </userField>
    </userFields>
  </transactionRequest>
</createTransactionRequest>

 

 

I don't see anything wrong with the code, but I guess there is.  Any help?

 

Thank you in advance.

 

 

Wstar
Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

Same as ARB XML, sequence matter, follow the xml I posted earlier.

View solution in original post

6 REPLIES 6

The xml pdf probably is outdated. This is from the schema added 2 new fields and changed the seq

<bankAccount>
    <accountType>checking,savings,businessChecking</accountType>
    <routingNumber></routingNumber>
    <accountNumber></accountNumber>
    <nameOnAccount></nameOnAccount>
    <echeckType></echeckType>
    <bankName></bankName>
    <checkNumber></checkNumber>
</bankAccount>

 

 

RaynorC1emen7
Expert

Check number is required for echecks using WEB type?

Only required for ARC or BOC type

Still getting an error.  The type is WEB as it is a transaction over the web for a subscription which will be billed first by AIM method.  I can not find out where the problem is.  I do not understand the error as I have the required fields.

 

I'll display my code,  Sent XML, and the Response XML

 

Code

require('authorize/testing/config.inc.php');
require('authorize/testing/AuthnetXML.class.php');

$xml = new AuthnetXML(AUTHNET_LOGIN, AUTHNET_TRANSKEY, AuthnetXML::USE_DEVELOPMENT_SERVER);
$xml->createTransactionRequest(array(
'refId' => $userid,
'transactionRequest' => array(
'transactionType' => 'authCaptureTransaction',
'amount' => $membership_amount,
'payment' => array(
'bankAccount' => array(
'accountNumber' => $account,
'routingNumber' => $routing,
'nameOnAccount' => $nameonaccount,
'bankName' => $bankname,
'accountType' => $frm_banktype,
'echeckType' => 'WEB',
),
),
'customer' => array(
'id' => $userid,
'email' => $email,

),
'transactionSettings' => array(
'setting' => array(
'settingName' => 'allowPartialAuth',
'settingValue' => 'false',
),
'setting' => array(
'settingName' => 'duplicateWindow',
'settingValue' => '0',
),
'setting' => array(
'settingName' => 'emailCustomer',
'settingValue' => 'false',
),
'setting' => array(
'settingName' => 'recurringBilling',
'settingValue' => 'false',
),
'setting' => array(
'settingName' => 'testRequest',
'settingValue' => 'false',
),
),
'userFields' => array(
'userField' => array(
'name' => 'CustomerID',
'value' => $userid,
),
'userField' => array(
'name' => 'Membership ID',
'value' => $membership,
),
),
),
));

 

 

Sent XML

<?xml version="1.0"?>
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <merchantAuthentication>
    <name>47V4Uej6</name>
    <transactionKey>95r933WDW6mb75fQ</transactionKey>
  </merchantAuthentication>
  <refId>109728</refId>
  <transactionRequest>
    <transactionType>authCaptureTransaction</transactionType>
    <amount>9.99</amount>
    <payment>
      <bankAccount>
        <accountNumber>123456789</accountNumber>
        <routingNumber>071921891</routingNumber>
        <nameOnAccount>asddd</nameOnAccount>
        <bankName>asd</bankName>
        <accountType>checking</accountType>
        <echeckType>WEB</echeckType>
      </bankAccount>
    </payment>
    <customer>
      <id>109728</id>
      <email>jerrod.davenport@gmail.com</email>
    </customer>
    <userFields>
      <userField>
        <name>Membership ID</name>
        <value>14</value>
      </userField>
    </userFields>
  </transactionRequest>
</createTransactionRequest>

 

Response XML

<?xml version="1.0" encoding="utf-8"?>
<ErrorResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <messages>
    <resultCode>Error</resultCode>
    <message>
      <code>E00003</code>
      <text>The element 'bankAccount' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'accountNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'accountType, routingNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.</text>
    </message>
  </messages>
</ErrorResponse>

Same as ARB XML, sequence matter, follow the xml I posted earlier.

That corrected the problem!  Thank you so much!