That is indeed the best way of doing this.
I’m not sure why you’re experiencing problems with PayPal, though: when a customer adds a ticket at a certain price to the cart, is the price suddenly changing or something like that?
Ordinarily, WooCommerce handles everything from that point onwards and after checkout the cart total is submitted to PayPal – so I’m not sure why you’d be hitting difficulties here but would be interested in learning more (can you provide a live example to give me some more context)?