The newest developments in digital e-commerce
Jonathan Sacksick / @jsacksick
Introducing the digital commerce ecosystem
In other words what the products team of commerce guys has been working on the previous months.
Jonathan Sacksick
Web developer at Commerce Guys
Maintainer of Commerce Kickstart v2
Search API, Commerce Search API, Other Commerce contribs.
Paris, France · London, England · Ann Arbor, MI, USA
Contribute to Drupal core and contrib, vc funded...
More than 30K reported installs, around 260K downloads.
Built from scratch on Drupal 7
Built natively on drupal 7, using all of the core technologies,
Commerce doesn't reinvent the wheel, it uses the core concepts, entities, etc.
Minimalistic and flexible
Tries not to get in your way,
Take only the parts that you need...
If you don't like how commerce handle messages using rules, then use a contrib module to replace that (Commerce message)... Commerce order types ...
Commerce doesn't make any assumption, you can sell physical & digital products, you can remove the cart...
Multisites, one backend, multi country, one of the most challenging/exciting project.
Uses Views for all listings
It was a bit experimental at the time, but it feels natural now, this allows you to change columns, add filters, different sort criterias, change the backend (switch to solr)...
Uses Rules for business logic
Similar to a hook, you can respond to events, disable a rule, update the weight...
Exportable, reusable...
Rules for selecting payment methods, tax rate etc.
Relies on "essential contribs" and distributions to complete the experience
We have contrib modules for Shipping, modules for selling access to files... The problem with a lean core is that Commerce doesn't do a lot by default, you need the contrib modules, to have sthg demoable this could take time, that's why we created Kickstart.
Most popular Drupal distribution (8k installs)
More than the next 10 distributions combined.
Streamlined administration optimized for common tasks
We revisited the administration and contributed the admin theme (Shiny), the admin views (Commerce Backoffice). Bojhan summers worked on the UI.
Responsive frontend theme
We built a theme based on Omega, Omega Kickstart.
Enhanced product marketing (image zooms, slideshows, etc)
Faceted product search
We contributed Commerce Search API, that creates a preconfigured index that knows automatically about your data structure...
Built-in payment gateways, third party tools
When you install Kickstart we try to install the correct payment gateway based on your country, talk about the direct integration with the Marketplace...
Context / Requirements
Thanks/because of the Marketplace, we had to build modules that I'm going to present.
Marketplace offers everything you need to improve your online store, add-ons, trainings...
Manage subscriptions to services
Talk about Jirafe, Yottaa...
Sell support tickets
Handle renewable subscriptions
(Commerce Platform)
Our cloud Platform,
This implies recurring billing, subscription renewal...
I need a way to track the user's right to access a resource
Our problem is that we have no way of tracking the user's right to access something.
A user completes checkout, you give him a role to track access, but the "API" stops there. No expiration, nothing
A separate entity type
A separate entity type
A separate entity type
A separate entity type
Commerce License
What is it?
It's a framework for selling access to local or remote resources.
Features
A license can be configurable and have fields that are filled-in by the user
Features
A license can be remote/synchronized with an external service.
Talk about the status change (Retrigger sync when expires or revoked...).
We're displaying the access details, could be application id, account email etc...
Features
Licenses can be time limited , and are automatically expired.
A license can expire or not, i
Commerce File 2.x
New architecture based on Commerce License, addresses all feedback
received for the 1.x branch.
Allows access to files to be sold (one or multiple files attached to a product)
Licensed files can be downloaded or streamed. Number of downloads / streams can be limited.
If an admin uploads new files to the product, they will show up
automatically for all users.
Need streaming? No problem
Shown example uses mediaelement.js (library and drupal module)
Just like with downloads, the number of streams can be limited too.
Only complete streams (start to finish) count.
Full Amazon S3 integration
Triggering a download gets the file from S3 without touching our server.
Download limitations are respected.
The S3 url is secret and temporary.
Recurring?
Recurring is really hard to implement. Explain async & sync concepts. Talk about Recurly.
Probably talk about the mobile plan. You need to think about the payment, dunning...
Payment
You need a payment module with Card on File support.
You need to store credit card information to process further payments
Auth.net, Paymill, explain the token stored. we need a capable COF payment method.
Handle 0$ auth.
Dunning process
What happens if I can't charge the user anymore?
Dunning management (Delinquent User Notification) is the automated process that's kicked off when a charge attempt of a recurring order fails.
This process involves periodic customer communication and payment retries.
Soft decline (When the daily limit of the card has been exceeded)
Hard decline (Card is expired, cannot charge anymore).
Commerce recurring
Only support async prepaid billing (No post-payment). Because sync billing is really hard to implement.
Talk about prorated payment, doesn't handle metered billing.
But wait, I always want to bill on the 1st of the month?
It's really hard to implement because of prorating, If someone subscribe to a service on the 19th...
Prorating?
It's really hard to implement because of prorating, If someone subscribe to a service on the 19th...
Commerce License billing
Doesn't have a release yet.. Nested slides.
Talk about the billing cycles (async monthly/weekly/...), sync
Support pre-payment, post-payment.
What is it?
Commerce License Billing provides advanced recurring billing for licenses.
Features
It supports plan changing in the middle of the billing cycle and free quantity .
E.g talk about the Platform, (X-large, medium)...
Talk about free quantity (Removed when calculating the total).
We introduced the revisions to properly handle that.
Features
It supports post payment and estimation calculation.
Instead of showing the actual order displaying a 0 amount, we're displaying the theme function.
It properly handles VAT, discounts...
Features
It supports metered billing.
"Metered billing , or usage-based billing, usually involves a fixed monthly fee plus an overage fee for additional usage beyond the included amounts. E.g mobile phone providers: pay $49/mo for 400 minutes, then $0.10 per additional minute of usage."