143: Drupal for Digital Commerce – Bojan Živanović

Bojan and I chatted at Drupal Dev Days 2014 about one of the newest and most important weapons available in Drupal's eCommerce arsenal: recurring billing for digital commerce in Drupal Commerce.

Enabling Digital Commerce – recurring payments and more in Drupal Commerce

Commerce License is "a small ecosystem of modules," also including Commerce File, Commerce License Billing, and Commerce Dunning, "providing everything you need for digital commerce – basically anything that you're selling but not shipping: a download, a support ticket, a subscription," and so on.

Bojan explained to me the complexity and importance of flexible and recurring billing when dealing with purely digital products, which can have the complex billing use cases. For example, your mobile phone: "Look at how you use your mobile phone. You usually have multiple, possible plans with your operator. You are billed on the 1st of the month. If you subscribed in the middle of the previous month, you are only charged for a part of that. There's some kind of free usage that you get, some amount of minutes you can use, but if you talk more than that, there's a special price ... And there's a whole set of processes about what happens when you don't pay your bill on time."

This is a complete billing API that is configurable in the user interface. "This is something that we had to build and make possible," within Drupal and Drupal Commerce, "For the first time, we can tackle absolutely any kind of billing use case. You can flip your switches [set all of the options mentioned above and more in the back end UI] based on the discussion you had with your CFO and the system will figure out the rest for you. It's particularly interesting in the usage part." Bojan goes on to explain how you can be the billing logic provider for others. "We [the commerce provider running Drupal Commerce License infrastructure] are the ones who track the usage for your license. If you're a mobile operator, we are the ones who are tracking the minutes and applying to figure out what's free and what's not and what should be done. If you are using a commercial solution, you need to do all of that in your own code, but [Drupal Commerce License does] all of this for you and it is a huge time and effort saver. That is something I haven't seen on other places." I want to underscore that Bojan is talking about setting up and running freely available Drupal infrastructure, not about a commercial service that is already in place.

"This opens Drupal to a whole new rage of use cases that it previously didn't address. Suddenly, if I am a startup with my own product, I am going to want to install Drupal to handle the billing. Why? Because it's so easy! I can click together my payment plan and it will just work from that point on, which is amazing to me." ... And this from the guy who wrote it! :-)

Presenter Dossier: Bojan Živanović

  • Commerce Guys product team; co-maintainer of Commerce for Drupal 8; prolific drupal contributor; worked on: Commerce Kickstart 2, OpenID connect single sign-on, and Commerce License.
  • Drupal.org profile: bojanz
  • Twitter: @bojan_zivanovic
  • 1st Drupal memory: trying to be a wallflower at the pre DrupalCon Copenhagen beer tasting and failing due to relentlessly welcoming community members :-)
  • Favorite part of being in the Drupal community: "It is so prone to collaboration. The fact that someone is willing to spend their professional time helping you help the project. It's not that common for an important professional to spend his evenings helping you just to write a patch and in that process, making you become a better developer."
  • Favorite Drupal superpower: "The ability to model complex data structures entirely through the UI."
  • Most excited about in Drupal 8:
    • The Entity API and how completely it lets users – admin UI users, not just developers – model complex data and business logic.
    • Translation: 3 core modules make international and multilingual websites "ridiculously easy" to build in Drupal 8.

Interview video!