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

Группа: eCommerce and Magento, Russian
 
Genbit
Member
 
Total Posts:  41
Joined:  2007-08-31
Krasnodar
 

Вот создал группу, так как решил попробовать перевести работающий магазин на движок magento, пока просто из интереса. В блоге буду отписываться какие трудности возникли, да и вообще делится впечатлениями. В целом с механизмом групп я ещё не полностью ознакомился, поэтому не знаю что там ещё можно будет делать. В планах конечно, если всё пройдет гладко — написать необходимые модули для нормальной работы с Magento в России, да и вообще приспособить Magento под особенности нашего рынка.

Кому это интересно, присоединяйтесь, будем протаптывать дорожку вместе.

 
Magento Community Magento Community
Magento Community
Magento Community
 
VaM
Member
 
Avatar
Total Posts:  47
Joined:  2007-08-31
Stavropol, Russia
 

Мне интересно, но без документации что-то совсем уж сложно у меня идёт дело с пониманием magento, не понятно, что, откуда и куда.
Сейчас вот пробую сделать модуль оплаты какой-нибудь, например для WebMoney, по примеру статьи в wiki.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Genbit
Member
 
Total Posts:  41
Joined:  2007-08-31
Krasnodar
 

Гм, я тоже собирался писать этот модуль, в чем конкретно проблема возникла?

 
Magento Community Magento Community
Magento Community
Magento Community
 
VaM
Member
 
Avatar
Total Posts:  47
Joined:  2007-08-31
Stavropol, Russia
 

В том, что вообще даже тот пример, что в wiki, он не работает.
Вот сейчас пробую новую версию скачать magento, может у меня старая версия просто.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Genbit
Member
 
Total Posts:  41
Joined:  2007-08-31
Krasnodar
 

Ну я вроде разобрался и прошёл этот шаг. Проверь у тебя в local.xml где modules прописано? Должно быть перед config, а не перед global.

В целом я в принципе разобрался как там всё работает, правда не до конца и не полностью уверен, но сейчас попробую описать:

И так, каждый платёжный модуль должен иметь модель платежа, она и будет использоваться при оформлении заказа.
Имя этой модели задаётся при установке модуля:

$this->setConfigData('payment/'.$code.'/model''webmoney/method');

В данном случае это означает, что моделью этого способа оплаты будет модель method из группы webmoney.

Группу webmoney мы определили в config.xml этого модуля:

<models>
            <!-- 
алиас Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ÐºÐ¾Ñ‚орый Ð±ÑƒÐ´ÐµÑ‚ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ься Ð²  Mage::getModel() -->
            <
webmoney>
                 <!-- 
основа (префиксклассов Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ ÑÑ‚ой Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ -->
                <class>
Mage_WebMoney_Model</class>
            </
webmoney>
        </
models>

Проще говоря моделью этого способа оплаты становится класс Mage_WebMoney_Model_Method, он должен быть унаследован от Mage_Payment_Model_Abstract.

При работе, будут или могут быть использованы такие методы:

public function createFormBlock($name) - будет вызван на странице оформления заказа, Его задача - отобразить блок этого метода оплаты, среди других.

public function createInfoBlock($name) - вызывается на странице обзора информации о заказе (review). В версии оформления заказа OnePage эта страница является правым блоком.

public function onOrderValidate(Mage_Sales_Model_Order_Payment $payment) - этот метод будет вызван, когда пользователь нажмет на Place Order, то есть начнется проверка заказа.

public function getCheckoutRedirectUrl() - если указан этот метод, и возвращает не пустое значение, то это значение будет воспринято как ссылка, и произойдет редирект по этой ссылке. В OnePage версии оформления заказа общение с сервером происходит с помощью Ajax, поэтому и редирект произойдет с помощью JS, если response.redirect не будет равно нулю.

public function onInvoiceCreate(Mage_Sales_Model_Invoice_Payment $payment) - с этим методом я ещё не разбирался, но как я понял он вызывается при создании счета.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Genbit
Member
 
Total Posts:  41
Joined:  2007-08-31
Krasnodar
 

Теперь более конкретно, о разработке модуля WebMoney.

Первое что надо сделать, это убрать из блока этого модуля различные параметры, они нам ни к чему, нам надо только сообщить пользователю, что при выборе этого способа, он будет перенаправлен на сайт webmoney.
Делается это путем самостоятельной установки шаблона для блока этого способа оплаты:

$block $this->getLayout()->createBlock('payment/form_cc'$name)
            ->
setTemplate('payment/form/webmoney.phtml');  // Ð¸Ð»Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ webmoney/from/webmoney.phtml ÐµÑÐ»Ð¸ Ð²Ñ‹Ð½Ð¾ÑÐ¸Ñ‚ÑŒ Ð² Ð¾Ñ‚дельную Ð´Ð¸Ñ€ÐµÐºÑ‚орию.
В webmoney.phtml пишем примерно следующее:
<dt>
<
input type="radio" title="<?=$this->getTitle()?>>" id="payment_method_<?=$this->getMethod()?>" name="payment[method]" value="<?=$this->getMethod()?>" <?if($this->isCurrent()):?>checked<?endif?> onclick="payment.switchMethod('<?=$this->getMethod()?>')" class1="validate-one-required"/>&nbsp;<label for="payment_method_<?=$this->getMethod()?>"><?=$this->getTitle()?></label>
</
dt>
<
dd>
<
fieldset class="form-list">
    <
ul id="payment_form_<?=$this->getMethod()?>" style="<?if(!$this->isCurrent()):?>display:none<?endif?>">
        <
li>
            
<?=$this->__('You will be redirected to WebMoney website')?> 
        
</li>
    </
ul>
</
fieldset>
</
dd>

Тоже самое нужно будет проделать с InfoBlock, который создаётся в public createInfoBlock().

Дальше логика работы..

Как работает система WebMoney, самый простой способ - это отправка с помощью формы POST запроса с необходимыми данными на сайт WebMoney через веб-браузер покупателя.

Есть метод public function onOrderValidate, который, как я писал выше, вызывается при после нажатия Place Order, когда идет проверка платежа. Но нам ведь ничего проверять не надо, нам надо отправлять пользователя на сайт WebMoney.

Пока у меня возник такой вариант: с помощью:

public function getCheckoutRedirectUrl()
    
{
        
return Mage::getUrl('webmoney/payment/do');
    
}

Редиректить на контролер webmoney, и там дальше уже что-то придумывать.

Ещё был вариант переписать JS на Checkout Page, ту часть, которая отвечает за редирект, и использовать не простое location.href = response.redirect, а оптравку формы. response.form.submit();

Это всё было придумано вчера ночью, поэтому я ещё не осмысливал на сколько это реально. Жду комментариев.

 
Magento Community Magento Community
Magento Community
Magento Community
 
VaM
Member
 
Avatar
Total Posts:  47
Joined:  2007-08-31
Stavropol, Russia
 

Спасибо, за советы, у меня что-то с инетом уже неделю наверное, не могу никак magento скачать архив, не качает.
Как скачаю, тоже буду пробовать.

 
Magento Community Magento Community
Magento Community
Magento Community
 
VaM
Member
 
Avatar
Total Posts:  47
Joined:  2007-08-31
Stavropol, Russia
 

Как работает система WebMoney, самый простой способ - это отправка с помощью формы POST запроса с необходимыми данными на сайт WebMoney через веб-браузер покупателя.

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

 
Magento Community Magento Community
Magento Community
Magento Community
 
triagmas
Jr. Member
 
Total Posts:  3
Joined:  2008-07-29
 

Давайте возобновим форум!

Нужен сервис оплаты webmoney!

 
Magento Community Magento Community
Magento Community
Magento Community
 
BLIZZARD
Jr. Member
 
Total Posts:  21
Joined:  2008-12-15
Kharkov, Ukraine
 

Присоединяюсь, к теме возобновления форума, пока что сам пробую своими силами это сделать, если все получится попробую в маженто коннект модуль залить

 
Magento Community Magento Community
Magento Community
Magento Community
 
Kachanko
Jr. Member
 
Total Posts:  1
Joined:  2009-01-08
 
triagmas - 29 July 2008 09:05 PM

Давайте возобновим форум!

Нужен сервис оплаты webmoney!

https://interkassa.com
Вот сервис, который объединяет в себе порядка 16 различных платёжныйх систем, в том числе и вебмани. Они ещё не выложили модуль для маженто у себя на сайте, но по запросу они могут предоставить его. Подключение магазина займёт минимум времени.

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