The GoFundraise platform allows you to create a registration form that allows for a part of a total purchase to be a donation. It's IMPORTANT that you seek legal and taxation advice to see if your charity qualifies for this. Here you can see how an event has been setup in this way.