I've finally set up uShop and am testing it using Authorize.net for CC payments; after making a purchase I *should* be presented with a "thank You" page (which we specified in the uShop setup), but instead the transaction *IS* approved, but we get the following error message:
An error occurred while trying to report this transaction to the Merchant.
An e-mail has been sent to the Merchant informing them of the error.
The following is the result of the attempt to charge your credit card.
Transaction Result: This transaction has been approved.
If the transaction was approved, it is advisable for you to contact the Merchant to verify that you will receive the associated product or service.
and the email we receive from A-N states:
"Your script timed out while we were trying to post transaction results to it..." although we get the error message almost immediately ;(
We've been using Authorize.net successfully with another cart (Miva), so I know we *do* get email confirmations without any problem... and I've checked/done the following; added the secure URL as a "referrer URL" in the Authorize.net settings, used our Merchant ID (this IS the same as the Login ID for Authoriz.net, no?) in the payment options setup, and ran a uShop diag report with no obvious problems reported.
oh wait! The entire shopping cart and purchasing pages are set up in a PW protected area of the site, as these are purchases by authorized consultants only.. geez.. is THAT the problem perhaps? A-N can't communicate with it? Do I need to install uShop so that eveything EXCEPT the /cgi directory is in the PW protected area? is that possible?
Thanks in advance!
I'm not sure if having the script in a protected area is causing the problem or not.
Can you tell if any ".order" files are being written to your data directory? Or are there just ".tmp" files?
If no ".order" files are being created... then, there is pretty good chance that the script is not being executed at all after Authorize.Net collects the payment information. (I.e., having the script in a protected area may be the problem).
If ".order" files are being created, then that indicates that the script is being executed after Authorize.Net... and that something else might be hanging up the script. (I.e., the script might be hanging when trying to send email.)
So let me know if the ".order" files are being created or not. We can then move forward from there.
Also, let me know what type of server you are using UNIX-type or Windows?
I have a number of .tmp files in the data directory, but not a single .order file
Server is UNIX, running Q-mail but with sendmail emulation. Email test from diagnostics works fine.
So I'm thinking it IS the PW protection; Authorize.net just can't write to the data directory perhaps? Is it possible to simplify things & put JUST the data directory outside the PW protected area?... and still maintain security so no-one could read this data?
Thanks once again!
Yep, since you only have a bunch of .tmp file in your data directory and no .order file... then that is a pretty good indication that the script is never being executed after Authorize.Net processes the credit card information.
You could setup the ushop.pl script outside of your protected area... by just following the regular uShop Security notes described at:
Note also that, if desired, you can put your "data" directory anywhere on your server by using a full directory path in configuration question #5 of the "ushop.pl" file. Otherwise, just follow the description for the "data" directory as described on the above security reference page.