This is an issue that's been happening off and on since our new (totally custom) site launched in 2012, and we cannot get to the bottom of it, since we (and our web developers) simply cannot reproduce it for testing.
Here's the situation:
A fun variation on this theme is that sometimes there's a hold on the patron's credit card for two orders, but only the second order comes through and the first hold eventually disappears and they are only charged once.
So, I come to you out of utter exasperation: HOW is that first order going through? Why isn't it generating an order confirmation? Has anyone else ever experienced this?
Any help you can give would be very, very appreciated. Thank you!
Hi Michaela,
We have seen this issue, quite a lot recently in fact. We currently have a ticket in with TASK and would recommend you do the same (if you haven't already). Essentially it seems to be that there is a timeout happening somewhere along the way - so the transaction is authorised by the card company, but by the time it has hit back to us it has timed out. In our case, we see 'V' transactions in T_CC_SERVER_LOG, and a sale then a sale reversal in our credit card portal.
Unfortunately, we haven't been given a definitive cause as yet, and changing our Timeout settings hasn't helped. I'll let you know if I hear any more though!
Best,
Sarah
Thank you, Sarah! I will put in a ticket right away. I haven't checked the logs, but I will see if we are seeing the same behavior there.
-m.
Just FYI we haven't had this issue at all since we upgraded our SQL Servers at the end of January. Might be worth rechecking the spec of your setup against the most recent guidelines.
I'm emailing our IT department now to check on this for me ASAP. Thank you so much for following up on this thread, I appreciate it!
Can I ask what your specs were, vs what you upgraded to? We've been having the same intermittent problem with duplicate orders, and can't recreate the issue!
Cheers,Kathleen
Ooh, so our old SQL boxes were Windows Server 2008 R2 with SQL 2008 R2, 32GB RAM vs. our new with Windows Server 2012 R2, SQL 2014, 80GB RAM switched on (we are gradually increasing it to its full which is 240GB). We also moved from ancient (8 year old?) SANs to VMWare, which has made a massive difference. For reference, our Impresario database is about 80GB.
Thanks,
Out of curiosity, Has this issue been addressed? Has anyone found a fix for this?
We are experiencing this randomly and it is beginning to cause issues.
Hi all,We had a similar issue a while ago, again took ages to figure out as I couldn't replicate it in any testing or figure it out from the logs. The problem as you've seen is that the order times out so the customer pays for something that no longer exists. To solve this just before the customer goes to payment I used the UpdateOrderDetails method in SOAP to add 45 minutes to the ticket hold time.
This prevents the order expiring during payment, depending on your configuration settings this method either overrides the default or at the very least resets it to what is set in your web config file, either way it has stopped the problem here.
Here is the code I've written in PHP that is triggered when the customer hits the PAY NOW button.
function updateOrder($minutes=45) {
$p = array( 'sSessionKey'=>$this->sessionKey, 'sSolicitor'=>$this->organisationAPI 'iCategory'=>-1, 'iChannel'=>5, 'sHoldUntilDateTime'=>date('Y-m-d H:i:s', strtotime('+'.$minutes.' hour')) );
$results = $this->call('UpdateOrderDetails', $p); return $results;}