<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Error updating Payment Profile information without sending Payment data in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67562#M40946</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/30049"&gt;@asaavedra&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In your post you are mentioning that you are getting an error -&lt;SPAN&gt;"The element 'creditCard' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'cardType' in namespace" when you pass the&amp;nbsp;card information that comes back from GetCustomerPaymentProfileRequest. The GetCustomerPaymentProfileResponse will have payment information like below:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;
          XXXX1733
        &amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;
          XXXX
        &amp;lt;/expirationDate&amp;gt;
        &amp;lt;cardType&amp;gt;
          Visa
        &amp;lt;/cardType&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; But when you make the&amp;nbsp;UpdateCustomerPaymentProfileRequest&amp;nbsp; in the payment information only pass the cardNumber and&amp;nbsp;expirationDate like this:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;
          XXXX1733
        &amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;
          XXXX
        &amp;lt;/expirationDate&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 30 Apr 2019 05:20:33 GMT</pubDate>
    <dc:creator>rahulr</dc:creator>
    <dc:date>2019-04-30T05:20:33Z</dc:date>
    <item>
      <title>Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67540#M40926</link>
      <description>&lt;P&gt;Hopefully this is going to be the right place to get some help...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;My first message to developer@authorize.net was:&lt;BR /&gt;Currently, we are using Customer Profiles &amp;amp; Payment Profiles to save our subscribers bill-to information and I need to give them the ability to update their billing information (first name, last name, address, etc...) without changing the credit card information.&lt;BR /&gt;&lt;BR /&gt;I have been trying to use the UpdateCustomerPaymentProfileRequest class, sending only the billTo information and the response that always get from the request is "Failed to update payment profile ID XXXX. Payment information is required". Reading posts and comments in your dev community blog, several people recommend "For card information you can pass exactly what comes back from GetCustomerPaymentProfileRequest if you don't need to update that info", but using this solution I always get the response "The element 'creditCard' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'cardType' in namespace".&lt;BR /&gt;&lt;BR /&gt;Everything that I have tried has failed.&lt;BR /&gt;&lt;BR /&gt;So my main question would be, is possible to update the information not related to the credit card in the Payment profiles using the Authorize.net API (of course without sending the payment information)?&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;They answer me with:&lt;BR /&gt;If fields are not submitted or submitted blank using the updateCustomerPaymentProfileRequest, then the original profile information will be removed. You will want to submit getCustomerPaymentProfileRequest to obtain the most current details including the masked payment information. You can change the needed fields and reuse the fields you received with updates, using the updateCustomerPaymentProfileRequest API call.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;I answered with:&lt;BR /&gt;Unfortunately I still have problems implementing your suggestion... The following is the class that I created with your suggestions and I'm still receiving errors from the API... Could you please give me some advices about how to solve this?&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;module AuthorizeTransactionManager&lt;BR /&gt;&amp;nbsp; require 'authorizenet'&lt;BR /&gt;&amp;nbsp; include AuthorizeNet::API&lt;/P&gt;&lt;P&gt;&amp;nbsp; class ANProposedSolution&lt;BR /&gt;&amp;nbsp; &amp;nbsp; def initialize&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; @transaction = Transaction.new(&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AUTHORIZE_API_LOGIN,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AUTHORIZE_API_KEY,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :gateway =&amp;gt; AUTHORIZE_GATEWAY&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; def request_customer_payment_profile&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; request = GetCustomerPaymentProfileRequest.new&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; request.customerProfileId = 1507241273&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; request.customerPaymentProfileId = 1506634046&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; response = @transaction.get_customer_payment_profile(request)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if response.messages.resultCode == MessageTypeEnum::Ok&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response.paymentProfile&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts response.messages.messages[0].text&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Failed to get payment profile information with ID #{request.customerPaymentProfileId}."&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nil&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; def update_customer_payment_profile_option_a&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile = request_customer_payment_profile&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unless current_payment_profile.blank?&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.firstName = "New firstName"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.lastName = "New lastName"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.company = "New company"&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request = UpdateCustomerPaymentProfileRequest.new(current_payment_profile)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = @transaction.update_customer_payment_profile(request)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if response.messages.resultCode == MessageTypeEnum::Ok&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Successfully updated customer payment profile with&amp;nbsp; ID #{request.paymentProfile.customerPaymentProfileId}."&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts response.messages.messages[0].text&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # ERROR! =&amp;gt; The element 'updateCustomerPaymentProfileRequest' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'merchantAuthentication' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'clientId, refId, customerProfileId' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Failed to update customer with customer payment profile ID #{request.paymentProfile.customerPaymentProfileId}."&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # ERROR! =&amp;gt; NoMethodError: undefined method `customerPaymentProfileId' for nil:NilClass&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Failed to get payment profile information"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; def update_customer_payment_profile_option_b&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile = request_customer_payment_profile&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unless current_payment_profile.blank?&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.firstName = "New firstName"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.lastName = "New lastName"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_payment_profile.billTo.company = "New company"&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request = UpdateCustomerPaymentProfileRequest.new&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; payment = PaymentType.new(current_payment_profile.payment)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; profile = CustomerPaymentProfileExType.new(nil,current_payment_profile.billTo,payment,nil,nil)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.paymentProfile = profile&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.customerProfileId = current_payment_profile.customerProfileId&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; profile.customerPaymentProfileId = current_payment_profile.customerPaymentProfileId&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = @transaction.update_customer_payment_profile(request)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if response.messages.resultCode == MessageTypeEnum::Ok&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Successfully updated customer payment profile with&amp;nbsp; ID #{request.paymentProfile.customerPaymentProfileId}."&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts response.messages.messages[0].text&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # ERROR! =&amp;gt; The element 'creditCard' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'creditCard' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'. List of possible elements expected: 'cardNumber' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Failed to update customer with customer payment profile ID #{request.paymentProfile.customerPaymentProfileId}."&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts "Failed to get payment profile information"&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; &amp;nbsp; end&lt;BR /&gt;&amp;nbsp; end&lt;BR /&gt;end&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;They answer me with:&lt;BR /&gt;As long as you are providing all data, you should not see any errors. I would recommend providing this information to our developers in the forum as we provide limited support here.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know is a long story... I just want to give you the whole picture...&lt;BR /&gt;Any help? Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2019 21:34:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67540#M40926</guid>
      <dc:creator>asaavedra</dc:creator>
      <dc:date>2019-04-26T21:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67550#M40935</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/30049"&gt;@asaavedra&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do not pass the&amp;nbsp;cardType field in the&amp;nbsp;&lt;SPAN&gt;UpdateCustomerPaymentProfileRequest. You can copy the billTo and payment from getCustomerPaymentProfileResponse to the UpdateCustomerPaymentProfileRequest. Make your changes in billTo and remove cardType from payment. This is a sample&amp;nbsp;UpdateCustomerPaymentProfileRequest using the default test merchant credentials from &lt;A href="https://developer.authorize.net/api/reference/index.html" target="_blank"&gt;https://developer.authorize.net/api/reference/index.html&lt;/A&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&amp;lt;updateCustomerPaymentProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"&amp;gt;
  &amp;lt;merchantAuthentication&amp;gt;
    &amp;lt;name&amp;gt;4vzCzTK46uB&amp;lt;/name&amp;gt;
    &amp;lt;transactionKey&amp;gt;4eT533qH5xD4v62S&amp;lt;/transactionKey&amp;gt;
  &amp;lt;/merchantAuthentication&amp;gt;
  &amp;lt;customerProfileId&amp;gt;36227533&amp;lt;/customerProfileId&amp;gt;
  &amp;lt;paymentProfile&amp;gt;
    &amp;lt;billTo&amp;gt;
      &amp;lt;firstName&amp;gt;fasfghjk&amp;lt;/firstName&amp;gt;
      &amp;lt;lastName&amp;gt;gfsakjdhf&amp;lt;/lastName&amp;gt;
      &amp;lt;address&amp;gt;kajshfg&amp;lt;/address&amp;gt;
      &amp;lt;city&amp;gt;kfjasdfghk&amp;lt;/city&amp;gt;
      &amp;lt;state&amp;gt;fjkshadf&amp;lt;/state&amp;gt;
      &amp;lt;zip&amp;gt;566666&amp;lt;/zip&amp;gt;
      &amp;lt;country&amp;gt;Jamaica&amp;lt;/country&amp;gt;
      &amp;lt;phoneNumber&amp;gt;123141666&amp;lt;/phoneNumber&amp;gt;
    &amp;lt;/billTo&amp;gt;
    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;
          XXXX1733
        &amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;
          XXXX
        &amp;lt;/expirationDate&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;
    &amp;lt;customerPaymentProfileId&amp;gt;1831340201&amp;lt;/customerPaymentProfileId&amp;gt;
  &amp;lt;/paymentProfile&amp;gt;
&amp;lt;/updateCustomerPaymentProfileRequest&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2019 06:38:18 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67550#M40935</guid>
      <dc:creator>rahulr</dc:creator>
      <dc:date>2019-04-29T06:38:18Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67558#M40942</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22721"&gt;@rahulr&lt;/a&gt;!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks so much for your help!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Currently, I am developing in RoR and due to this I have followed the &lt;A href="https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-profile%20" target="_self"&gt;Sample Code &amp;gt; Ruby&lt;/A&gt; (this is the &lt;A href="https://github.com/AuthorizeNet/sample-code-ruby/blob/master/CustomerProfiles/update-customer-payment-profile.rb" target="_self"&gt;GitHub source&lt;/A&gt;) and I have examined the &lt;A href="https://www.rubydoc.info/gems/authorizenet/1.8.5.4/AuthorizeNet/API/UpdateCustomerPaymentProfileRequest" target="_self"&gt;rubydoc about the AuthorizeNet gem&lt;/A&gt; and the method &lt;EM&gt;UpdateCustomerPaymentProfileRequest&lt;/EM&gt; requires a &lt;EM&gt;CustomerPaymentProfileExType&lt;/EM&gt; (=paymentProfile) object. If I do not send the PaymentType object I receive the following error "Failed to update payment profile ID XXXX. Payment information is required".&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Or probably I am not understanding your comment about "cardType", I don't see that reference in my code neither in the sample UpdateCustomerPaymentProfileRequest.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Or are you recommending me not use the Gem and instead use XML requests?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thanks so much for your time and answer!&lt;/P&gt;</description>
      <pubDate>Mon, 29 Apr 2019 17:06:30 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67558#M40942</guid>
      <dc:creator>asaavedra</dc:creator>
      <dc:date>2019-04-29T17:06:30Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67562#M40946</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/30049"&gt;@asaavedra&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In your post you are mentioning that you are getting an error -&lt;SPAN&gt;"The element 'creditCard' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has invalid child element 'cardType' in namespace" when you pass the&amp;nbsp;card information that comes back from GetCustomerPaymentProfileRequest. The GetCustomerPaymentProfileResponse will have payment information like below:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;
          XXXX1733
        &amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;
          XXXX
        &amp;lt;/expirationDate&amp;gt;
        &amp;lt;cardType&amp;gt;
          Visa
        &amp;lt;/cardType&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; But when you make the&amp;nbsp;UpdateCustomerPaymentProfileRequest&amp;nbsp; in the payment information only pass the cardNumber and&amp;nbsp;expirationDate like this:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;    &amp;lt;payment&amp;gt;
      &amp;lt;creditCard&amp;gt;
        &amp;lt;cardNumber&amp;gt;
          XXXX1733
        &amp;lt;/cardNumber&amp;gt;
        &amp;lt;expirationDate&amp;gt;
          XXXX
        &amp;lt;/expirationDate&amp;gt;
      &amp;lt;/creditCard&amp;gt;
    &amp;lt;/payment&amp;gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Apr 2019 05:20:33 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67562#M40946</guid>
      <dc:creator>rahulr</dc:creator>
      <dc:date>2019-04-30T05:20:33Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67626#M40998</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22721"&gt;@rahulr&lt;/a&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;OMG! I am so sorry! I totally forgot my firsts attempts to solve this and I was just focused into the last class I posted (ANProposedSolution)... and... &lt;STRONG&gt;THANK YOU SO MUCH!!! Your solution works!&lt;/STRONG&gt; I am almost sure that I tried what you proposed before posting my problem here but I can't remember what happened... but... &lt;STRONG&gt;THANK YOU SOOO MUCH!!!&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The following is the method that I created (added to the ANProposedSolution class) using your solution and it works perfectly!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;...

def update_customer_payment_profile_solution
  current_payment_profile = request_customer_payment_profile
  cc_data = request_customer_payment_profile.payment.creditCard
  
  unless current_payment_profile.blank?
    current_payment_profile.billTo.firstName = "New firstName"
    current_payment_profile.billTo.lastName = "New lastName"
    current_payment_profile.billTo.company = "New company"

    request = UpdateCustomerPaymentProfileRequest.new
    payment = PaymentType.new(CreditCardType.new(cc_data.cardNumber, cc_data.expirationDate))
    profile = CustomerPaymentProfileExType.new(nil,current_payment_profile.billTo,payment,nil,nil)

    request.paymentProfile = profile
    request.customerProfileId = current_payment_profile.customerProfileId
    profile.customerPaymentProfileId = current_payment_profile.customerPaymentProfileId

    response = @transaction.update_customer_payment_profile(request)

    if response.messages.resultCode == MessageTypeEnum::Ok
      puts "Successfully updated customer payment profile with  ID #{request.paymentProfile.customerPaymentProfileId}."
    else
      puts response.messages.messages[0].text
      puts "Failed to update customer with customer payment profile ID #{request.paymentProfile.customerPaymentProfileId}."
    end
  else
    puts "Failed to get payment profile information"
  end
end

...&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 May 2019 18:39:36 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/67626#M40998</guid>
      <dc:creator>asaavedra</dc:creator>
      <dc:date>2019-05-06T18:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/78873#M49578</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/30049"&gt;@asaavedra&lt;/a&gt;&amp;nbsp;I'd like to thank you for this very thourough post and also for documenting the solution with the code. It helped me a lot to succeed update a customer payment profile without requesting payment information again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers!&lt;/P&gt;</description>
      <pubDate>Wed, 29 Sep 2021 15:55:38 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/78873#M49578</guid>
      <dc:creator>pandaiolo</dc:creator>
      <dc:date>2021-09-29T15:55:38Z</dc:date>
    </item>
    <item>
      <title>Re: Error updating Payment Profile information without sending Payment data</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/78938#M49628</link>
      <description>&lt;P&gt;Thanks for sharing such a helpful instruction, really appreciate for your article.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Oct 2021 10:16:42 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Error-updating-Payment-Profile-information-without-sending/m-p/78938#M49628</guid>
      <dc:creator>Reed78</dc:creator>
      <dc:date>2021-10-01T10:16:42Z</dc:date>
    </item>
  </channel>
</rss>

