cancel
Showing results for 
Search instead for 
Did you mean: 

E00027 and CIM -- missing or invalid required fields?

I am using CIM and am having a problem with createCustomerPaymentProfileRequest in liveMode. When I try to run this:

 

 

<?xml version="1.0" encoding="utf-8"?>
<createCustomerPaymentProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <merchantAuthentication>
    <name>2Wf76EnkF5M</name>
    <transactionKey>4LU646UcU28dZ3z4</transactionKey>
  </merchantAuthentication>
  <customerProfileId>4696773</customerProfileId>
  <paymentProfile>
    <billTo>
      <firstName>Connor</firstName>
      <lastName>Boyack</lastName>
      <phoneNumber>98343434</phoneNumber>
    </billTo>
    <payment>
      <creditCard>
        <cardNumber>4012888818888</cardNumber>
        <expirationDate>2015-05</expirationDate>
      </creditCard>
    </payment>
  </paymentProfile>
  <validationMode>liveMode</validationMode>
</createCustomerPaymentProfileRequest>

 I get this response:

 

<?xml version="1.0" encoding="utf-8"?>
<createCustomerPaymentProfileResponse 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>E00027</code>
      <text>There is one or more missing or invalid required fields.</text>
    </message>
  </messages>
  <validationDirectResponse>3,1,290,There is one or more missing or invalid required fields.,,P,0,none,Test transaction for ValidateCustomerPaymentProfile.,0.00,CC,auth_only,none,Connor,Boyack,,,,,,,98343434,,email@example.com,none,none,none,none,none,none,none,none,0.00,0.00,0.00,FALSE,none,4E2328BECF5B71F8A7E2F238DF810E8C,,,,,,,,,,,,,XXXX8888,Visa,,,,,,,,,,,,,,,,</validationDirectResponse>
</createCustomerPaymentProfileResponse>

The credit card number was supplied in my welcome email by authorize.net, and the expiration date is in the future. I can't make sense of what else is missing or invalid. 

 

Can anybody help?

cboyack
Member
10 REPLIES 10

I should note that I'm using VISA, and that requires the address and zip. So when I include those fields inside the <billTo> in createCustomerPaymentProfileRequest, I get this error:

 

The operation failed with the following errors:<br>[E00003] The element 'address' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'address' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'faxNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.

 

Here is the updated XML I'm sending over, which is still complaining:

 

<?xml version="1.0" encoding="utf-8"?>
<createCustomerPaymentProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
  <merchantAuthentication>
    <name>2Wf76EnkF5M</name>
    <transactionKey>4LU646UcU28dZ3z4</transactionKey>
  </merchantAuthentication>
  <customerProfileId>4696773</customerProfileId>
  <paymentProfile>
    <billTo>
      <firstName>Connor</firstName>
      <lastName>Boyack</lastName>
      <company/>
      <address>12345 Place</address>
      <city>Provo</city>
      <state>UT</state>
      <zip>84043</zip>
      <country>USA</country>
      <phoneNumber>98343434</phoneNumber>
      <faxNumber/>
    </billTo>
    <payment>
      <creditCard>
        <cardNumber>4012888818888</cardNumber>
        <expirationDate>2015-05</expirationDate>
      </creditCard>
    </payment>
  </paymentProfile>
  <validationMode>liveMode</validationMode>
</createCustomerPaymentProfileRequest>

 The billTo fields are in the order listed in http://www.authorize.net/support/CIM_XML_guide.pdf so I'm not sure what's up.

cboyack
Member

Authorize.net is funny in that the XML elements have to be in the correct order as well as nested correctly. I'd have to check to verify, but I've seen this error before and you probably have something out of order.

Can someone who's been able to get around this issue post a sample XML request? I've tried to follow the documentation, but no success. Keep getting either error code E00027 "There is one or more missing or invalid required fields." or E00003 "Unexpected end of file has occurred. The following elements are not closed: createCustomerProfileRequest. Line 2, position 739.". This is the request with the element "not closed" (after running through 'pretty print' and redacting name/transactionKey):

 

<?xml version="1.0"?>
<createCustomerProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
    <name>XXXX</name>
    <transactionKey>XXXXX</transactionKey>
</merchantAuthentication>
<profile>
    <merchantCustomerId>1121</merchantCustomerId>
    <description>Test Test</description>
    <email>testing48@example.com</email>
    <paymentProfiles>
        <billTo>
            <firstName>Test</firstName>
            <lastName>Test</lastName>
            <address>Test St 1 apt 1</address>
            <city>Testcity</city>
            <state>AL</state>
            <zip>01234</zip>
            <country>US</country>
        </billTo>
        <payment>
            <creditCard>
                <cardNumber>4111111111111111</cardNumber>
                <expirationDate>2017-02</expirationDate>
                <cardCode>012</cardCode>
            </creditCard>
        </payment>
    </paymentProfiles>
</profile>
<validationMode>liveMode</validationMode>
</createCustomerProfileRequest>

 

The only thing I see missing is the encoding.

Thanks. I have now tried with encoding="UTF-8" and encoding="utf-8". Still no success. I've tried removing whitespace and received a variety of errors:

 

<?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 "><messages><resultCode>Error</resultCode><message><code>E00003</code><text>Unexpected end of file while parsing Name has occurred. Line 21, position 67.</text></message></messages></ErrorResponse>

also:

<?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 "><messages><resultCode>Error</resultCode><message><code>E00003</code><text>Unexpected end of file while parsing Name has occurred. Line 21, position 74.</text></message></messages></ErrorResponse>

also: 

 

<?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 "><messages><resultCode>Error</resultCode><message><code>E00003</code><text>Unexpected end of file has occurred. The following elements are not closed: cardNumber, creditCard, payment, paymentProfiles, profile, createCustomerProfileRequest. Line 23, position 31.</text></message></messages></ErrorResponse>

 

All with the same XML data. After reaching out to the support email, they mentioned their error codes could mean different things (... so I guess the error text is just randomly generated gobily goop??). They also pointed me to http://developer.authorize.net/tools/responsereasoncode/ which mentions response code 3 means "This transaction has been declined". Interestingly, this is just to add the payment profile to CIM. When we test processing a payment, the same card is authorized. I don't even know what to ask anymore...

 

EDIT: I had to add spaces around the attributes with http or the rich-text editor would force it to be a link and truncated the rest of the XML. Fun!

are you setting the length of the xml on the request?

Yes! The code we have is from a drupal module that was setting the content-length header apparently incorrectly. It looks like that may have been causing the glitch. Thank you!

Any update on this, I'm seeing similar in the .net SDK 1.8.5

tjb32
Member

Hello,

 

We encounter the same error in LIVE mode for our customer's account: "E00027 - There is one or more missing or invalid required fields". When we pass billing address information the error goes away. I'm wondering whether passing billing address information obligatory or there is a setting in the account to turn it off?