Might want to check the Velo API documentation. There is function to createProduct() but it does note to not pass important information from client-site code. There is a Velo forum which may be able to provide more insight on how to do this.
My main questions is without any insight for the flow, I feel it would be easier to have product options and check out in the same flow or perhaps set up a payment option from choices .