I am implementing accept hosted via php. I have followed https://developer.authorize.net/api/reference/features/accept_hosted.html and successfully getting payment form. I am using redirect method for getting form. As per the reference guide i can get response on provided response url but have no idea how to do that.
Since the response is POST type and in order to use the response i must know its variable name. So what is its variable name???
I'm re-entering my 2nd reply. The edit function disappeared. My food came out while I was typing this (I tend to stalk this forum while waiting at restuarants) and wasn't clear about some comments. I love this product and the people here who have helped me for over a year now.
In regards to node.js, I would ignore that completely ---if you're trying to use C#--- . One bit of constructive feedback I have for authorize is that their sample apps tend to show the fully decked out maximum that is possible, when a lot people are looking for something simple. I’d hate to know the number of people who have been baffled by their embedded iframe sample app. ---To be clear, there is huge value in showing what a product is capable of, and I see the need for this. The sample app is an aspirational goal for many developers, however, and I may put in an idea suggestion that a more basic app or possibly a few tiers of apps be included as samples.---
I never really tried to figure out that node.js app. I think it boils down to this-
1)Does your implementation method (C# in your case) have a way to retrieve all http headers and extract the values of them individually.
2) does it also have a way to capture the json payload
3) does it have methods to manipulate json data to get whatever parameters you need to get from json data
If the answer to those 3 is yes, which I would be shocked beyond repair if they were not, then just enroll in the events you want, and mirror the first few steps of my process, only using C# instead of php. Once you’ve got the transaction id yanked out of the payload then there is really no limit to what you can do, as you can pull the entire transaction and do anything you want with its data dynamically
It's almost time for my breakfast joint to open. Hope my comments have helped you, my friend. I'll be looking for your response.
Thanks for your response. I will try to follow the same thing and see if I can implement it correctly. Like you said, my concern is around "6. If successful, I have a Webhooks endpoint that receives the response. Here’s how that works".
I have used webhooks with webinbox. I am getting sense of how its working now. May be I need to implement handler/ashx to get the respones. I will try and update. Thanks for your response and comprehensive steps.
You are welcome, my friend. Like any programming exercise, I would recommend building step by step. Also make use of the "test" button on your interface, as it will send something to your endpoint with one click. For initial debugging this is more convenient than running fake transactions on a sandbox, or at least was for me, as I had to go through the entire order process on my app to do that.
I'm extremely impressed with these, as well as authorize's whole offering. They have a way to do just about anything you need. I cannot count the number of webhooks I have tested. I have not had one miss. 99% come back within seconds. I have a dummy remote server I use to test things, and it has very limited resources. There was one day that I was testing things over and over very fast, and for the first time my db updates didn't execute for about 4 out of 8 orders. I traced the problem down to me continual refreshing of my orders page exhausting my allocated entry processes. It had nothing to do with authorize. Since going live my client has had 0 failures.
Thank you all for all the guidance. Webhook was much easier than what I thought. All confusions were because of the example.
I was able to get webhook working just by passing the correct URL. for example, I created .ashx handler in my application and then added that URL in the webhook setting in a sandbox setting. This helped to get back the httpcontext which had transactionId, later I used TransactionID to call getTransactionDetail to get rest of the details.
Note: while trying locally, we will have localhost:port#. we cannot use the same in webhook standbox. THis has to be https. This can be achieved using ngrok for development purpose.
Thank you, everyone.