2012-02-14 8 views
6

Tengo una duda sobre cómo se llaman las cotizaciones y los pedidos en el método de pago. Lo que sé es que una Cotización es un conjunto de productos o servicios ofrecidos. In magento Los datos de cotización se crean justo antes de hacer clic en el botón Realizar pedido de Onepage Checkout. Después de colocar la orden, se crean los datos de orden en Magento. La factura viene junto a la orden si se confirma la orden.Magento - Diferencia entre presupuesto y pedido

Pero me preguntaba por qué el Mage_Payment_Model_Method_Abstract Clase de validar el método de Instancia comprueba la información de clase si se trata de una instancia de Mage_Sales_Model_Order_Payment tomar getOrder() bien tomar getQuote()

no me queda claro con esto. ¿La función Validate() se llama dos veces, es decir, la primera vez que se crea el presupuesto y la segunda vez cuando se crea el pedido O se llama dos veces a la clase del método de pago.

Por favor, aclare mi confusión.

/** 
     * 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; 
     } 

Respuesta

11

Una cita en Magento es básicamente un pedido que no se ha realizado todavía. Contiene productos (carrito de compras), direcciones y métodos de pago/envío. Se crea tan pronto como agrega un artículo al carrito. Durante el pago, los datos de facturación y envío se agregan a la cotización. Finalmente, cuando el usuario hace clic en la orden de lugar, la cotización se convierte en una orden.

Para responder a su pregunta sobre la validación de pago: El método de pago está incluido tanto en la oferta como en el pedido y está validado en ambos lugares. Un método de pago puede estar restringido a ciertos países, por lo que en el método de validación, un método de pago para un presupuesto validará el país de cotización, y un método de pago para un pedido validará el país del pedido.

Cuestiones relacionadas