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