Php 密码字段加密错误

Php 密码字段加密错误,php,payment-gateway,opayo,Php,Payment Gateway,Opayo,我正试图从我的php表单向sagepay测试网站发送加密数据。 我正在使用saegepay 2.23 php工具包使用函数encryptAndEncode()加密数据 当我传递数据时,我得到了错误 状态:无效 状态详细信息:3003:货币无效 我的代码如下 包括“library.php” $CRYPT=“VendorTxCode=56g9&Amount=320&Currency=GBP &Description=票证和成功URL=已编辑/已注册感谢 &FailureURL=编辑/注册失败&Bil

我正试图从我的php表单向sagepay测试网站发送加密数据。 我正在使用saegepay 2.23 php工具包使用函数encryptAndEncode()加密数据

当我传递数据时,我得到了错误 状态:无效

状态详细信息:3003:货币无效

我的代码如下

包括“library.php”

$CRYPT=“VendorTxCode=56g9&Amount=320&Currency=GBP &Description=票证和成功URL=已编辑/已注册感谢 &FailureURL=编辑/注册失败&BillingSurname=aaqib &BillingFirstnames=Abc&BillingAddress1=Abc&BillingCity=London &BillingPostCode=se1234&BillingCountry=UK&DeliveryName=zar &DeliveryFirstnames=&DeliverAddress1=&DeliveryCity= &DeliveryPostCode=&DeliveryCountry=UK&AllowGiftAid=1”

$strCrypt=encryptAndEncode($CRYPT)

?>

表单
行动=”https://test.sagepay.com/gateway/service/vspform-register.vsp"
method=“POST”id=“SagePayForm”name=“SagePayForm”>

请三次检查加密密码是否正确,错误消息可能有误导性,但通常错误是因为加密密码错误

问候,


Pablo

您似乎在所有字段的末尾都有空格,因此货币被发送为
GBP
(四个字符,包括空格)。删除空格。

我不熟悉saegepay,但是许多加密/解密函数都使用php mcrypt。这是一个服务器端php模块。可以在此处找到安装-->可能该站点不接受英镑货币,请尝试使用美元。。。我曾经在EUR中遇到过这个问题。如果Sage Pay没有在值中删除空格,那么值中的空格将导致密码不正确。
form
 action="https://test.sagepay.com/gateway/service/vspform-register.vsp"
 method="POST" id="SagePayForm" name="SagePayForm">
     <input type="hidden" name="VPSProtocol" value="2.23" />
     <input type="hidden" name="TxType" value="PAYMENT" />
     <input type="hidden" name="Vendor" value="myvendorkey" />
     <input type="hidden" name="Crypt" value="<?= $strCrypt  ?>">    
     <input type="image" src="http://ebizmarts.com/addons/shared_addons/themes/baseebizmarts/img/logos/sagepay_logo_main-250.gif"
 /> </form>