Shopify refunds to Payfast do not go through electronically, so they are marked as "pending" on Shopify admin.
This means it is impossible to mark the Shopify order as "refunded" or delete the order if need be.
Even if the refund is done on Payfast, it does not seem like this is communicated back from Payfast to Shopify, so even though the refund is sent through to the customer, it is still stuck at Pending on Shopify.
It is not possible to do a manual refund on Shopify, since Shopify always automatically sends the refund through to the place where the original payment came through.
I am not sure why Shopify and Payfast (one of the largest payment portals in South Africa) do not fix this problematic refund system?