Magento - разница между цитатой и порядком - PullRequest
6 голосов
/ 14 февраля 2012

У меня есть сомнения по поводу того, как котировки и заказы вызываются в способе оплаты.Что я знаю, так это то, что цитата - это набор предлагаемых продуктов или услуг.В magento Цитата данные создаются непосредственно перед нажатием кнопки Разместить заказ на Onepage Checkout.После размещения заказа данные заказа создаются в Magento.Счет-фактура следует за заказом, если заказ подтвержден.

Но мне было интересно, почему класс Mage_Payment_Model_Method_Abstract в методе validate проверяет экземпляр класса Info, если он является экземпляром Mage_Sales_Model_Order_Payment take getOrder (), иначе take get * Quote ()

1004 * Мне не ясно с этим.Вызывается ли функция Validate () два раза, т. Е. Первый раз, когда создается цитата, и второй раз, когда создается ордер, ИЛИ сам ли метод метода оплаты вызывается два раза.

Пожалуйста, разъясните мою путаницу.

/**
         * Validate payment method information object
         *
         * @param   Varien_Object $info
         * @return  Mage_Payment_Model_Abstract
         */
        public function validate()
        {
             /**
              * to validate paymene method is allowed for billing country or not
              */
             $paymentInfo = $this->getInfoInstance();
             if ($paymentInfo instanceof Mage_Sales_Model_Order_Payment) {
                 $billingCountry = $paymentInfo->getOrder()->getBillingAddress()->getCountryId();
             } else {
                 $billingCountry = $paymentInfo->getQuote()->getBillingAddress()->getCountryId();
             }
             if (!$this->canUseForCountry($billingCountry)) {
                 Mage::throwException($this->_getHelper()->__('Selected payment type is not allowed for billing country.'));
             }
             return $this;
        }

1 Ответ

16 голосов
/ 14 февраля 2012

Цитата в Magento - это в основном заказ, который еще не был размещен.Содержит товары (корзина), адреса и способы оплаты / доставки.Он создается, как только вы добавляете товар в корзину.Во время оформления заказа в расчет добавляются данные для выставления счетов и доставки.Наконец, когда пользователь нажимает кнопку «разместить заказ», предложение преобразуется в заказ.

Чтобы ответить на вопрос о подтверждении платежа: метод оплаты включен в предложение, а также заказ и подтвержден в обоих местах.,Способ оплаты может быть ограничен определенными странами, поэтому в методе validate метод оплаты для цитаты будет проверять страну цитаты, а метод оплаты для заказа будет проверять страну заказа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...