Forms sagepay表单协议3加密e新表单错误

Forms sagepay表单协议3加密e新表单错误,forms,encryption,opayo,Forms,Encryption,Opayo,我们无法使协议3的表单正常工作,并且无法获取“此协议版本不支持5068加密方法”消息。我们用于加密的代码如下所示。谁能告诉我哪里出了问题 $stuff = @pkcs5_pad($stuff, 16); $crypt = @base64_encode(@mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $order['gateway']['transkey'], $stuff, MCRYPT_MODE_CBC, '1234567812345678')); functio

我们无法使协议3的表单正常工作,并且无法获取“此协议版本不支持5068加密方法”消息。我们用于加密的代码如下所示。谁能告诉我哪里出了问题

$stuff = @pkcs5_pad($stuff, 16);

$crypt = @base64_encode(@mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $order['gateway']['transkey'], $stuff, MCRYPT_MODE_CBC, '1234567812345678'));

function pkcs5_pad ($text, $blocksize) {
    $pad = $blocksize - (strlen($text) % $blocksize);
    return $text . str_repeat(chr($pad), $pad);
}

您是否正在尝试使用模拟器帐户处理该请求?如果是这样的话,版本3协议还不能与模拟器帐户一起使用,Sage Pay也无法估计它何时可用

您需要使用测试帐户来测试完整的v3集成,否则您可以集成到v2.23,注释掉附加的v3字段,并使用模拟器帐户进行测试。

然后,在v3中添加其他字段,并在模拟器可用或测试帐户上通过模拟器进行测试。

您的测试帐户和Live帐户的加密密码将有所不同。如果您需要加密密码,请致电我们的支持热线0845 111 4455,我们的支持热线将能够将密码发送给Sage Pay帐户上的注册联系人

如果您使用的是模拟器-它在v3.00上不可用。以上评论是正确的,您可以使用v2.23测试您的集成。如果确定,请更改为v3.00,确保您正在检查所有必填字段是否被使用,并且返回的响应是否确定

V3.00格式协议和集成指南可用。Crypt字段应包含纯文本形式的所有其他事务信息,如名称=值字段,由“&”字符分隔。然后,应使用AES/CBC/PCKS#5算法和预注册的加密密码对该字符串进行加密,然后对其进行Base64编码,以允许以HTML形式安全传输。密码必须是16个字符

如果您需要进一步的支持,您可以通过电子邮件feedback@sagepay.com并参考此论坛帖子URL

Sage薪酬支持