Magento - Diferencia entre cotización y pedido
Frecuentes
Visto 7,258 equipos
7
Tengo una duda sobre como se están llamando cotizaciones y pedidos en forma de pago. Lo que sé es que una Cotización es un conjunto de productos o servicios ofrecidos. En 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 realizar el pedido, los datos del pedido se crean en Magento. La factura viene junto al pedido si se confirma el pedido.
Pero me preguntaba por qué la clase Mage_Payment_Model_Method_Abstract en el método de validación verifica la instancia de clase de información si es una instancia de Mage_Sales_Model_Order_Payment, toma getOrder(), de lo contrario, toma getQuote()
No estoy claro con esto. ¿Se llama dos veces a la función Validate(), es decir, la primera vez cuando se crea el presupuesto y la segunda cuando se crea el pedido O se llama dos veces a la clase de método de pago en sí?
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;
}
1 Respuestas
17
Una cotización en Magento es básicamente un pedido que aún no se ha realizado. Contiene artículos de 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 realizar pedido, la cotización se convierte en un pedido.
Para responder a su pregunta sobre la validación del pago: El método de pago se incluye en la cotización al igual que el pedido y se valida 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 del presupuesto y un método de pago para un pedido validará el país del pedido.
Respondido 14 Feb 12, 12:02
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php zend-framework magento or haz tu propia pregunta.