Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Free LiqPay payment module for Magento
 
Violent
Jr. Member
 
Avatar
Total Posts:  19
Joined:  2012-10-01
Ukraine
 
Deus - 14 June 2013 03:16 AM

Согласен. Но возникает попутный вопрос. В каких файлах менять? Если поменять в файлах модуля то что то мне подсказывает, что проблему это не решит. Поймёт ли маджента RUR если она работает с RUB? Надо ли в самой мадженте менять это значение? Ведь товары каталога привязываются именно к RUB, если рубль валюта по дефолту. Если поменять только в модуле не возникнет ли конфликта модуля и движка?

Вот меня тоже интересует этот вопрос. Даже и не знаю как лучше. Но думаю нужно только в файлах модуля + указать что RUB Magento это RUR Liqpay’а, но как..

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

Ну может знающие и компетентные люди подскажут, как это правильно реализовать. В принципе штука то полезная.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

В общем ситуация такая. Заменил в самом модуле RUB на RUR. После того, как в самом заказе выбираешь «оплата LiqPay» выводится предупреждение, что неверно указана валюта и LiqPay не поддерживает валюту RUB. Значит, по всей видимости, проблема в том, что всё таки замену надо делать и в самой magento.
Написал в саппорт LiqPay. Оперативно получил ответ, что модуль работает правильно за исключением того, что действительно валюту надо менять в самом движке.

Далее, на многих форумах пишут что «Нужно настроить правильно валюту средствами Magento (Система >> Управление валютой >>Символы валюты)».
В общем, при переходе Система >> Управление валютой >>Символы валюты выдается страница «Ошибка 404 – Старница не найдена».

Решение по исправлению этого бага в magento1.7 предложил Rugento (респект, как говорится).

Решение: в файле app\code\core\Mage\CurrencySymbol\etc\config.xml

Код:

<adminhtml>
                <
args>
                    <
modules>
                        <
currencysymbol>Mage_CurrencySymbol_Adminhtml</currencysymbol>
                    </
modules>
                </
args>
            </
adminhtml>

заменяем на:

<adminhtml>
                <
args>
                    <
modules>
                        <
currencysymbol before="Mage_Adminhtml">Mage_CurrencySymbol_Adminhtml</currencysymbol>
                    </
modules>
                </
args>
            </
adminhtml

После этого можно менять символ валюты на нужный. Проверил – работает!
Но опять же, проблему с символами для корректной работы модуля, как оказалось это не решает. Ведь в этом случае мы меняем просто символ валюты, который выводится во фронте, а модуль LiqPay, я так понимаю, работает с символами, прописанными в самой magento.
Кто то советует менять в файле /lib/Zend/Locale/Data/ru.xml
В общем, теперь вопрос в том, как их правильно заменить в magento? Не повлечет ли такой радикальный метод серьёзных последствий?
Если кто то решил данную проблему, поделитесь пожалуйста решением.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

Может проще будет добавить условие на проверку кода валюты? И менять его при необходимости.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

Такой вариант на мой взгляд наиболее логичен Ñ‚.к не все же системы работают с RUR, а радикально заменив в движке значение -тогда можно только с ликпеем и остаться. Но вся проблема в том, что я вряд ли смогу сам написать такое условие. Да и если честно не совсем представляю где (в модуле или же в мадженте).  Буду признателен хотя бы за пример такого условия.

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

Судя по всему надо менять функцию getXmlData() в модели /app/code/local/Mage/PBLiqPay/Model/Liqpay.php

Там есть проверка на отсутствие кода валюты и подставляется UAH, если это так. Вам же надо при рублях менять код на нужный ликпэю. Код писать не буду (3 строки максимум), так как надо всё таки протестировать, а у меня нет там аккаунтов.

P.S. Это если я правильно понял проблему.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

Если я правильно понимаю то великая тайна кроется именно в этом блоке:

public function getXmlData() {
                $url_model 
Mage::getModel('core/url')->setUseSession(false);
                
// $currency_code = $this->getQuote()->getBaseCurrencyCode();
                // $amount = $this->getQuote()->getBaseGrandTotal();

                // Would like to use current currency?
                
$currency_code Mage::app()->getStore()->getCurrentCurrencyCode();
                if(!
$currency_code)
                
{
                    $currency_code 
'UAH';
                
}
                
// $amount = $this->getQuote()->getGrandTotal();

Подскажите пожалуйста умные люди, как правильно написать условие проверки для RUB-RUR? Весь мозг себе уже вынес.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

В любом случае тестирую всё в боевом режиме.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

Если правильно понял, то перед $amount добавить условие:

if($currency_code ==  'RUB')
  
{
 $currency_code 
'RUR';
 
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

Всех благодарю за советы и рекомендации. Всё работает!!! Таким образом благодаря рекомендации Grohotun и Niro рабочий блок выглядит следующим образом (начиная со строки 101):

public function getXmlData() {
                $url_model 
Mage::getModel('core/url')->setUseSession(false);
                
// $currency_code = $this->getQuote()->getBaseCurrencyCode();
                // $amount = $this->getQuote()->getBaseGrandTotal();

                // Would like to use current currency?
                
$currency_code Mage::app()->getStore()->getCurrentCurrencyCode();
                if(!
$currency_code)
                
{
                    $currency_code 
'UAH';
                
}
                
if($currency_code ==  'RUB')
                
{
                   $currency_code 
'RUR';
                
}

В строке 45 оставил всё как есть ничего не изменяя

protected $_allowCurrencyCode = array('EUR''UAH''USD''RUB');

В итоге транзакция в рублях прошла успешно.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Grohotun
Sr. Member
 
Avatar
Total Posts:  141
Joined:  2011-03-31
Saint-Petersburg
 

Было бы отлично, если бы выложил для всех поправленный модуль.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mad_Duck
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2009-04-16
Russia. Moscow
 

Выкладываю обновлённый архив.

File Attachments
LiqPay-Click-n-Buy-1.2-v.2-for-Magento.zip  (File Size: 25KB - Downloads: 48)
 
Magento Community Magento Community
Magento Community
Magento Community
 
djeron
Jr. Member
 
Total Posts:  4
Joined:  2013-02-20
 

Приветствую всех, возникла проблема при установке модуля, пробовал все версии выложенные в теме, включая последнюю. Со всеми одна и та же проблема “Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.” при попытке зайти в “Система -> Конфигурация -> Методы оплаты”. Помогите, пожалуйста как решить эту проблему. Версия магенто 1.7.0.2

 
Magento Community Magento Community
Magento Community
Magento Community
 
niro
Mentor
 
Avatar
Total Posts:  1609
Joined:  2009-03-04
Latvia, Riga
 

смотреть логи сервера, что именно за ошибку выдаёт php.

 
Magento Community Magento Community
Magento Community
Magento Community
 
djeron
Jr. Member
 
Total Posts:  4
Joined:  2013-02-20
 

PHP Fatal error:  Class ‘Mage_PBLiqPay_Helper_Data’ not found in /var/www/.../app/Mage.php on line 546

Залез в Mage.php
public static function helper($name)
{
$registryKey = ‘_helper/’ . $name;
if (!self::registry($registryKey)) {
$helperClass = self::getConfig()->getHelperClassName($name);
546 self::register($registryKey, new $helperClass);
}
return self::registry($registryKey);
}

При этом посмотрел файл Mage_PBLiqPay_Helper_Data в нем содержится такой код

class Mage_PBLiqPay_Helper_Data extends Mage_Core_Helper_Abstract {

}

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top