Magento – checkout_type_onepage_save_order_after event issue

event-observermagento-1.6payment-methodspaypal-express

I have used checkout_type_onepage_save_order_after. Means every time someone purchases some product, I want Magento to perform some action.

I have Paypal's "Website Payments Pro" and "Express Checkout" enabled. The above event seems to be working fine with "Website Payments Pro" but doesn't seem to be working for "Express Checkout". My Config.xml is as follows.

<config>
    <frontend>
        <events>
            <checkout_type_onepage_save_order_after>
                <observers>
                    <checkout_order>
                        <type>singleton</type>
                        <class>classgroupName/observer</class>
                        <method>someMethod</method>
                    </checkout_order>
                </observers>
            </checkout_type_onepage_save_order_after>
        </events>
    </frontend>
</config>

Which method should I use? Is there any common Event for both payment methods?

Best Answer

Transaction Flow is bit different in case of "Express Checkout".

I suggest you to use sales_order_place_after event and use payment method code to check for suitable payment method:

$orderObject = $observer->getEvent()->getOrder();
$paymentMethodCode = $orderObject->getPayment()->getMethodInstance()->getCode();
Related Topic