I think that part of the problem might be that you are trying to solve this scenario in it's entirety. I think it would be best to start with the commerce portion. This part should be very straight forward. You will have a table that holds the info about the videos including the names locations and prices.
Next you would create the add to cart functionality on a listing page that shows all of the available videos. Instead of redirecting the user to the cart page you would send them directly to the checkout page, you might want to have a cart display on this page so they can see what they are purchasing.
When the user successfully transacts you would want to update your orders table to include a record about this transaction including the video details. You will also need some type of identifier in this record so that when the user goes to the page to view the video you can update the same record to indicate that the page has been visited. Once you have this part all worked out you can think about the page that gives the user the video and how to secure that and ensure that the user can access it only once.
The delivery of the video is something that is very easy to say in a sentence, but implementing it requires logic to ensure that the user is viewing the correct video and that they can only do this once. There is much more going on with this part than it seems. For example what criteria do you use to determine that the person visiting the page is the person who made the purchase? How do you know what video they are viewing? The solutions to these questions will rely on how exactly you would like it to work.