Pregunta

Necesito obtener ID de pedido después de que el pago se complete con éxito.¿Hay observador para hacer esto?

¿Fue útil?

Solución

Puede usar el evento sales_order_payment_pay para obtener el ID de pedido después de que se complete el pago correctamente.

por debajo del código en etc / config.xml

<?xml version="1.0"?>
<config>
    <global>
        <events>
            <sales_order_payment_pay>
                <observers>
                    <Namespace_Module>
                        <type>singleton</type>
                        <class>Namespace_Module/Observer</class>
                        <method>getOrder</method>
                    </Namespace_Module>
                </observers>
            </sales_order_payment_pay>     
        </events>
     </global>
</config>

y modelo / observador.php

public function getOrder($observer) {
    $orderId = $observer->getPayment()->getOrder()->getId();
    $orderNumber = $observer->getPayment()->getOrder()->getIncrementId();
}

solo para aclarar;El ID de pedido se usa internamente en la base de datos.El número de pedido es lo que se muestra en la pantalla y se ve como #100000153

Otros consejos

Sí, hay pocos eventos relacionados con el pago.

Sugeriría usar este: sales_order_payment_pay.

eventos completos

Creo que ya sabes cómo usar observador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top