SagePay表单集成V3.0错误 - 3045:缺少货币字段

时间:2013-10-29 08:52:53

标签: php sagepay

我在将sagepay表单整合到网站时遇到了问题。

我已经生成了表单并将其发布到正确的URL但是我得到了3045:设置时缺少货币字段。

我可能在这里找不到任何可以检查的东西吗?

这让我相信我的加密功能不正确?我可能错了,但这是我用来加密数据的函数:

public function encryptAndEncode($strIn, $vendorTxCode) {

    $strIV = $this->_password;

    $strIn = $this->addPKCS5Padding($strIn);

    $strCrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->_password, $strIn, MCRYPT_MODE_CBC, $strIV);

    return "@" . bin2hex($strCrypt);
}

没有PHP的集成指南,所以如果有人知道教程/文档,他们可以指出我会很棒。

由于

3 个答案:

答案 0 :(得分:3)

如果加密/编码不正确,您将始终收到货币错误。看看我写的https://github.com/tolzhabayev/sagepayForm-php简单的php类,它为你编码

答案 1 :(得分:0)

使用表格时,如果您获得无效货币,请检查套管是否正确,即Great British Pound将是Currency = GBP而不是Curreny = gbp。同时检查您的Sage Pay帐户是否支持该货币,就好像您尝试处理欧元交易(货币= EUR),如果您没有将该货币分配给您的商家编号和Sage Pay,您将收到无效的货币错误。

检查您是否正在使用TEST或/和LIVE的正确加密密码,因为加密密码因Test and Live而异。加密密码区分大小写。它不应超过16个字符(基本64位编码)。

答案 2 :(得分:0)

我有同样的事情,并尝试了几乎所有的事情,包括与圣人支持谈话。

是的,加密密码可能是您的问题,但如果您只是喜欢我从服务器集成转移到表单,您可能想检查您使用的是什么网址

我的问题是以前开发人员给我留下的git repo有了服务器集成网址,而实时网站使用的表单让我错误

检查你的网址,不得不改变我的

https://test.sagepay.com/gateway/service/vspserver-register.vsp

https://test.sagepay.com/gateway/service/vspform-register.vsp

doh,希望对某人有帮助