Crypt字段加密错误PHP


Crypt Field encryption error PHP

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

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

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

我的代码如下

包括"library.php";

$CRYPT="VendorTxCode=56g9&Amount=320&Currency=GBP&描述=票证&成功URL=已编辑/已注册谢谢&FailureURL=EDITED-OUT/注册失败&BillingSurname=aaqib&BillingFirstnames=Abc&BillingAddress1=abc&BillingCity=伦敦&BillingPostCode=se1234&BillingCountry=英国;DeliverySurname=zar&DeliveryFirstnames=&DeliverAddress1=&DeliveryCity=&DeliveryPostCode=&DeliveryCountry=英国&AllowGiftAid=1";

$strCrypt=encryptAndEncode($CRYPT);

?>

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>

在库文件中,我将$strEncryptionPassword分配给sagepay提供的加密密钥。

感谢

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

问候,

Pablo

所有字段的末尾似乎都有空格,因此货币将以GBP(包括空格在内的四个字符)的形式发送。删除空格。