There are various security checks in place for a product checkout. So manipulating price like that is not the best option in my opinion.
A better option is probably to create multiple different products in our plugin with the different price points. You can create as many products as you want inside the plugin (even though they may all refer to one same product in the real world). Then you can pull the product you need and allow the customer to do the transaction.
Alternatively, the following shortcode to dynamically create a Stripe button may work: