magentopaypalmagento-1.4

Rewriting Mage_Paypal_Model_Express_Checkout


I have run into a problem where shipping options are not making it to the PayPal Express review page. If the buyer enters a free shipping coupon and then uses PayPal Express, when they return from the PP website, the review page where the submit the order doesn't have the free shipping option.

I found a thread where this was answered by adding code to the Mage_Paypal_Model_Express_Checkout class. This change works, but modifying core code is a no-no, so I'm trying to rewrite the class and I'm having trouble. I've rewritten core classes before, but this one is different somehow and I can't figure it out. Can someone point me in the right direction?

here's the contents of my config.xml. Does this look right?

<config>
    <modules>
        <VPS_Paypal>
            <version>0.1.0</version>
        </VPS_Paypal>
    </modules>
    <global>
        <models>
            <paypal>
                <rewrite>
                    <express_checkout>
                        <class>VPS_Paypal_Model_Express_Checkout</class>
                    </express_checkout>
                </rewrite>
            </paypal>
        </models>
    </global>
</config>

Solution

  • I haven't tested this, but based on the class name I would think that adding this to the section of your config would work:

            <paypal>
                <rewrite>
                    <express_checkout>Your_Model_Class_Here</express_checkout>
                </rewrite>
            </paypal>
    

    Your custom class should extend Mage_Paypal_Model_Express_Checkout and only override the method you want to change.