Commerce and Digital Products for Streaming

Hi there, I know that as a plugin Commerce doesn’t care whether a product is physical or digital, however, I am asking whether it is possible to have someone purchase a digital item (a video link) which is NOT downloadable, so that once purchased the only way they can view it is to log in to their account and watch it from there?

I am thinking Vimeo for storing the videos and having the privacy locked so that it is only viewable on the domain name linked to the Vimeo account, however, I can’t quite figure out how this would actually work.

The viewable video would not be available prior to purchase - it would probably be an image with some content to describe the video, and then after purchase the order would appear in their order history from where it could be viewed.

Also another request with this same video theme in mind, would it be possible to purchase a kind of membership to a video for set time scale, for example, one month or six months.

Any thoughts would be gratefully received.

Many thanks

Hi @boomerang

I think a great way to do that would be to use the extension UserGroupShipment.
https://docs.modmore.com/en/Commerce/v1/Modules/Shipping/UserGroupShipment.html

UserGroupShipment replaces a typical shipping method so when the customer makes payment, they are added to a designated user group. This user group could be given access to restricted resources on your site where those videos are displayed.

Thanks for the response @digitalpenguin - I will look into this. My client does seem to want to go ahead with using Commerce as the option to set up her digital store to monetise her fitness videos.

There’s also the Digital Products extension by Tony Klapatch that offers a bit more functionality - but doesn’t yet support v1.1.

A few weeks ago Tony officially handed over that module to modmore though, so I hope to find some time in the next 2-3 weeks to get that updated and re-released as an official extension with full compatibility again.

I had seen the Digital Products extension and thought that might be a good fit too. Good to hear modmore has taken ownership as I was aware it hadn’t been updated for a while. Hoping to get going on this early next month so will look out for an update :slight_smile:

1 Like

I’m also looking forward to trying out the Digital products extension :+1:

1 Like

Glad to hear there’s interest in this :wink:

It’s functional again, but still needs new docs and I’ve decided to add a few more features to it to make it more powerful and flexible for some more use cases, so that will delay the release a little bit. If you’d like it in its current state just let me know and I’ll push a dev release.

Great news and I’d love to try it out as is. Thanks Mark :+1:

v2.0.0-dev1 is now available from the modmore package provider. Commerce 1.2.0-rc3 or up is required, which is available for update only if you enabled pre-releases on the API key (in your modmore account).

Basic usage steps (in addition to what’s in the readme):

  1. Install package and enable module in commerce > configuration > modules
  2. In configuration > delivery types, create (or edit) a delivery type specific to your digital products. Select Digital Shipment for the shipment type at the bottom:
  3. In configuration > shipping methods, make sure to add at least one shipping method for this delivery type. Without a shipping method, the checkout wont let you past the address or shipping step even for a digital product that isn’t physically shipped.
  4. Edit a product, on the delivery tab set its delivery type to the delivery type you created/edited in step 2, and save. Now you’ll get a bunch of digital options on the Delivery tab to set user groups, resources and files.

To allow selecting resources, set the parents in the commerce_digitalproduct.resource_parents system setting.

For files and resource downloads to work, you need to place the digitalproduct.get_file snippet on a resource and provide the ID to that resource in the commerce_digitalproduct.download_resource system setting.

Then, use the code sample/instructions in the readme to add the download links to the thank you step of the checkout.

FYI, the improvements I want to make:

  • Make the download links available in the emails too
  • Add snippet to list all the resources/files available for download for the logged in user, so you can add a “my downloads” account section
  • Improved file selector using the media browser (though this may take longer as I might need to add a file selector to Commerce before that can be used in a module).
  • Supporting a readfile download method which means you can provide download link access to non-public files. Right now the files and resources actually need to be publicly available, so while it uses a secret token to provide access to them, anyone that finds the actual underlying URL can access it freely.
  • Supporting selling access to resources without ACLs. I.e. the resource is public to all without requiring specific user groups, however you place a snippet on its template that will redirect the user to a different page if they did not provide a valid secret token to access it.
  • Proper step-by-step docs (i.e. extended version of the above) in the modmore docs