"Сведения о состоянии: 5003: внутренняя ошибка сервера"
Я пытаюсь обновить форму оплаты для работы с v3.00 протокола. При размещении моей формы на https://test.sagepay.com/gateway/service/vspform-register.vsp я получаю:
"Сведения о состоянии: 5003: внутренняя ошибка сервера."
Согласно http://www.sagepay.co.uk/support/error-codes/5003-error-internal-server-error, это означает, что я должен использовать старую версию протокола... но я не думаю, что я:
<input type=hidden name="VPSProtocol" value="3.00">
<input type=hidden name="TxType" value="PAYMENT">
<input type=hidden name="Vendor" value="myvendorID">
<input type="hidden" name="Crypt" value= "<?php echo $sagePay->getCrypt(); ?>">
Я использую библиотеку, доступную по https://github.com/tolzhabayev/sagepayForm-php:
$sagePay = new SagePay();
$sagePay->setCurrency('GBP');
$sagePay->setAmount($basket[0]['price']);
$sagePay->setDescription('test');
$sagePay->setBillingSurname($name_ar[1]);
$sagePay->setBillingFirstnames($name_ar[0]);
$sagePay->setBillingCity($billing_address_ar[1]);
$sagePay->setBillingPostCode($billing_address_ar[3]);
$sagePay->setBillingAddress1($billing_address_ar[0]);
$sagePay->setBillingCountry('gb');
$sagePay->setDeliverySameAsBilling();
$sagePay->setSuccessURL('myurl');
$sagePay->setFailureURL('myurl');
Насколько я вижу, все новые обязательные поля есть, и если я протестирую на примере, поставляемом с sagepayForm-php, это сработает.
Нужно ли мне как-то сказать sagepay, что я хочу перейти с использования 2.23 на 3.00? Я смотрю на My SagePay, но не вижу настройки протокола. Я думал, что SagePay автоматически обнаружил используемый протокол (из поля формы VPSProtocol)
1 ответ
Вам не нужно сообщать MSP, что вы используете новую версию протокола. 5003 указывает на ошибку в Sage Pay. Если вы можете попробовать еще раз, тогда получите мне VPSTxID (вероятно, в URL вашего отказа), я могу проверить это для вас....