10

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 May 2 '13 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! :) – Jonathan Day May 2 '13 at 1:48
  • Any luck here? I'm curious to know if EE 1.13 resolved. – philwinkle May 9 '13 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. – Jonathan Day May 10 '13 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. – Colin O'Dell Jun 4 '13 at 18:20
7
+100

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 Jun 5 '13 at 11:30
  • 1
    @Alex code published and answer updated with link. please code review and/or fork as you wish :) – Jonathan Day Jun 5 '13 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 Jun 5 '13 at 15:50
  • hehe, that's what I do best on n98-magerun repo, thanks @Alex :) – Jonathan Day Jun 5 '13 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 Apr 1 '14 at 9:14

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.