Good question. Maybe GNU #Taler could be useful here? It's designed to accept payment in a number of forms, while protecting the #privacy of the payer. Clicking the 'contribute' button could trigger a transaction on a Taler instance on the same server.
@wyatwerp from memory, Taler can accept payments in crypto-tokens, but it doesn't depend on them.