Paypal Refund & Nop 1.9

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
Hey guys/gals,

Just discovered something and wondering how to correct it.

We offer refunds on any overage paid in shipping to our customers and just did our first one today.  We have PayPal Standard set up with the IPN and when issuing the refund over on PayPal's website it send the IPN info back BUT showed the entire order refunded?  Now this order is stuck in "processing" state and we need to find a way to "Complete" this order.  

Any ideas?  We already tried to delete the IPN that was sent from the refund and that didn't do a thing.  When going to the order it shows the order status as "Processing" and the payment status as "Refunded".  We have updated with the tracking number and clicked the "mark as delivered" buttons to no avail.

Any ideas on how to correct this without having to delete the order and reissuing it?

Thanks in advance!

Rob
11 years ago
Did you ever sort this, it's still an issue to this day, i've got the same issue where they're partially refunding (shipping costs) but it's refunding 100% in nop.

Cheers,

Dave
11 years ago
I experience this issue since the first nopCommerce version I used - 1.9 till current 2.5.
Partial refund issued on PayPal site sets the order status to be "Refunded" and refunded amount is set to be the order total. Order status can probably be considered as "Refunded" in such a case (although I personally prefer to consider it to be "Paid" and have to set it to be "Paid" using DB interface), but setting the refunded amount to the order total in case of partial refund is certainly wrong.

>Any ideas on how to correct this without having to delete the order and reissuing it?
To fix the problem I use SQL to update the DB itself:

UPDATE [Order] SET [RefundedAmount]=right_refunded_value WHERE [Id]=your_order_id

and if you want to mark the order as paid:
UPDATE [Order] SET [PaymentStatusId]=30 WHERE [Id]=your_order_id

Since this approach bypasses the DB-access layer it is not guaranteed to work in future versions because names and constants theoretically may change. Though in practice it rarely happens unless a product is completely redesigned. It also bypasses business logic, which might be triggered when doing the same properly (if I am not mistaken - there is currently no way to do the same properly), however I personally could not notice any issues due to this approach.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.