Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Sage Pay 2.23升级到3.00_Php_Opayo_Sage Erp - Fatal编程技术网

Php 从Sage Pay 2.23升级到3.00

Php 从Sage Pay 2.23升级到3.00,php,opayo,sage-erp,Php,Opayo,Sage Erp,从Sage Pay 2.23升级到3.00 我目前正在我的一个项目中使用Sage Pay Server PHP Kit Includes File,您可能知道,Sage Pay正在弃用API版本2.23,因此我不得不升级到3.00 $strDeclineCode = cleaninput($_REQUEST["DeclineCode"],"Text"); $strBankAuthCode = cleaninput($_REQUEST["BankAuthCode"],"Text"); $strEx

从Sage Pay 2.23升级到3.00

我目前正在我的一个项目中使用Sage Pay Server PHP Kit Includes File,您可能知道,Sage Pay正在弃用API版本
2.23
,因此我不得不升级到
3.00

$strDeclineCode = cleaninput($_REQUEST["DeclineCode"],"Text");
$strBankAuthCode = cleaninput($_REQUEST["BankAuthCode"],"Text");
$strExpiryDate = cleaninput($_REQUEST["ExpiryDate"],"Text");
我正在使用的文件的更改日志,如果有人感兴趣:

***************************************************************************************************
* Change history
* ==============
*
* 02/04/2009 - Simon Wolfe - Updated UI for re-brand
* 11/02/2009 - Simon Wolfe - Updated for VSP protocol 2.23
* 18/12/2007 - Nick Selby - New PHP version adapted from ASP
***************************************************************************************************
我尝试过将
$strProtocol=“2.23”
切换到
$strProtocol=“3.00”
,这似乎很好,直到我检查了Sage Pay后端

此错误显示为:

我知道我没有给你太多的合作机会,但也许有人在使用和我一样的图书馆


编辑:这是整个图书馆的粘贴箱

我猜您没有更新签名,因此拒绝了该交易(因为它看起来像被篡改了)。您应该根据以下值计算签名(包括一些新字段)


我发现了问题,并解决了它。这已经过测试,效果良好。

还有另一个文件名为
transaction check.php
,我不得不添加三个额外的字段,因为它们现在在新版本
3.00
中是必需的

$strDeclineCode = cleaninput($_REQUEST["DeclineCode"],"Text");
$strBankAuthCode = cleaninput($_REQUEST["BankAuthCode"],"Text");
$strExpiryDate = cleaninput($_REQUEST["ExpiryDate"],"Text");