Pergunta

Preciso obter o ID do pedido após o pagamento ser concluído com sucesso.Existe observador para fazer isso?

Foi útil?

Solução

Você pode usar o sales_order_payment_pay evento para obter o ID do pedido após o pagamento ser concluído com sucesso.

abaixo do código em 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>

e Modelo/Observador.php

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

Só para esclarecer;O ID do pedido é usado internamente no banco de dados.O número do pedido é o que é exibido na tela e se parece com #100000153

Outras dicas

Sim Existem poucos eventos relacionados ao pagamento.

Eu sugiro usar este: sales_order_payment_pay.

eventos completos

Eu já acredito que você já sabe usar o observador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top