¿Cómo establecer un total general personalizado antes del proceso de pago en magento?

He agregado un observador en el evento “sales_order_place_fore” y quiero personalizar el total general antes de procesar el pago. pero he intentado mucho para cambiar el precio de cotización pero no está funcionando.

¿¿Alguien tiene alguna idea??

Necesita agregar un nuevo recostackdor después del gran total (Mage_Sales_Model_Quote_Address_Total_Grand). Tiene que modificar la sum que fue establecida por el colector total general.

Hablé de un caso así en la conferencia de MageConf en Ucrania hace una semana. El video y las diapositivas aún no están disponibles, pero puede descargar el módulo de demostración que se describió en la conferencia. Hay un ejemplo de colector total que calcula el precio de embalaje.

Puede modificar mi demo total collector para que se inserte en el proceso de recostackción DESPUÉS de Grand total collector (consulte config.xml en el directorio module, etc – elimine subtotal node y luego use grand_total en su lugar) y modifique el método collect () solo para establecer los totales generales en sus valores predefinidos:

 $address->setGrandTotal($someValue); $address->setBaseGrandTotal($someBaseValue); 

O puede dejar este módulo tal como está, pero establecer totales negativos en él. Entonces, el Gran coleccionista total los restará y reducirá el valor total general como lo desee. También en ese caso, el cliente podrá ver sus valores negativos (darlos en el método fetch ( ) y comprender por qué se redujeron los totales generales.

Que te diviertas 🙂

no puede tener que hacer un nuevo objeto total o agregar sums como productos virtuales

por favor observe

Mage_Sales_Model_Quote_Address_Total_Abstract Mage_Sales_Model_Order_Invoice_Total_Abstract Mage_Sales_Model_Order_Creditmemo_Total_Abstract

para ver qué se necesita para implementar un objeto total. También podría necesitar ampliar los objetos de velocidad