-
Re: Duplicate Orders/Order Confirmation
The common term used for the theory you describe is a "race condition" where two or more similar events fire at the same time and are treated independently instead of serially.
It's very simple to solve any "duplicate" problem caused when using Website Payments Standard module: Simply remove that module and use the more reliable Express Checkout module. Then there will be no race-conditions on ipn_main_handler causing duplicates.
-
Re: Duplicate Orders/Order Confirmation
Thank you DrByte
but I prefer to Fix the Problem instead Switching module.
ok this class will let us to process multiple txn_id's Serial so there wont be "race condition" any more. if it succeed i will share the result.
PHP Code:
class process_filelock {
protected $process_id;
protected $category;
protected $additional="Dummy Text";
protected $process_unq_id;
protected $active_status_code='ACTIVE';
protected $file_path='';
protected $fp;
function __construct() {
$this->set_file_path();
register_shutdown_function(array(&$this, "unlock"));
}
function get_file_path(){
return $this->file_path;
}
protected function get_file() {
return $this->file_path.$this->category.'_'.$this->process_id.'.lock';
}
protected function set_file_path() {
if(defined(DIR_FS_CATALOG)){
$this->file_path=DIR_FS_CATALOG.'cache/';
}else{
$this->file_path='cache/';
}
if (!is_dir($this->file_path)) {
mkdir($this->file_path,0700,true);
}
}
function lock($process_id,$category='DEFAULT',$additional=''){
$this->process_id=$process_id;
$this->category=$category;
$this->additional=$additional;
$file=$this->get_file();
$this->fp = fopen( $file,"a"); // open it for WRITING ("w")
if (!$this->fp){
return false;
}
if (flock($this->fp, LOCK_EX)) {
// do your file writes here
fwrite($this->fp, date("H:i:s", time())." Lock defined on file. \n".$this->additional."\n");
return true;
} else {
return false;
}
}
protected function __destruct() {
$this->unlock();
}
function unlock() {
fwrite($this->fp, date("H:i:s", time())." Lock Released on file. \n");
$ret=flock($this->fp, LOCK_UN);
fclose($this->fp);
return $ret;
}
}
class process_paypal_filelock extends process_filelock{
protected function set_file_path() {if(defined(DIR_FS_CATALOG)){
$this->file_path=DIR_FS_CATALOG.'includes/modules/payment/paypal/locks/';
}else{
$this->file_path='includes/modules/payment/paypal/locks/';
}
if (!is_dir($this->file_path)) {
mkdir($this->file_path,0700,true);
}
}
}
insert following code after following line
require('includes/application_top.php');
PHP Code:
require('includes/classes/process_lock.php');
$lock=new process_paypal_filelock();
$lock->lock($_POST['txn_id'],"PAYPAL_IPN","Note");
-
Re: Duplicate Orders/Order Confirmation
But ... if you're really using the Website Payments Standard module, then you have MANY OTHER problems too.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
alex42
Quick fix:
Remove the javascript function in
Code:
includes/templates/[TEMPLATE]/templates/tpl_checkout_confirmation_default.php
search line 174, and remove the
Code:
onsubmit="submitonce();"
part.
Doing so, you will lose the functionality, that the user cannot click twice on the submit button, but orders are not doubled any more.
We are having duplicate orders also.
I tried the above solution but we just received a duplicate after weeks without seeing one. Could have been a double click this time since I removed that prevention.
Duplicates have been going on for several months and appear to be totally random.
We are not using paypal at all we are using CEON manual card. We are also using Edit Orders module among others. And Zen Cart 1.3.9h.
The only thing that explains the randomness is that it's browser specific as some have mentioned. IE6 or something...
We are at our wits end to figure this out. Every time it happens we have to tell the customer not to worry...etc.
-
Re: Duplicate Orders/Order Confirmation
I have the same problem with duplicate orders. they always occur when an order is made (nothing to do with back to back issues).
-
Re: Duplicate Orders/Order Confirmation
Quote:
I have the same problem with duplicate orders. they always occur when an order is made (nothing to do with back to back issues).
So ... how about sharing some info about your site? like ZC version and the affected payment module at the very least? Click Reply and then read the questions in the Posting Tips dialog shown above the reply box.
-
Re: Duplicate Orders/Order Confirmation
Good point -
Ceon Sage Pay Server v1.2.2 , Database Version: 1.2.2
Zen-Cart: v1.3.9h
Database: MySQL 5.1.70-cll
HTTP Server: Apache/2.2.24 (Unix)
mod_ssl/2.2.24 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1
PHP Version: 5.2.17 (Zend: 2.2.0)
PHP Memory Limit: 128M
PHP Safe Mode: Off
PHP File Uploads: On
Max Size: 10M
POST Max Size: 8M
Database Data Size: 2,269 kB
Database Index Size: 1,324 kB
-
Re: Duplicate Orders/Order Confirmation
I know why this happens on Paypal, its actually caused by the customer. I did a test transaction the other day, and on the page after you have confirmed the payment on the Paypal side, it says something like 'you will be returned to {your website} in 10 seconds, if your page doesnt load click here'.
Basically if you click that link more than once every couple of seconds it will duplicate orders as many times as you click it.
-
Re: Duplicate Orders/Order Confirmation
So, I was having this same issue for the longest time and none of the posts I could find on here were of any help. Last night, I received 36 (!!!) duplicates of the same order and decided I had enough of this nonsense. About 5 minutes after the orders were duplicated, I also received a very nasty message (sent through my zen cart contact form) from the customer who had thought she was charged a whole bunch of times (she wasn't, just once but she got 36 order confirmation emails as well so was alarmed). ANYWAYS I finally figured out what the issue was because it just so happened that her contact form message was also sent to me NUMEROUS times. It then crossed my mind that this could be an email issue.
I did a bunch of test orders and noticed that after clicking my "confirm order" button, the site was SOOOOOOO slow. I'm pretty sure that either:
a) the customers just get fed up and press the button a bunch of times if it's taking too long to connect to the mail server as it looks like the website isn't doing anything.
b) there is an issue with my mail server and it continuously loops or something while trying to submit the order, causing it to go through too many times.
I decided to change the email settings from PHP to sendmail and voila! My checkout was much faster which resulted in only having to press the Confirm Order button once, which resulted in no more duplicate orders.
So long story short, try changing your email settings.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
evenangelsdie
I did a bunch of test orders and noticed that after clicking my "confirm order" button, the site was SOOOOOOO slow. I'm pretty sure that either:
a) the customers just get fed up and press the button a bunch of times if it's taking too long to connect to the mail server as it looks like the website isn't doing anything.
b) there is an issue with my mail server and it continuously loops or something while trying to submit the order, causing it to go through too many times.
Yes, that kind of confirms what I found above, the user doing it.
-
Re: Duplicate Orders/Order Confirmation
I spoke too soon. :\
Issue is back. I haven't had 36 duplicates in a row though, just doubles. Would love if this could be sorted out for good as it's frustrating having to manually delete the duplicates in the back end to make my accounting balance.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
evenangelsdie
I spoke too soon. :\
Issue is back. I haven't had 36 duplicates in a row though, just doubles. Would love if this could be sorted out for good as it's frustrating having to manually delete the duplicates in the back end to make my accounting balance.
As I said, if the person clicks the return to site link twice quickly, it will make two orders. Try it yourself.
-
Re: Duplicate Orders/Order Confirmation
Yes I've already read your post about this, but am still hoping for a solution that hasn't been found. My email solution fixed the multiples of orders, but it still looks like I'm stuck with the duplicates from the PayPal user issue. There has to be a way to fix this on the zen cart end...? Such as not registering a second order with the same PayPal transaction id or something?
-
Re: Duplicate Orders/Order Confirmation
I'm not sure this is the same issue everyone here is having, but I believe I found the solution to this problem for us.
The distinction seems to be CSS buttons versus image buttons. We use CSS buttons. Apparently, CSS submit buttons don't get a name or id like their image counterparts do. As a result, the submitonce() code doesn't work, since it references an element with the id "btn_submit", which doesn't exist.
Apparently there is a bug that resulted in leaving this capability out. We've confirmed this bug existed in 1.38a and 1.51. We're using 1.51. I don't know the root of this bug, and why it was never enabled. As a result, I don't know if my fix will cause problems that I haven't seen yet. It seems innocuous enough.
reference: http://www.zen-cart.com/showthread.p...n_image_submit
Our fix was to change the function for zen_image_submit() so that CSS buttons inherit the parameters variable just like the image counterparts do.
In /includes/functions/html_output.php
Line near 268 reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class /*, $parameters = ''*/ );
Remove the comments and the = '' so it reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class , $parameters );
That's it.
Again, I don't know repercussions, but a quick run through our site seems OK. And this issue seems to be fixed, for us at least.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
dgent
I know why this happens on Paypal, its actually caused by the customer. I did a test transaction the other day, and on the page after you have confirmed the payment on the Paypal side, it says something like 'you will be returned to {your website} in 10 seconds, if your page doesnt load click here'.
Basically if you click that link more than once every couple of seconds it will duplicate orders as many times as you click it.
Is there a way to detect this and debouncing/preventing it?
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
kamion
Is there a way to detect this and debouncing/preventing it?
Yes: Use PayPal Express Checkout instead of PayPal Standard!
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
DrByte
Yes: Use PayPal Express Checkout instead of PayPal Standard!
Sorry, I'm using a different payment gateway. Is there code in ZenCart's Paypal Express Checkout module that does the debouncing which I can integrate to my own payment module?
-
Re: Duplicate Orders/Order Confirmation
Not sure what what "debouncing" you need. You've given no relevant information to go on, including your ZC version, which payment module you're using, and what specific actual problems you're having.
This thread has 114 posts in it, all discussing various forms of duplicate orders, along with various solutions. Which ones have you tried? And what was the result?
The latest version of Zen Cart includes protections to prevent customers from clicking the "confirm" page in your store multiple times, thus preventing multiple submissions and thus duplicate orders when using payment modules which collect card details directly on your site.
If you're getting duplicates from another payment provider where payment is handled on *their* site, then you probably need to sort out the duplicates problem with *them*.
But, in the absence of information relevant to your specific scenario, it's *really* hard to give you a useful answer.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
DrByte
If you're getting duplicates from another payment provider where payment is handled on *their* site, then you probably need to sort out the duplicates problem with *them*.
But, in the absence of information relevant to your specific scenario, it's *really* hard to give you a useful answer.
Thanks for the response, DrByte. I'm on 1.39h but just on the cusp of completing my upgrade to 1.51. We are using a payment gateway to handle our credit card payments. So it would be as you said above. I suspect customers click twice to return from the external payment gateway, as the payment gateway only registers one payment, but two orders are created on our website.
DrByte, what do you think of modifying the payment module "before_process()" function to check if the same payment ID (from the payment gateway) already has been processed, and if it has, straight away redirect to FILENAME_CHECKOUT_SUCCESS?
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
kdoronzio
I'm not sure this is the same issue everyone here is having, but I believe I found the solution to this problem for us.
The distinction seems to be CSS buttons versus image buttons. We use CSS buttons. Apparently, CSS submit buttons don't get a name or id like their image counterparts do. As a result, the submitonce() code doesn't work, since it references an element with the id "btn_submit", which doesn't exist.
Apparently there is a bug that resulted in leaving this capability out. We've confirmed this bug existed in 1.38a and 1.51. We're using 1.51. I don't know the root of this bug, and why it was never enabled. As a result, I don't know if my fix will cause problems that I haven't seen yet. It seems innocuous enough.
reference:
http://www.zen-cart.com/showthread.p...n_image_submit
Our fix was to change the function for zen_image_submit() so that CSS buttons inherit the parameters variable just like the image counterparts do.
In /includes/functions/html_output.php
Line near 268 reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class /*, $parameters = ''*/ );
Remove the comments and the = '' so it reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class , $parameters );
That's it.
Again, I don't know repercussions, but a quick run through our site seems OK. And this issue seems to be fixed, for us at least.
Does anyone use this solution? I'm having the same issue and i'm using CSS buttons, i would like to try this but i'm scared something wil backfire :-) No orders is worse then double orders ;-)
-
Re: Duplicate Orders/Order Confirmation
If you use the CSS3 Buttons (http://www.zen-cart.com/downloads.php?do=file&id=1386) plugin, the current version (1.0.4) contains the submit-button fix you identified.
P.S. The plugin's functionality (and thus the correction) will be included in Zen Cart v1.5.3.
-
Re: Duplicate Orders/Order Confirmation
Thanks! Its seems fine now :-)
-
Re: Duplicate Orders/Order Confirmation
We use v1.3.9f and in the process of upgrading to 1.5.x
Since past 2 weeks we have seen a spike in duplicate orders via Paypal Express specifically .
There were no such issues since probably years, what could be the reason for this sudden occurrence.
We have not made any major changes to our server or software which we could think of.
How can we debug, where are the logs which could be helpful.
Thanks
-
Re: Duplicate Orders/Order Confirmation
SAme here....anyone have suggestions?
-
Re: Duplicate Orders/Order Confirmation
I just had a duplicate order. Zen Cart recognized them as two separate orders...
Pretty scary. Two orders were created but only one was paid for.
Not sure why this happened. I am using 1.5.5b
-
Re: Duplicate Orders/Order Confirmation
We're seeing the same issue recently. Using PayPay Website Payments Pro module. We've seen up to 6 duplicate orders with 6 charges to the customer's PayPal account. We saw the problem on v1.3x and again after we upgraded to v.1.5.5e (latest).
Below is from the SSL logs (IP address removed). This resulted in two (2) orders and two (2) PayPal charges. I removed all the tokens, userIds, and IP addresses. Should be clean.
[17/May/2017:09:37:19 -0700] "POST /index.php?main_page=checkout_shipping HTTP/1.1" 302 - "https://www.lscoguard.com/index.php?main_page=checkout_shipping" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:37:19 -0700] "GET /index.php?main_page=checkout_payment HTTP/1.1" 200 7535 "https://www.lscoguard.com/index.php?main_page=checkout_shipping" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:37:32 -0700] "POST /index.php?main_page=checkout_confirmation HTTP/1.1" 200 5867 "https://www.lscoguard.com/index.php?main_page=checkout_payment" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:37:33 -0700] "GET /includes/templates/pure_orange_free/buttons/english/button_confirm_order.gif HTTP/1.1" 200 978 "https://www.lscoguard.com/index.php?main_page=checkout_confirmation" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:37:45 -0700] "POST /ipn_main_handler.php?type=ec&markflow=1&clearSess=1&stage=final HTTP/1.1" 302 - "https://www.lscoguard.com/index.php?main_page=checkout_confirmation" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:37:50 -0700] "GET /images/header_pp.jpg HTTP/1.1" 200 3645 "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=xxxxxxxxx&useraction=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:19 -0700] "GET /ipn_main_handler.php?type=ec&token=xxxxxxxx&PayerID=xxxxxxxxxHTTP/1.1" 302 - "https://www.paypal.com/webapps/hermes?country.x=US&hermesLoginRedirect=xoon&locale.x=en_US&token=xxxxxxxxxxx&us eraction=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:20 -0700] "GET /index.php?main_page=checkout_process HTTP/1.1" 503 105 "https://www.paypal.com/webapps/hermes?country.x=US&hermesLoginRedirect=xoon&locale.x=en_US&token=xxxxxxxxx&user action=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:41 -0700] "GET /index.php?main_page=checkout_process HTTP/1.1" 503 105 "https://www.paypal.com/webapps/hermes?country.x=US&hermesLoginRedirect=xoon&locale.x=en_US&token=xxxxxxxxxxx&us eraction=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:43 -0700] "GET /favicon.ico HTTP/1.1" 200 2131 "https://www.lscoguard.com/index.php?main_page=checkout_process" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:51 -0700] "GET /index.php?main_page=account HTTP/1.1" 200 5320 "http://www.lscoguard.com/index.php?main_page=product_info&products_id=101" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:38:51 -0700] "GET /includes/templates/pure_orange_free/buttons/english/button_view.gif HTTP/1.1" 200 849 "https://www.lscoguard.com/index.php?main_page=account" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:02 -0700] "GET /index.php?main_page=account_history_info&order_id=4691 HTTP/1.1" 200 5431 "https://www.lscoguard.com/index.php?main_page=account" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:42 -0700] "GET /index.php?main_page=account HTTP/1.1" 200 5104 "http://www.lscoguard.com/index.php?main_page=shopping_cart" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:42 -0700] "GET /images/no_picture.gif HTTP/1.1" 200 1057 "https://www.lscoguard.com/index.php?main_page=account" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:49 -0700] "GET /index.php?main_page=account_history HTTP/1.1" 200 4876 "https://www.lscoguard.com/index.php?main_page=account" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:49 -0700] "GET /includes/templates/pure_orange_free/buttons/english/button_back.gif HTTP/1.1" 200 843 "https://www.lscoguard.com/index.php?main_page=account_history" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:39:57 -0700] "GET /index.php?main_page=account_history_info&order_id=4692 HTTP/1.1" 200 5206 "https://www.lscoguard.com/index.php?main_page=account_history" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:41:24 -0700] "GET /index.php?main_page=account_history HTTP/1.1" 200 4879 "https://www.lscoguard.com/index.php?main_page=account_history_info&order_id=4692" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:41:36 -0700] "GET /index.php?main_page=account_history_info&order_id=4692 HTTP/1.1" 200 5218 "https://www.lscoguard.com/index.php?main_page=account_history" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:41:59 -0700] "GET /index.php?main_page=contact_us HTTP/1.1" 200 5043 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:41:59 -0700] "GET /includes/templates/pure_orange_free/buttons/english/button_send.gif HTTP/1.1" 200 855 "https://www.lscoguard.com/index.php?main_page=contact_us" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:42:12 -0700] "GET /index.php?main_page=account HTTP/1.1" 200 5091 "http://www.lscoguard.com/index.php?main_page=product_info&cPath=0&products_id=126" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:42:12 -0700] "GET /includes/templates/pure_orange_free/jscript/jscript_jquery.js HTTP/1.1" 304 - "https://www.lscoguard.com/index.php?main_page=account" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:01 -0700] "GET /index.php?main_page=checkout_shipping&ec_cancel=1&token=xxxxxxxx HTTP/1.1" 302 - "https://www.paypal.com/webapps/hermes?country.x=US&hermesLoginRedirect=xoon&locale.x=en_US&token=xxxxxxxxxxx&us eraction=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:01 -0700] "GET /index.php?main_page=time_out HTTP/1.1" 200 4689 "https://www.paypal.com/webapps/hermes?country.x=US&hermesLoginRedirect=xoon&locale.x=en_US&token=xxxxxxxxx&user action=commit" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:02 -0700] "GET /includes/templates/pure_orange_free/jscript/jscript_jquery.js HTTP/1.1" 304 - "https://www.lscoguard.com/index.php?main_page=time_out" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:08 -0700] "GET /index.php?main_page=account HTTP/1.1" 200 5091 "https://www.lscoguard.com/index.php?main_page=time_out" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:21 -0700] "GET /index.php?main_page=account HTTP/1.1" 200 5104 "http://www.lscoguard.com/index.php?main_page=product_info&cPath=0&products_id=124" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
[17/May/2017:09:43:25 -0700] "GET /index.php?main_page=contact_us HTTP/1.1" 200 5025 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
-
Re: Duplicate Orders/Order Confirmation
Following up...
It appears PayPal is returning a 503 error from their service: "......GET /index.php?main_page=checkout_process HTTP/1.1" 503 105 "https://www.paypal.com/webapps/hermes......"
Zen Cart apparently does not have error handling for 503 responses from PayPal because the order still gets processed for every 503 response.
-
Re: Duplicate Orders/Order Confirmation
BUMP...This is still a problem. Customers are getting upset!
-
Re: Duplicate Orders/Order Confirmation
We are using Zen Cart v1.5.5e with the Authorize.net Aim module. There are random duplicate orders that have occurred since 07/28/17. I read somewhere that the timeout of the disabling of the Submit button after click could be adjusted but now I cannot find that reference. How does one do that and is it advisable or would it cause other problems? Would be grateful for any advice.
-
Re: Duplicate Orders/Order Confirmation
Quote:
Originally Posted by
SPython
We are using Zen Cart v1.5.5e with the Authorize.net Aim module. There are random duplicate orders that have occurred since 07/28/17. I read somewhere that the timeout of the disabling of the Submit button after click could be adjusted but now I cannot find that reference. How does one do that and is it advisable or would it cause other problems? Would be grateful for any advice.
It's on the first few pages
Quote:
Quick fix:
Remove the javascript function in
Code:
Code:
includes/templates/[TEMPLATE]/templates/tpl_checkout_confirmation_default.php
search line 174, and remove the
Code:
Code:
onsubmit="submitonce();"
part.
Doing so, you will lose the functionality, that the user cannot click twice on the submit button, but orders are not doubled any more.
-
Re: Duplicate Orders/Order Confirmation
Thanks, CSGODeimos
I will play with that - though I hate to disable features that in doing so may cause other problems..