我在PHP中实现Sagepay支付网关,它与2.23协议一起工作正常。但当我将其更改为3.00时,它会给出我的错误代码:3195,这意味着订单项金额详细信息无法正确累加。
我尝试了所有解决方案,但没有任何帮助。
以下是我目前正在使用的一些代码:
$sagePay = new SagePay();
$sagePay->setCurrency('GBP');
$sagePay->setAmount($_SESSION['amount']);
$sagePay->setDescription($_SESSION['tripcode']);
$sagePay->setBillingSurname('Mustermann');
$sagePay->setBillingFirstnames('Amrinder');
$sagePay->setBillingCity('London');
$sagePay->setBillingPostCode('GL51 3AA');
$sagePay->setBillingAddress1('Bahnhofstr. 1');
$sagePay->setBillingCountry('de');
$sagePay->setDeliverySameAsBilling();
<form method="POST" id="SagePayForm" action="https://live.sagepay.com/gateway/service/vspform-register.vsp" style="display:none;">
<input type="hidden" name="VPSProtocol" value= "2.23">
<input type="hidden" name="TxType" value= "PAYMENT">
<input type="hidden" name="Vendor" value= "alpinetravelint">
<input type="hidden" name="Crypt" value= "<?php echo $sagePay->getCrypt(); ?>">
<input type="submit" value="continue to SagePay">
</form>
如何解决此问题?
答案 0 :(得分:1)
错误是指篮子区域。您将第一个项目值设置为100,将税率设置为10,将总计值设置为100。 篮子中的字段为Quantity:Item Value:Item Tax:Item Total:Line Total
如果您要使用税字段,则项目值应为净额,因此您的值应为1:90.00:10.00:100.00:100.00