authorize.netauthorize.net-cim

Authorize.net not updating billing address on existing CIM record


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?


Solution

  • 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"
          }
       }
    }