There is no clear way to refund an overpayment. What seemed to mostly work correctly was receiving a negative amount into the overpayments account for a customer. Doing this added the correct entries to the cash and overpayment accounts, however the customer showed up in the "Use AR Overpayments" screen with double the amount of their overpayment, when I would expect them to not show up at all.
More specifically: I received $1220 into an AR Overpayment account. At a later date, we refunded the money. Using Cash -> Receipts, I put -1220 into the overpayments section for that customer on the date refunded.
This resulted in the correct chart of accounts entries on the cash account as well as the overpayments account.
However, in Cash -> Use AR Overpayments, this customer now shows a 2440 available overpayment.
I think this is due to the use of the abs() function in payment_get_available_overpayment_amount and the definition of the overpayments view.