Showing results for 
Search instead for 
Did you mean: 

Accept Customer looking for paymentProfileId from addPayment POST

I am trying to get Accept Customer Hosted form working to improve my PCI complance and am struggling with adding payment profiles. I can add them, but I am trying to get the paymentProfileId back so I can later charge by using the customerProfileId and the paymentProfileId. I found a post on here from 2014 where a guy said he spoke with and "expert" and resolved his issue (said he was over thinking it), but failed to mention his revelation.


With the API I can getCustomerPaymentProfile if I now the profileId, get a profileListof expiring profiles, and validate a paymentProfile if I know the ID. I would have assumed that the iframe listener would return it, but all I seem to get is action=successfulSave.


How can I get the paymentProfileId I just created.



I solved this and thought I shuold post a reply in case anyone finds this post having the same issue.


While I certainly think the paymentProfileId should be returned with the result, my solution was to do a request for the known customerProfileId. The response for GetCustomer includes all the payment profiles. This means more hits to the API to Authnet, but it also insures I am using the most accurate data.


This actually is very handy when switching from the sandbox to production. What I do to verify the client's record is try to add teh client record. If this fails (because the client with that CustomerID and email already exists) the result has the exiting clientID in the response (in the string, but I use 

filter_var($arrCustomerProfile['message'], FILTER_SANITIZE_NUMBER_INT)

So, even when I switch from testing to liveMode my resords fix themseleves.




Hi @td234


We are looking to add more elements to the response in future releases . 


You can use our Webhooks to received notifications for customer events



Event Description
net.authorize.customer.paymentProfile.created Notifies you that a payment profile has been created.
net.authorize.customer.paymentProfile.updated Notifies you that a payment profile has been updated.
net.authorize.customer.paymentProfile.deleted Notifies you that a payment profile has been deleted.

Send feedback at

THanks. Yes, I am already usnig webhooks.