Domanda

Ho bisogno di ottenere l'ID dell'ordine dopo il completamento del pagamento.C'è un osservatore per farlo?

È stato utile?

Soluzione

È possibile utilizzare l'evento sales_order_payment_pay per ottenere l'ID ordine dopo aver completato il pagamento correttamente.

sotto il codice in 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 Modello / Observer.php

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

solo per chiarire;L'ID ordine è utilizzato internamente nel database.Il numero dell'ordine è ciò che viene visualizzato sullo schermo e sembra #100000153

Altri suggerimenti

Sì Ci sono alcuni eventi relativi al pagamento.

Suggerirei di utilizzare questo: sales_order_payment_pay.

Eventi completi

Credo che tu sappia già come usare l'osservatore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top