在PHP中集成Sagepay支付网关时遇到问题


Having trouble with integrating Sagepay payment gateway in PHP

我正在用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>

我该如何解决这个问题?

错误指的是篮筐字段。第一个项目值为100,税为10,行总数为100。购物篮中的字段为数量:商品价值:商品税:商品合计:行合计

如果要使用税字段,则项目值应为净额,因此您的值应为1:90.00:10.00:1000.00:100.00