We are using the XML integration to Authorize.net CIM
For our software's other Payment Gateway integrations, to update a card number or billing address, the user simply deletes the stored token and sends a new authorization or capture transaction. A new token is then generated.
It seems that Authorize.net is matching to the existing customer profile based on the card number, and returning the same token number as before.
If we want to update the billing address without changing the card number, the new billing address is not being saved to the customer profile through our regular call. AVS settings then prevent the new transaction from going through.
Is there a specific call that should be made when updating the billing address on an existing customer profile, without changing other information?
You would use the updateCustomerPaymentProfileRequest
API endpoint to update the payment profile:
{
"updateCustomerPaymentProfileRequest":{
"merchantAuthentication":{
"name":"",
"transactionKey":""
},
"customerProfileId":"12345678",
"paymentProfile":{
"billTo":{
"firstName":"John",
"lastName":"Doe",
"company":"",
"address":"123 Main St.",
"city":"Bellevue",
"state":"WA",
"zip":"98004",
"country":"USA",
"phoneNumber":"800-555-1234",
"faxNumber":"800-555-1234"
},
"customerPaymentProfileId":"2345678"
}
}
}