2013-12-03 4 views
0

Я пытаюсь отправить данные 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.

Спасибо

+0

Я не знаком с saegepay, однако многие функции шифрования/дешифрования использовать ** PHP-Mcrypt **. Это серверный php-модуль. Установку можно найти здесь -> http://www.php.net/manual/en/mcrypt.setup.php – Zak

+0

Возможно, что сайт не принимает GBP Currency, попробуйте с USD ... У меня была эта проблема один раз с евро. – Cyrus

+1

В ваших значениях есть пробелы, из-за которых склеп будет неправильным, если Sage Pay не обрезает пробелы в значениях. –

ответ

0

Пожалуйста тройная проверка, что пароль шифрования правильно, сообщение об ошибке может показаться вводящим в заблуждение, но как правило, ошибка происходит из-за неправильного шифрования пароля.

С уважением,

Пабло

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