2014-09-16 4 views
0

Я внедряю шлюз для оплаты sagepay в php, он отлично работает с протоколом 2.23. Но когда я меняю его на 3.00, он дает мой код ошибки: 3195, что означает «Детали суммы позиции не складываются правильно». Я пробовал все решения, но ничто не помогло мне.Проблемы с интеграцией шлюза оплаты sagepay в php

вот некоторые из моего кода, который я использую в настоящее время

$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

Ошибка относится к полю корзины. У вас есть значение первого предмета как 100, налог равен 10, а общая сумма равна 100. Поля в корзине Количество: Пункт Стоимость: Налог на предметы: Итого: Всего

Значение предмета должно быть чистым если вы собираетесь использовать налоговое поле, поэтому ваши значения должны быть 1: 90.00: 10.00: 100.00: 100.00

+0

спасибо большое, вы сохранили мое время, +1 за этот ответ. :) –

Смежные вопросы