3

When a customer places an order using Paypal the order status becomes processing. I want it to be pending.

I tried to change the default order status in app/Core/code/Mage/Paypal/etc/config.xml

<sales>
    <order>
        <statuses>
            <!-- retained for backwards compatibility, not used anymore -->
            <pending translate="label"><label>Pending</label></pending>
        </statuses>
    </order>
</sales>

but that did not work.

My configuration (click to enlarge):

screenshot

  • There are different PayPal payment methods available in Magento. Which one do you use? – user487772 Jun 12 '13 at 7:35
  • 1
    It's already mentioned in the comment "retained for backwards compatibility, not used anymore", so obviously it wouldn't change anything – Shatir Jun 12 '13 at 11:01
3

Not the answer you want, but the state of orders follow a predefined flow and should not be changed. Only the custom defined status within a state can be changed by your requirements.

Aligent Consulting created a flow chart for order states:

magento order state flow

Source: https://twitter.com/aligent/status/509487359172177921/photo/1

You see that as soon as an invoice is created and the order is payed, the state is processing.

Orders are only pending if they are waiting for payment. This is actually never the case for PayPal where the payment happens instantly (there is only an intermediate status "Pending PayPal" where the order has been created in Magento and the customer has been redirected to PayPal to finish the payment.

It does not make sense to mark PayPal orders as "processing" and it will break the order flow because the assumptions Magento makes will not hold true anymore!

What you can do is create a custom order status, call it whatever you want and assign this as default status for PayPal orders. But it has to be a child of the "processing" state

2

Previous versions of Magento provided the configuration settings for order status to be set using the admin panel (I'm not quite sure upto which release). For the new release I think you should configure IPN settings from PayPal.

However I believe if you're using 1.4 you would need to go to

System->Configuration->Payment Methods->PayPal Standard

and set your New Order Status to whatever you want.

You can refer to this thread also for further details: https://stackoverflow.com/questions/13252427/magento-1-7-0-2-pending-payment-status-after-successful-payment-in-paypal

  • thanks for response but in 1.4.2 there is no Paypal Standard. and the link u gave me also provide the same procedures. for the IPN settings Paypal developers just changed their sandbox system and their no IPN configuration. – Zeedia Jun 12 '13 at 14:44
  • Well, you didn't specify that you were using the sandbox, that's why I gave you links for the actual setup. And yes "PayPal Standard" is also called "Website Payment Standard". This option should be available. – Shatir Jun 13 '13 at 4:51
  • Shatir sorry but it is not there i update my post and added a pic of my paypal config. it is not there i need to make changes in code. thanks – Zeedia Jun 13 '13 at 22:32
  • You're looking into PayPal express checkout. I've just confirmed by installing magento 1.4.2, and PayPal Standard is available. Here's a screenshot which shows Website Payment standard in the admin panel i42.tinypic.com/2qbwuhx.png – Shatir Jun 14 '13 at 5:12
1

okay you want to assign "Pending" instead of "Processing". refere this link (don't worry, this is a short and crisp tut). This is not exactly what you ask for, but is similar. You'll be able to select any default order status by using this method.

If you opt to change the statuses manually, refer this link.

  • Looks like a fair enough approach. Good answer. – Shatir Jun 14 '13 at 6:47
  • these link are very useful but not what i am looking for. – Zeedia Jun 14 '13 at 19:52
1

I was able to find a solution. in app/code/core/Mage/Paypal/Controller/Express/Abstract.php

below link will show u how to change the state of an order whenever you want.

http://blog.chapagain.com.np/magento-how-to-change-order-status-programmatically/

so before you get redirected to the success page. change the order state to what ever you need.

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.