I see a number of issues reported that if an administrator sends a partial refund to a customer via Paypal then Magento receives an IPN that causes the whole order to be marked as Refunded (e.g. https://collaborate.magento.com/magento/topics/paypal_refunds_and_automatic_credit_memo_generated).

Is it possible to issue a partial refund by creating an Online Credit Memo within the Magento invoice view?

What is the best approach for this scenario? Please note that this applies to Paypal Standard (not Express or other integrations).

  • 2
    Welcome, Jonathan! Glad to see you here. Big fan of your stuff over on SO. I wonder if this issue was addressed in 1.8 Alpha - "PayPal Express Checkout and PayPal Pro now handle partial refunds properly." - though it doesn't list Standard.
    – philwinkle
    Commented May 2, 2013 at 1:27
  • thanks @philwinkle - this client is EE so we should be able to get a copy of the 1.13 source and investigate. appreciate the pointer, will post an answer if it works! :) Commented May 2, 2013 at 1:48
  • Any luck here? I'm curious to know if EE 1.13 resolved.
    – philwinkle
    Commented May 9, 2013 at 15:58
  • Not resolved :( Seems to be structural issue since Paypal can't mark which items are to be credited, so it just sends an IPN saying that a chunk of money was refunded. Possible option is to rewrite Magento functionality to record the IPN credit memo as a comment on the order (with trxn ID) but not raise the Credit Memo automatically. Instead create an admin notification which prompts the admin to manually raise the Credit Memo and mark the correct line items as Refunded. Will github what we come up with. Commented May 10, 2013 at 0:01
  • @JonathanDay, were you able to come up with a solution or work-around for this issue? We're having the same problem. Commented Jun 4, 2013 at 18:20

1 Answer 1


We ended up coding a module to rewrite the core IPN Model which suppresses the automatic creation of Credit Memos when a Paypal Refund is issued. Instead, it adds an Order Comment with the Paypal Transaction ID (for reconciliation) and raises an Admin Notification that the administrator should manually create an Offline Credit Memo to correlate with the monies refunded at Paypal. This allows the administrator to mark the appropriate Order Items as Refunded, apply alterations to the amount (Adjustment Fees, etc). This is now working happily in production and can be reviewed in our Github repo.

  • Sounds very nice - is that module open source? (or would like to become)
    – Alex
    Commented Jun 5, 2013 at 11:30
  • 1
    @Alex code published and answer updated with link. please code review and/or fork as you wish :) Commented Jun 5, 2013 at 14:21
  • No need for it ATM - will be happy to SPAM with Issues and Pull requests if I come to use it :-)
    – Alex
    Commented Jun 5, 2013 at 15:50
  • hehe, that's what I do best on n98-magerun repo, thanks @Alex :) Commented Jun 5, 2013 at 23:39
  • @JonathanDay we faced the same issue and installed your module but unfortunately it doesn't appear to work - the default refund method isn't overridden and thus the behaviour doesn't change. I've had a look through the code and in the model this looks a bit strange const CONFIG_IPN_REFUND_METHOD = 'payment/modpaypal/ipn_refund_method';, but I'm not really familiar enough with Magento to know what this should be or if this is the issue. Any help greatly appreciated! :)
    – BrynJ
    Commented Apr 1, 2014 at 9:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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