If you go to the Payment method configuration screen (admin/commerce/config/payment-methods), you'll see that each payment method is a rule. If you click on 'edit' you'll get a rules configuration screen.
Next, click on "Add condition" under the conditions section. Here you can choose the various conditions that allow (or disallow) a payment method to be selected.
You've got the order object here so you can choose 'Order contains a particular product'.
Then enter the SKU of your donation product in the field provided:
Finally, make sure 'Negate' at the bottom of the rule configuration page is checked.
Now that payment option will only show up if the order does not contain that product.