Cardsave error “transaction date/time expired”

If you are using CardSave (UK Version) and you come across the following error:

This transaction cannot be processed. It was rejected because the passed transaction date/time has expired. Please press “Back” in your browser and resubmit the transaction.”

It’s caused by your server providing a different timezone to your CardSave Gateway. You need to setup your server/script time zone to UTC.  In PHP you can do this by simply adding this line to your script:  date_default_timezone_set(‘UTC’);

For example, I was having a problem with the Cardsave(hosted) payment extension for OpenCart.  If you are having the same problem do this:

  1. Open the file /catalog/controler/payment/cardsave_hosted.php
  2. Find this line  $this->data[‘fields’][‘TransactionDateTime’] = (date(“Y-m-d H:i:s”).  ‘ +00:00’);  (line 305 I think)
  3. Just before that line add this :  date_default_timezone_set(‘UTC’); 
  4. Upload file to server and you are sorted.

Technorati Tags: , , , , , ,

  1. Not help full, stiil getting the same error

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>