Hi there,
Thanks for the question. The refund does not happen automatically. That is up to you and I believe something you’d initiate on the gateway side of things. PMPro doesn’t really get involved with handling the transactions, rather it is a conduit to the gateways. The primary focus of the plugin is to restrict content.
FYI the “cancelled” status on orders is an oddity of how PMPro was coded. We are working to make it more clear.
But basically, it means that the associated SUBSCRIPTION is cancelled. The order is valid and is counted as successful in our reports and in other situations. We need to decouple the concept of an order status from the subscription status to make this more clear.
So in short, if you imagine “successful” when you see “cancelled” on the orders list page, you will have it right. It just means the subscription associated with those orders was cancelled. However, you can edit the order to put it in “error” or “refunded” status it won’t be included in reports or considered a successful order.
RE refunding, Paul is correct that you have to do that manually. Then edit the status of the order. We’ve done some work to make a refund button in the admin but just need to get it implemented for all of the gateways included in core, test a bit more, and then we can ship that feature.
I hope this helps.