The critical elements I see is making it simple, painless, and make users feel involved in the program's continued improvement.
Some suggestions:
- Lots of ways to donate
- Amazon Wish List (not Amazon Pay, see below)
- Paypal
- Google Wallet
- Bitcoin
- Patreon
- Ask people to donate to a charity you like (in your name)
- Other services (thanks Midas)
- Publicity
- Get your name or website added to the program home page or "about" menu
- Add your top user donation since the last release to the status bar
- Priority access
- Get the latest version days before anyone else
- Access to videos, docs, and other items ahead of other users
- Email/phone/etc support
- Newsletter access