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.
โ04-11-2018 04:31 PM
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.
Thom
โ04-18-2018 05:37 AM
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
http://developer.authorize.net/api/reference/features/webhooks.html
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. |
โ04-18-2018 11:48 PM
THanks. Yes, I am already usnig webhooks.
โ04-19-2018 07:52 AM