Post by JJJaved » Mon Sep 06, 2010 7:57 pm

I have this Gift Aid problem, loosing sales and angry customers.

Current copy of /catalog/controller/payment/sagepay.php
----------------------------------------------------------------------

}

$data['AllowGiftAid'] = '0';

if (!$this->config->get('sagepay_transaction')) {
$data['ApplyAVSCV2'] = '0';
}

$data['Apply3DSecure'] = '0';

$this->data['transaction'] = $this->config->get('sagepay_transaction');
$this->data['vendor'] = $vendor;

$crypt_data = array();

foreach($data as $key => $value){
$crypt_data[] = $key . '=' . $value;
}
---------------------------------------------------------------------------
E-Mail from sagepay today.

As discussed, when looking at the transaction details for the transactions that are showing errors regarding Gift Aid, I have found that the Gift Aid field is being passed across to Sage Pay as follows:

allowgiftaid=0&Apply3DSecure

This field should either be passed as a 0 or as 1 only.

I would advise that you check the information that is being posted across to Sage Pay, as it looks like the Gift Aid and Apply 3D Secure fields are not being seperated correctly.
-----------------------------------------------------------------------------

How to correct it so it should do what sagepay is saying. ???

Thanks for your kind help

New member

Posts

Joined
Tue Jul 07, 2009 12:57 am
Location - Cardiff - UK

Post by WildCakes » Thu Jan 12, 2012 1:42 am

Did anyone solve this. I'm having the same trouble, its being caused by accented characters such as À when recieving international orders

any help would be great

I'm using the latest version of opencart and using the sagepay payment module

Thanks

Newbie

Posts

Joined
Wed Jan 11, 2012 5:01 am

Post by docroesner » Sat Jan 21, 2012 11:26 pm

I have outcommented the line
$data['AllowGiftAid'] = '0';
means now:
//$data['AllowGiftAid'] = '0';
Furthermore one needs to make sure to convert special characters like ö, ä,ü,ß into oe, ae, ue, ss
This can be inserted into the sagepay.php script using a php function.
Then everything runs smoothly.
Perhaps there is a more elegant way, but this works.

User avatar
New member

Posts

Joined
Sat Jan 21, 2012 11:17 pm


User avatar
New member

Posts

Joined
Sat Jan 21, 2012 11:17 pm

Who is online

Users browsing this forum: No registered users and 25 guests