Why is my credit card refund being refused?

If you are using the Authorize.net payment gateway, the reason could be that the charge was made on the same day as the refund attempt. According to the Authorize.net documentation, Authorize.net does not allow you to refund a transaction that was charged on the same day.  Around midnight, Authorize.net takes all of the transactions that occurred during that day and submits them to the bank for settlement.  After this process, the transaction is considered "settled".  You can only refund a transaction which has been previously settled.