Obtenha o ID do pedido após a conclusão da compra
-
13-12-2019 - |
Pergunta
Preciso obter o ID do pedido após o pagamento ser concluído com sucesso.Existe observador para fazer isso?
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
.
Eu já acredito que você já sabe usar o observador.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange