Question

J'ai besoin d'obtenir l'identifiant de la commande une fois le paiement effectué avec succès.Y a-t-il un observateur pour faire cela ?

Était-ce utile?

La solution

Vous pouvez utiliser le sales_order_payment_pay événement pour obtenir l’identifiant de la commande une fois le paiement effectué avec succès.

ci-dessous le code dans 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>

et Modèle/Observateur.php

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

Juste pour clarifier;L'ID de commande est utilisé en interne dans la base de données.Le numéro de commande est ce qui est affiché à l'écran et ressemble à #100000153

Autres conseils

Oui, il y a peu d'événements liés au paiement.

Je suggérerais d'utiliser celui-ci : sales_order_payment_pay.

Événements complets

Je pense que vous savez déjà comment utiliser l'observateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top