Обновление Sagepay с 2,33 до 3,00 AES & amp; форма ответа

Я младший разработчик (новичок в работе), которому поручено выполнить обновление с Sagepay 2.23 -> 3.00. (на сайте, который мы недавно перешли) Я внес изменения в VPSProtocol и думаю, что успешно реализовал переход на AES.

Однако предыдущий фрагмент кода был установлен на:

$strCrypt = base64Encode(SimpleXor($strPost,$strEncryptionPassword));

Я намерен это закомментировать и выложить это:

function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
//echo "<br/>Padding:".str_repeat(chr($pad), $pad)."<";
return $text . str_repeat(chr($pad), $pad);
}

function encryptFieldData($input)
{
$key = $strEncryptionPassword;
$iv = $key;

$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, "", MCRYPT_MODE_CBC, "");
if (mcrypt_generic_init($cipher, $key, $iv) != -1)
{
$cipherText = mcrypt_generic($cipher,$input );
mcrypt_generic_deinit($cipher);

$enc = bin2hex($cipherText);
}
return $enc;
}

$datapadded = pkcs5_pad($str,16);
$cryptpadded = "@" . encryptFieldData($datapadded);

И сделал изменения здесь:

<input type="hidden" name="Crypt" value="<? echo $cryptpadded ?>">

Я думаю, этого достаточно, я жду доступа к тестовой среде Sagepay.

Что касается поля ответа, я не совсем понимаю, где реализовать необходимые изменения. Предоставленный пример кода перечисляет эту информацию, но существующий php-файл не содержит никаких данных для поля ответа.

Любая помощь или руководство будет очень цениться.
Спасибо!

1

Решение

Посмотрите, что отправляется как URL успеха / неудачи с сообщением о транзакции, а затем вернитесь к коду оттуда. В основном вам нужно будет расшифровать строку шифрования, которую возвращает Sage Pay, которая содержит результат транзакции / ID транзакции и (не забудьте удалить «@» перед тем, как пытаться расшифровать).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]