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:
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.
07-08-2011 12:40 PM
From http://www.authorize.net/support/CIM_SOAP_guide.pdf
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
UpdateCustomerPaymentProfile.
07-08-2011 01:11 PM
GetCustomerPaymentProfile returns masked credit card information.
Should I send masked credit information?
07-08-2011 01:53 PM
Yes, if it is not getting change.
07-08-2011 02:08 PM - edited 07-08-2011 02:08 PM
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.
07-08-2011 07:44 PM - edited 07-08-2011 07:46 PM
Yup, it need to pad with 4 X's (e.g. xxxx1234)
07-09-2011 09:00 AM
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
07-29-2011 10:12 PM
You getting that on updateCustomerPaymentProfile?
Here the note from the pdf at http://developer.authorize.net/api/cim/
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
updated.
07-30-2011 08:44 AM
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
07-31-2011 10:12 PM - edited 07-31-2011 10:13 PM
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.
08-03-2011 10:13 AM