1

I have built a new site in Magento 1.9.2.2 and have imported all previous orders made on our old site. Some of these orders have payment methods associated with them that no longer exist in the new system. In order to keep the new system as clean as possible, is there a way to make Magento understand and display these old orders without installing those old payment method addons into the system?

Example: The new Magento system has a bank payment option built in, whereas the old system did not, so an addon was plugged in to allow that functionality on the old site. It doesn't make sense to install that same addon into the new system, but I would like to view those orders in the admin area.

How can this be done?

0

The cleanest way that you could do it is to generate a new almost empty module that represents the Blocks for the Info.php and register it as a payment method. But the method will always be unavailable. I assume you have still got the database information pertaining to those payments so you could use this to display the information.

<default>
    <payment>
        <oldmodule_fakepay>
            <active>0</active>
            <title>oldmodule Dummy Payments</title>
            <cctypes>VI,MC</cctypes>
            <model>oldmodule_fakepay/method</model>
            <order_status>processing</order_status>
            <payment_action>authorize_capture</payment_action>
        </oldmodule_fakepay>
    </payment>
</default>

The other approach, which I always find messy, is that you wrap the blocks thats failing in a try catch. I presume your getting the fatal error indicating Info.php is not found or something similar to that.

You would local override that parent file, and where its making the call, you simply replace it with a try catch to protect against the error. (Likely outputting a message to indicate that the payment is no longer available).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.