I've made some progress on this via custom add-on. It hooks into calculate_cart_items and if the gift certificate being applied is worth $0.01 AND my target product is in the cart, it reduces the price of the target item to $0.01 (it's normally $24.99).
This seems to work correctly all the way through checkout and even updates the price back to $24.99 if the user removes the $0.01 gift certificate. However, I'm having a problem getting the price of the cart item on the checkout page to update after the user inputs (or removes) the gift certificate code. (see attachment)
If I hit recalculate it updates the price display and it also updates if I “Proceed to Checkout.” But how to get the item price display to update immediately after the gift certificate is applied?
Here is basically what I'm doing in my calculate_cart_items hook:
The only thing I can think is that the calculate_cart_items hook is being called AFTER the cart items are parsed. Is there a different hook I can use to update the cart item prices before they're parsed? Or is there a way to duplicate the functionality of the “Recalculate” button without sending an ajax/http request since this seems to update the item price display?