|
Ну я вроде разобрался и прошёл этот шаг. Проверь у тебя в 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) - с этим методом я ещё не разбирался, но как я понял он вызывается при создании счета.
|