Just as a seller is cheating herself when charging "exact postage" whcih does not include packaging costs, fuel surcharges, GST, and EBay and Paypal fees, she is cheating herself when she refunds the entire amount to the customer.
Rather than refunding and reinvoicing (which raises the possibility that the customer will not pay the new invoice) (yes, it happens), all you have to do is refund the shipping overpayment.
This allows you to adjust the shipping for the fees.
Thus, if the customer had paid you $10 for shipping, and it actually cost you $5, you would refund the (Canadian) customer $4.68 which takes care of the fuel surcharge, GST, packaging cost and eBay fee. The customer does not need a breakdown of how you arrived at the amount of the refund.