我正试图从我的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
(包括空格在内的四个字符)的形式发送。删除空格。