0

我们无法使协议 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);
}
4

2 回答 2

0

您是否尝试为该请求使用模拟器帐户?如果是这样,则版本 3 协议尚未与模拟器帐户一起使用,Sage Pay 也无法估计何时可用。

您将需要使用测试帐户来测试完整的 v3 集成,否则您可以集成到 v2.23,注释掉额外的 v3 字段,并使用模拟器帐户进行测试。
然后稍后添加 v3 附加字段并在模拟器可用时或在测试帐户上进行测试。

于 2013-11-26T10:41:48.010 回答
0

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

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

V3.00 表单协议和集成指南可在此处获得。Crypt 字段应包含所有其他纯文本交易信息,如 Name=Value 字段,以“&”分隔 人物。然后应使用 AES/CBC/PCKS#5 算法和预先注册的加密密码对该字符串进行加密,然后进行 Base64 编码以允许以 HTML 形式安全传输。密码必须是 16 个字符。

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

贤者支付支持

于 2013-11-26T11:24:14.407 回答