In our project, we have Authorize.NET payment provider which is configured to process a payment as "Sale". After the user makes an order, the customer should be able to cancel an order and refund. But when canceling an order it doesn't do any refund operations.
I found in the documentation that it is possible to create a return for completed order but there is no way to create a refund for canceled order.
Is there any other way how to make "refund" for canceled order?
If I remember correctly, then the Cancel button will trigger the refund when the payment(s) are processed. Payment methods will be called with Credit type so they know they should refund.
The reason for that was because in case of canceled orders, the full amount should be refunded, unlike in cases of return (there might be partial return).
I'll have to check for sure, but that's from my memory.
That's what it should do but I tried multiple times and it did not. Nothing happens.
I did check with our QAs and they confirmed that in Commerce Manager, when you cancel an order the payment will not be automatically refunded - you will have to do it manually in the payment gateway.
Yes that sounds a little weird but it has been that way since long ago. We will unlikely to change the default behavior, as it involves new development in Commerce Manager. But you can of course listen to the order events and act accordingly.
Ok, thanks for the info!