How refund is possible for event participants in civicrm?
It's been my experience that refunds need to be done with the payment processor, not inside CiviCRM. We use Authorize.net and we just log into the system and do the refund from there. Payment systems can be real finicky when it comes to refunds because of fraud.