Showing results for 
Search instead for 
Did you mean: 

CIM - Update Customer Profile

Is it possible to update a customer profile's billiing address without re-entering the credit card information?


Looking at the documentation, it doesn't look like the following requests allow it:


  1. updateCustomerProfileRequest – Update an existing customer profile.
  2. updateCustomerPaymentProfileRequest – Update a customer payment profile for an existing customer profile.
  3. updateCustomerShippingAddressRequest – Update a shipping address for an existing customer profile.


updateCustomerPaymentProfileRequest looks like it would be the right choice, but it errors saying there is missing information if you don't send the credit card information.





Note:   If some fields in this request are not submitted or are submitted with a blank value, the
values in the original profile will be removed. As a best practice to prevent this from
happening, call GetCustomerPaymentProfile before calling
UpdateCustomerPaymentProfile. That will return all current information including masked
payment information. Then, simply change the field that needs updating and use that to call


GetCustomerPaymentProfile returns masked credit card information.  


Should I send masked credit information?  

Yes, if it is not getting change.

I get a 4 digit number when retrieving the existing profile and when I send it back to update the profile I get the error:


"The field length is invalid for Card Number."


Do I need to pad with X's?  I don't see that in the documentation.

Yup, it need to pad with 4 X's (e.g. xxxx1234)

I am also wondering this problem. If I send a masked credit car number pad with xxxx and XXXX like (eg : xxxx1234,XXXX,3456) it returns the following error "cardNumber is required and must be 13 to 16 digits".

Please kindly help me..................

Thanks in advance........

Thank you


You getting that on updateCustomerPaymentProfile?

Here the note from the pdf at


If value is masked, the
last four digits must
match the original
value in the profile. 
If a masked value is
submitted, the original
value will not be

Hi thanks for your reply.

Yes I am using "updateCustomerPaymentProfileRequest."

the masked values are getting through "getCustomerProfileRequest". I am sure the last four digits are same.

But still I am getting the error. Please help me..........


Thanks in advance

I can confirm that you are submitting the card and expiration date correctly if you are copying their values directly from the getCustomerPaymentProfileRequest.  If you continue to get the error, I can only assume that somehow these values are being modified before they are actually submitting it to Authorize.Net.  The error message mentioning 13-16 digits is simply a generic message and doesn't necessarily apply if you are not updating the card number.