2015-09-14 1 views
1

Я интегрировала оплату Барклая-карты в свой веб-сайт, и когда я делаю cardpayment я получаю следующее сообщениеBarclays epdq pspid погрешность интегрирования: Invalid ItemName длина поля

Invalid ItemName field length: "Product name --- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxburgandy" (54 MIN : 0 MAX : 40) 

ошибки в странице https://payments.epdq.co.uk/ncol/prod/orderstandard.asp

ответ

1

ПРИЧИНА для ошибки: ошибка вызвана слишком длинным именем продукта/sku. Параметр ограничивается максимум 40 символами (включая пробелы).

Для решения этой проблемы необходимо передать имя элемента длиной менее 40 символов.

РЕШЕНИЕ:

Перед отправкой формы в https://payments.epdq.co.uk/ncol/prod/orderstandard.asp просто разграничить ITEMNAME и идентификатор, как показано ниже

//Fix for only 40 characters of length for itemname ITEMNAME*XX* 
       $ordername = substr($ordername, 0, 40); 
       $sku = substr($sku, 0, 15); 
//Fix - End 
       $html .= '<input type="hidden" name="ITEMID'.$counter.'" value="'.$sku.'">'; 
       $html .= '<input type="hidden" name="ITEMNAME'.$counter.'" value="'.$ordername.'">'; 
+0

Привет, может кто-нибудь посоветовать, какой файл нужно латать с указанным кодом? – Darren

+0

@ Darren: В magento попало в файл app/code/local/Juicy/Barclayspspid/Model/Submitform.php здесь вы должны применить вышеуказанные изменения в двух местах. Ищите этот код соответствующим образом и применяйте изменения –

+0

Спасибо, Wasiq. Мне удается отслеживать файлы. Позор этого не может быть исправлен модулем, так как нам нужно постоянно помнить о повторном применении патча при каждом обновлении. – Darren

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