首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sagepay表单协议3加密e新表单错误

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

Stack Overflow用户
提问于 2013-11-23 04:59:40
回答 2查看 1.7K关注 0票数 0

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

代码语言:javascript
复制
$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);
}
EN

回答 2

Stack Overflow用户

发布于 2013-11-26 18:41:48

您是否正在尝试对该请求使用模拟器帐户?如果是这样,版本3协议还不能与模拟器帐户一起工作,Sage Pay也不能估计何时可以使用模拟器帐户。

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

然后,添加v3附加字段,并在模拟器可用时或在测试帐户上进行测试。

票数 0
EN

Stack Overflow用户

发布于 2013-11-26 19:24:14

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

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

V3.00格式协议和集成指南可在here上使用。加密字段应以纯文本形式包含所有其他交易信息,这些信息以‘&’字符分隔的Name=Value字段表示。然后,应该使用AES/CBC/PCKS#5算法和预先注册的加密密码对该字符串进行加密,然后对其进行Base64编码,以便在超文本标记语言表单中进行安全传输。加密必须为16个字符。

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

Sage Pay支持

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20154385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档