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

时间:2014-09-16 11:59:41

标签: php payment-gateway sagepay

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

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

错误是指篮子区域。您将第一个项目值设置为100,将税率设置为10,将总计值设置为100。 篮子中的字段为Quantity:Item Value:Item Tax:Item Total:Line Total

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