For product type 'donation' allow customer to choose "price" and add allocation field
Did you try Commerce Donate module ?! I think it should solve the issue you are looking for !

Check the Screenshot below.