Your best option is to change the Transaction Type for the Donation Product so that it does not go into your Sales Account at all. That way, a “refund” is not necessary.
Create a Donation Account Type, a Donation Account, and a Donation Transaction Type.
The Donation Transaction Type should go from the “Donation” Account (source) to the Receivables Account (target), instead of “Sales” to Receivables.
Create an Action for Update Order with the Parameter for “Account Transaction Type” set to the Donation Transaction Type you created above.
Create a Rule for Order Added with a Constraint for the “Donation” Product, and put the Update Order Action in that Rule.
Now all Donations (ie. a “sale” of a “Donation” product) will go into the Donation Account instead of the Sales Account, and no Refund is required.
Account Type - Donation Accounts
Account - Donations
Transaction Type - Donation Transaction
Action - Update Order
Rule - Order Added