I am using the Accept Hosted integration method by requesting a hosted payment token and loading an iFrame on screen.
My issue is that intermittently payments will be processed but I do not get any information back to the hostedPaymentIFrameURL. Sometimes this isnt the case and there are no issues but all too frequently there is no communication back to the hostedPaymentIFrameURL after the user has paid through the iframe.
When there is communication with the hostedPaymentIFrameURL then the steps look like this for processing a payment:
In comparison, when there is NO communication with the hostedPaymentIFrameURL then the steps look like this for processing a payment:
The Form Post URL we are using is https://secure.authorize.net/payment/payment but I can see after looking at the following page - https://developer.authorize.net/api/reference/features/accept_hosted.html - that the Form Post URL for Accept Hosted should be https://accept.authorize.net/payment/payment.
Would this be causing the intermittent issues with communicating with the hostedPaymentIFrameURL?
We have other customers who are using the same implementation as above except without the eCheck functionality turned on and they don't have the same issues.
Could the fact that eCheck is on be causing intermittent issues with communicating with the hostedPaymentIFrameURL?
I don't have the specific answers you are looking for, but I did notice that this appears to be the same issue reported in another forum post:
Our plan is to look for and process the iFrame Communicator response as a first approach, but to also create a fallback that relies on a Webhook. That way, theoretically, even if the iFrame Communicator response is never received, we should still receive notification of the transaction via the Webhook. The first response we get back (communicator or webhook) will be processed. We will keep track of the processing status to avoid processing the same transaction twice.
Obviously, if the communicator response is never received, that makes it difficult to present the user with an appropriate success confirmation, but at least the transaction will be properly processed in our system. Plus, we may institute a repeating ajax call in the payment parent page to check whether a matching transaction has been processed, which can in turn trigger delivery of a confirmation to the user if it finds that the transaction response has been received via Webhook. We did something similar for years with the SIM form and Silent Posts.
I hope this is helpful.