I don't generally use baskets, but I just did a quick check on ampersand in the description field - if you leave it unencoded, it renders fine on the payment pages and in My Sage Pay.
php,encryption,upgrade,sagepay
Make sure you back up the files first, then change this line: $crypt =base64_encode(encryptAes($crypt, $myEncryptionPassword)); to $crypt = "@".encryptAes($crypt, $myEncryptionPassword); And: $crypt = decryptAes(base64_decode($crypt), $gatewayOptions["encryptionPassword"]); To: $crypt = decryptAes($crypt, $gatewayOptions["encryptionPassword"]); Having looked at the decrypt bit, the removal of the '@' is already there. I'm not a PHP guy, so...
You can remove the token from your side only, but I would recommend sending a REMOVETOKEN request to Sage Pay to remove it (or setting StoreToken=0 on usage) - token storage is charged above a certain threshold. No point paying for something you can't use..... Your end user can create...
I've managed to find a solution by using similar code used for another gateway for the website. This has solved the Billing Country issue and is now sending data successfully to Sagepay on the 3.00 protocol. Solution: $countryMatch = $orderArray["country"]; $cResult = $dbA->query("select * from $tableCountries where name=\"$countryMatch\""); if (count($cResult)...
curl,aes,protocols,crypt,sagepay
If there is no crypt field in your existing code, it's likely that you aren't using the Form protocol at all, so changing the encoding from XOR to AES encryption isn't a bother for you. 2.22 to 3.00 is a bigger jump than 2.23 - 3.00, so the main change...
After speaking to Sagepay I found I could download the custom templates here: http://www.sagepay.co.uk/support/find-an-integration-document/server-inframe-integration-documents which you can then send to Sagepay.
I think the quote above is from one of the comments in the integration kit. Essentially, it is a warning that if you change your integration, to point at the Sage Pay test server, you won't be taking much in the way of payments..... As long as you have a...
The string you build doesn't seem to match the documentation, which states: MD5 signature of the concatenation of the values of: VPSTxId + VendorTxCode + Status + TxAuthNo + VendorName+ AVSCV2 + SecurityKey + AddressResult + PostCodeResult + CV2Result + GiftAid + 3DSecureStatus + CAVV + AddressStatus + PayerStatus +...
You will need to be sending transactions over at a protocol level of 3.00 for this functionality. Assuming you are, log into My Sage Pay, then click the Settings Tab (at the top r/hand side, assuming the user account has privileges to adjust account settings). Then click 'Settings' on the...
The problem was with my server mcrypt PHP extension. It wasn't install/enable on the server. I must have consider this before making all test attempts. Thank you all for the efforts towards my issue.
In short - don't use this kit. It's not intended for production according to Sagepay and, as such, there's no intention to catch these kinds of issues.
You need to set the template back to Default in My Sage Pay. This will give you the old page, which isn't so great (OK, it's horrible) on a mobile device.
You are correct. Because the Success / Failure URLs are encrypted within the Crypt field, there is no need to encode them.
You won't get this confirmation page if you pass Profile=LOW with the original transaction registration post. In fact, if you are not sending this and displaying the Sage Pay screens in an iframe, you are going to have problems with some browsers.