I would like to develop a module allowing the purchase of a guarantee extension of the payment page.
The price represents a percentage of the total products and always refers to the total basket, not to the single product.
I was thinking of creating a puppet product with sku: WARRANTY_EXT and update the price dynamically with an observer: sales_quote_collect_totals_after.
Thus, the customer extended the warranty itself to a separate product.
My question is: is this approach correct? Do you recommend others?