I'm working on setting up the Authorize.Net payment method on Tea Commerce 2.2.1 on Umbraco 6.1.6 (Based on the starterkit) and am wondering where I get the payment method id from?
By default is it '1' if you only have a single AuthorizeNet Payment Provider setup?
Also just for reference, if it makes a difference, there will be two payment options 'Credit Card' via Authorize.Net and 'Invoicing' using the built in Invoicing option.
Try look in your AppData/Logs latest file when you have tested it and see if you see any errors with "Authorize.net" in the error description. Or maybe you need to give modify folder permissions to the root of the website as the provider might try to write a callback data file to the disk.
No luck I'm affraid. Checking the logs hasn't revealed anything to do with Authorize.net. Folder permissions have been set as well. :/
I've rechecked all of the Authorize.Net settings and both the 'Default Relay Response URL' & 'Silent Postback URL' had the same URL set ('http://my.devsite.url/Base/TC/PaymentCallbackWithoutOrderId/1/authorizenet/3.aspx' ) which is probably wrong. I've removed the 'Default Relay Response URL' entry and left the 'Silent Postback URL' as indicated should be set in the documentation.
This has stoped the error and the Authorize.NET 'Thanks for your order' page is now appearing however the order is not getting added into the teacommerce admin for new orders.
Is there some way of testing if data from Authorize.Net is being recieved by the above URL?
Yeah you should only set the silent callback. Is the provider in test mode? Then it should write a file to the root of the website when the callback hits. And you test on a live domain? Not a .local or localhost? Because a gateway can only post to a live url :)
Hi, the provider is set to test mode, and on a public facing testing server.
I can see that there is a file in the root of the site called 'authorize-net-get-cart-number-data.txt' but the content of that is simply 'Form:' but from the date stamp that was probably created when I had both the 'Default Relay Response URL' & 'Silent Postback URL's set in the Authorize.Net admin.
I've now installed Fiddler on the test server and have gone through the process of cart/checkout and but I can't see anything getting posted back (Also checked to see if there was some firewall setting blocking things but that doesn't seem to be the case). There wan't a new file written to the root of the site after the transaction, and the previous one wasn't updated. I think I'm going to get in contact with Authorize.Net and see if maybe there is something wrong with the test account.
"You will not be able to see the post data using a tool like fiddler because it does not pass through the web browser. When using relay response, Authorize.Net posts the data directly to your page and then relays the content of the page to the customer. This is why the Authorize.Net url is still shown in the browser while your relay response page content is being displayed."
Just tried upgrading from 2.2.1 to 2.3.2 and it broke a number of things. (Added multiple quantities of items instead of 1, delete items from cart / change quantities etc)
Have rolled back my installation, as I don't want to be dealing with more problems on top of this one :/
Just tried creating a simple aspx page to test if we're getting an approved transaction from Authorize.Net and are actually receiving data from them. That is working so I'm guessing that the problem is something to do with the URL which Authorize.Net is set to post their data to.
Update: If I change the URL to be all lowercase '/base/tc/paymentcallbackwithoutorderid/1/authorizenet/3.aspx' then instead of a blank page I'm getting a 500 Error in Fiddler;
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<error>Extension or method not found.</error>
Which is better than a blank page and no information at all.
I thought at first this case sensitivity may have been due to URL rewrite rules in the web.config, but removing those completely still has the same result of - if the URL is uppercased then it just shows the blank page again.
But hopefully this might be a little more to go on?
It has a try catch and all the form data is not present because you do a get call. So that is why it returns empty. But as you can see - if you have "testing" with the value 1 in your settings it should save a file to disk. If that file is not saved the folder permissions is not right and that might be why the callback fails. And from the try/catch you see it will log to the umbraco log with a text. So try look for that. Hope this helps you in the debugging.
Tea Commerce: Silent post URL equivalent in v2
Hi,
Looking at the blog post for using Authorize.net with v1 of Tea Commerce (http://anders.burla.dk/umbraco/tea-commerce/using-authorize-net-with-tea-commerce/), it gives the format of the silent URL as being:
I wondered what the v2 equivalent is?
Thanks
Hi Dan,
The method will look like this:
http://example.com/base/TC/PaymentCallbackWithoutOrderId/1/AuthorizeNet/1.aspx
- PaymentCallbackWithoutOrderId is the rest method
- 1 is the store id
- AuthorizeNet is the payment provider alias
- 1 is the payment method id
/Rune
Hi Rune,
I'm working on setting up the Authorize.Net payment method on Tea Commerce 2.2.1 on Umbraco 6.1.6 (Based on the starterkit) and am wondering where I get the payment method id from?
By default is it '1' if you only have a single AuthorizeNet Payment Provider setup?
Also just for reference, if it makes a difference, there will be two payment options 'Credit Card' via Authorize.Net and 'Invoicing' using the built in Invoicing option.
Thanks,
~Andrew
Hi Andrew
You can find the id in the database or by hovering the mouse over the payment method.
Kind regards
Anders
Thanks Anders!
Although now I have a new issue. I've setup the Payment Method and the Authorize.Net sandbox following the documentation here http://anders.burla.dk/umbraco/tea-commerce/using-authorize-net-with-tea-commerce/#comment-17960 but on completing payment I'm receiving and error of "Your script timed out while we were trying to post transaction results to it."
The silent post back setting for 'Default Relay Response URL' is 'http://my.devsite.url/Base/TC/PaymentCallbackWithoutOrderId/1/authorizenet/3.aspx' and the 'Default Receipt URL is my sites confirmation page.
I haven't used Tea Commerce or Authorize.Net before so not to sure where to be looking to solve this one. Any suggestions or help is much appreciated.
Kind regards,
Andrew
Try look in your AppData/Logs latest file when you have tested it and see if you see any errors with "Authorize.net" in the error description. Or maybe you need to give modify folder permissions to the root of the website as the provider might try to write a callback data file to the disk.
Kind regards
Anders
No luck I'm affraid. Checking the logs hasn't revealed anything to do with Authorize.net. Folder permissions have been set as well. :/
I've rechecked all of the Authorize.Net settings and both the 'Default Relay Response URL' & 'Silent Postback URL' had the same URL set ('http://my.devsite.url/Base/TC/PaymentCallbackWithoutOrderId/1/authorizenet/3.aspx' ) which is probably wrong. I've removed the 'Default Relay Response URL' entry and left the 'Silent Postback URL' as indicated should be set in the documentation.
This has stoped the error and the Authorize.NET 'Thanks for your order' page is now appearing however the order is not getting added into the teacommerce admin for new orders.
Is there some way of testing if data from Authorize.Net is being recieved by the above URL?
~Andrew
Yeah you should only set the silent callback. Is the provider in test mode? Then it should write a file to the root of the website when the callback hits. And you test on a live domain? Not a .local or localhost? Because a gateway can only post to a live url :)
Kind regards
Anders
Hi, the provider is set to test mode, and on a public facing testing server.
I can see that there is a file in the root of the site called 'authorize-net-get-cart-number-data.txt' but the content of that is simply 'Form:' but from the date stamp that was probably created when I had both the 'Default Relay Response URL' & 'Silent Postback URL's set in the Authorize.Net admin.
I've now installed Fiddler on the test server and have gone through the process of cart/checkout and but I can't see anything getting posted back (Also checked to see if there was some firewall setting blocking things but that doesn't seem to be the case). There wan't a new file written to the root of the site after the transaction, and the previous one wasn't updated. I think I'm going to get in contact with Authorize.Net and see if maybe there is something wrong with the test account.
~Andrew
Well, all I got back from Authorize.Net was.
"You will not be able to see the post data using a tool like fiddler because it does not pass through the web browser. When using relay response, Authorize.Net posts the data directly to your page and then relays the content of the page to the customer. This is why the Authorize.Net url is still shown in the browser while your relay response page content is being displayed."
What umbraco and tea commerce version do you run?
Hi Anders,
It's Umbraco 6.1.6 with Tea Commerce 2.2.1 (The Starter Kit Package).
Try update to the latest version of Tea Commerce. Just to be sure that the latest things should work.
Just tried upgrading from 2.2.1 to 2.3.2 and it broke a number of things. (Added multiple quantities of items instead of 1, delete items from cart / change quantities etc)
Have rolled back my installation, as I don't want to be dealing with more problems on top of this one :/
Just tried creating a simple aspx page to test if we're getting an approved transaction from Authorize.Net and are actually receiving data from them. That is working so I'm guessing that the problem is something to do with the URL which Authorize.Net is set to post their data to.
Currently based of the examples and documentation for Tea Commerce (plus the information on this thread) the URL is set as:
http://examplesite.com/Base/TC/PaymentCallbackWithoutOrderId/1/authorizenet/3.aspx ;
How can I tell if this URL is actually correct? And if not what are the possible callback URLs to complete a transaction?
If I browse directly to that URL I don't get any server errors but if I go to something like http://examplesite.com/Base/TC/PaymentCallback/1/authorizenet/3.aspx then I get a 500 error.
Thanks,
~Andrew
Update:
If I change the URL to be all lowercase '/base/tc/paymentcallbackwithoutorderid/1/authorizenet/3.aspx' then instead of a blank page I'm getting a 500 Error in Fiddler;
Which is better than a blank page and no information at all.
I thought at first this case sensitivity may have been due to URL rewrite rules in the web.config, but removing those completely still has the same result of - if the URL is uppercased then it just shows the blank page again.
But hopefully this might be a little more to go on?
~Andrew
When you call the PaymentCallbackWithoutOrderId method should return empty when you test it like this. You can see the code here in the GetCartNumber method:
https://bitbucket.org/teasolutions/tea-commerce-tea-commerce-payment-providers/src/144571ed6809f6813bc15a10117cdb5aeb77249b/Source/TeaCommerce.PaymentProviders/Classic/AuthorizeNet.cs?at=default
It has a try catch and all the form data is not present because you do a get call. So that is why it returns empty. But as you can see - if you have "testing" with the value 1 in your settings it should save a file to disk. If that file is not saved the folder permissions is not right and that might be why the callback fails. And from the try/catch you see it will log to the umbraco log with a text. So try look for that. Hope this helps you in the debugging.
Kind regards
Anders
is working on a reply...