Я пытаюсь отправить данные Crypt на веб-сайт теста sagepay из моей php-формы. Я использую saegepay 2.23 php kit для данных Crypt, используя функцию encryptAndEncode().Ошибка шифрования поля Crypt PHP
Когда я передаю данные я получаю сообщение об ошибке Статус: Invalid
Статус Detail: 3003: Валюта недействительна.
мой код выглядит следующим образом
включают "library.php";
$ CRYPT = «VendorTxCode = 56g9 & Сумма = 320 & Валюта = GBP & Описание = Ticket & SuccessURL = EDITED-OUT/зарегистрированного благодаря & FailureURL = EDITED-OUT/зарегистрированное обанкротиться & BillingSurname = aaqib & BillingFirstnames = Abc & BillingAddress1 = а & BillingCity = Лондон & BillingPostCode = se1234 & BillingCountry = UK & DeliverySurname = зар & DeliveryFirstnames = & DeliverAddress1 = & DeliveryCity = & DeliveryPostCode = & DeliveryCountry = UK & AllowGiftAid = 1 ";
$ strCrypt = encryptAndEncode ($ CRYPT);
?>
form
action="https://test.sagepay.com/gateway/service/vspform-register.vsp"
method="POST" id="SagePayForm" name="SagePayForm">
<input type="hidden" name="VPSProtocol" value="2.23" />
<input type="hidden" name="TxType" value="PAYMENT" />
<input type="hidden" name="Vendor" value="myvendorkey" />
<input type="hidden" name="Crypt" value="<?= $strCrypt ?>">
<input type="image" src="http://ebizmarts.com/addons/shared_addons/themes/baseebizmarts/img/logos/sagepay_logo_main-250.gif"
/> </form>
В файле библиотеки я задаю $ strEncryptionPassword моего ключа Encyption, предоставленной SagePay.
Спасибо
Я не знаком с saegepay, однако многие функции шифрования/дешифрования использовать ** PHP-Mcrypt **. Это серверный php-модуль. Установку можно найти здесь -> http://www.php.net/manual/en/mcrypt.setup.php – Zak
Возможно, что сайт не принимает GBP Currency, попробуйте с USD ... У меня была эта проблема один раз с евро. – Cyrus
В ваших значениях есть пробелы, из-за которых склеп будет неправильным, если Sage Pay не обрезает пробелы в значениях. –