Open magnolia61 opened 6 years ago
I think this would be a nice improvement but realistically I'm not going to get to it any time soon
I think https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/commit/f74355ac18c6a5790c1327eea9ffa4126b7cf34b solves the error, but still the real solution would be to have the status change to 'refunded'. Just a quick update on this reference. More work needed.
Right - I think that change is not intentionally directed at your issue (although it tangentally affects it)
Ran into something I think is related to https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/issues/25. When refunding a payment from the Mollie backend, I get the message "Cannot change contribution status from Completed to Failed." (it should be changed to refunded)
Mollie does suport handling refunds, both to and from Mollie. I mean they could be handled by CiviCRM or from Mollies side and the omnipay module could handle the administration.
In omnipay-mollie src/Message/FetchTransactionResponse.php it handles the refunded status
When Mollie updates a status it performs a knock-knock after which the payment method should fetch the payment information from Mollie:
That is why the status itself is not sent in the webhook url is only known after FetchTransactionResponse.php retrieves it.
That being said, I'm not sure why omnipaymultiprocessor wants to try to change the status from completed to failed. At Mollies side the payment status is 'refunded'. What could be the problem? Better: the solution ;-)