Centarro: Commerce Core 2.31 (and more!) features in review

We've packaged three releases of Commerce Core this year, from the 2.29 release in February to this month's 2.31 release. While DrupalCon, Kickstart development, and client launches have kept us busy, we wanted to take the opportunity to share the good news while we take a breather before DrupalCon Prague.

Each release includes general maintenance and modernization work, improving PHP 8.1 and Drupal 10 support while keeping up with tax rate changes around the world. They also include a variety of minor bug fixes and enhancements, like database indexes to improve performance or new permissions to support finer grained store management. Altogether, we've seen 87 issues resolved by dozens of contributors.

In this blog post, we'll review the more significant new features, including for BOGO promotions, product display pages, and order management.

"Buy One Get One" promotions

Commerce Core 2.x has always included BOGO promotion support, including the ability to adjust the quantities (which is why we call it "Buy X, Get Y" in the UI) and fine tune other rules around applicability. Thanks to a variety of merchants pushing the limits of what core can do, we found fixed a few bugs and found ways to improve the feature. In particular, we've ensured that:

Read more

Centarro: The ABCs of PDPs and PLPs

While many Drupal developers have at least some eCommerce experience, the number of people in our community who make it their primary focus is rather small. This isn't surprising, given Drupal is most often used as a CMS, not an eCommerce platform. However, it does mean that when you encounter an eCommerce opportunity, you may not be making the most effective pitch you can to win the merchant's business. One way to improve your pitch is to make sure you're using the same vocabulary to describe eCommerce features and concepts as the rest of the eCommerce industry. It's all too easy for us as Drupal developers to rely on our internal vocabulary, but merchants comparing your proposals, case studies, or Drupal Commerce articles won't have the slightest clue what Taxonomy Terms, Views, or Search API indexes are. Learning and using industry standard terms will help you build clarity and confidence with your eCommerce prospects and customers, reducing the amount of work they have to do to understand your proposals and compare them against other solutions to see exactly where Drupal Commerce comes out on top. Read more

Centarro: See you at DrupalCon Portland 2022!

It's been three looong years since the Drupal community gathered in Seattle (and two and a half since Amsterdam). DrupalCon Portland is the reunion we've been waiting for, and we can't wait to get there and share.

Virtual events are nice for keeping tabs on what your peers are doing, but nothing beats the large scale casual exchange of ideas at an event like DrupalCon. We recommend using the event to reconnect to the high level developments in various Drupal initiatives and using sessions and smaller conversations to go deep on the topics most directly impactful to your work.

To that end, we'll have the Centarro booth 404/406 setup to chat about all things Drupal Commerce! If you're planning, building, or operating a Drupal Commerce site, we'd love for you to come tell us about it. The impact our modules have on individuals, families, and companies all over the world gives meaning to our work that transcends the mere writing of a module or theme.

Read more

Centarro: Replace Swift Mailer with Symfony Mailer for HTML email

When you're theming a Drupal Commerce site, you shouldn't forget to style the emails your store sends. The primary use case is the checkout completion email that includes the customer's receipt, but there may be others depending on your feature set and customizations (e.g. dunning emails for recurring subscriptions).

Commerce Core provides a basic, table based template that you'll want to either replace or at least ensure is styled by your theme to reflect your branding. (Find it in the order module's templates directory, commerce-order-receipt.html.twig.) However, without adding the capacity to properly send HTML email from your site, it's going to look like a jumbled mess in your customer's inbox.

We've long recommended Swift Mailer for formatting and sending HTML emails from Drupal Commerce. Symfony announced the project's deprecation late last year, recommending folks switch to using the 3 year old Symfony Mailer instead after they brought it up to full feature parity with the Swift Mailer library.

Fortunately, there's a module for that!

Read more

Centarro: Commerce Core 2.25 expands payment, coupon, and promotion management

We released Commerce Core 2.25 on June 30th, 2021. This release kicks off a new schedule that focuses on feature releases once a quarter with bug fix / minor patch releases in the intervening months, giving us time to focus on our other modules as well. Our efforts for this release centered around store administration improvements, Layout Builder integration, and general performance and stability improvements. We also reviewed our code to ensure we had solutions or a roadmap for changes required by Brexit and the EU July 2021 eCommerce VAT package.

Store administration improvements

As with the 2.24 release, our work with multiple large merchants continued to drive store administration improvements throughout the 2.25 development cycle. This release packs in features related to payment administration, coupon administration, and promotion configuration in addition to quality of life improvements in one of our main dependencies, State Machine.

New payment entry options

Until this release, store administrators wanting to enter a new payment for an order could only do so using stored payment methods previously created by the customer. Several years ago, Drupal Commerce contributor Brad Jones kicked off development of a major feature patch to add support for the creation of new payment methods in the order management interface. This is particularly helpful for customer service representatives placing orders for customers who do not have accounts or stored payment methods on their sites yet.

Read more

Centarro: Understanding the Drupal Commerce 2.x Address Book

Drupal Commerce 2.x includes address book functionality for both customers (from their account pages and checkout form) and administrators (from order edit pages). This article provides a quick summary of the address book architecture to help you understand how customer addresses are modeled / saved to your database and what you need to take into consideration when writing custom code / data migration processes for orders and customer profiles.

Commerce Core uses our Address module to add address fields to various entities, including stores and customer profiles. Address fields are not added directly to orders, payment methods, or shipments - the things for which we might typically expect an address to be selected from an address book. Those entities instead reference profiles with addresses that represent billing and shipping addresses.

As a result, a user’s address book is basically just a collection of profiles with the same uid as the user. These profiles are created in various ways:

Read more

Centarro: Introducing the Centarro Commerce 2.x multi-store, multi-domain demo

Who doesn’t love a good demo? 😄

Late last year we launched a new Commerce 2.x demo site using our Belgrade theme and Commerce Demo. Not only does it look great, but the new site also beautifully demonstrates Drupal Commerce's "out of the box" multi-store, multi-domain features using Domain and Commerce Store Domain.

Multi-domain support

Commerce 2.x supports multiple stores out of the box. This is useful if you wish to sell specific products to different countries, for example. Products are published per-domain, and the current store context is determined through a pluggable system that lets you determine when to use something other than the site's default store.

Our new demo site uses four stores, each tied to a different subdomain. The current store is checked when we enabled payment gateways on the checkout form, so the subdomains are prepared to demonstrate different integrations:

Read more

Centarro: Commerce Core 2.24 improves merchant experience, BOGO promotions, and more

Hey, fellow Drupalists! January has been such a busy month at Centarro that we haven't been able to blog about the exciting improvements we've made to Commerce Core since last year's 2.21 release. We've worked specifically to improve the merchant experience to make our clients' lives easier, and we hope the changes will excite you as well.

Order management improvements

Starting on the order view page, we've had multiple client projects where order state transitions should be approved only when an order is paid in full. It's easy enough to alter the transition form to make that a hard requirement, but as with most things eCommerce, it isn't always a requirement. Moving the state transition buttons to the top of the sidebar and placing the order balance right above them makes it easier for merchants to take the next step of processing an order that much faster:

Read more

Centarro: Centarro joins the virtual DrupalCamp Oslo 2020

Like many other events, DrupalCamp Oslo went virtual this year. In person events are still my favorite, but this did give me the chance to participate in the event for the first time! I joined in to provide an update on the state of the API-First work in the Drupal Commerce ecosystem.

We were excited to take part in the event, as we've often collaborated with the Norwegian Drupal team at Ny Media on Drupal Commerce contributions and on the occasional client project. One of our favorite outcomes was the Commerce Pricelist port to Drupal 8 developed as part of the Akademika.no case study.

We've been busy developing Centarro Commerce, our headless commerce SaaS, which means expanding the API-First capabilities of Drupal Commerce. For instance, we just added support for on-site payment gateways over our Commerce API. We also expanded our shipping integration with the ability to trigger shipment notifications in the latest Commerce Shipping release.

Image removed.

DrupalCamp Oslo was live-streamed on YouTube, so you can catch my talk about "API Driven Drupal Commerce" on the recording.

Read more

Centarro: Commerce Paypal release adds Credit Messaging integration

Have you noticed when you’re happily browsing your favorite online store that you can choose to spread payments over several monthly installments with PayPal? This is a feature of PayPal Credit, a revolving line of credit that gives customers the flexibility to buy now and pay over time.

Image removed.

PayPal Credit has been around for some time, but Credit Messaging is now available for merchants in the United States who wish to promote the availability of special financing offers throughout the entire shopping experience.

Commerce PayPal 8.x-1.0-beta11 now features the basics you need to integrate Credit Messaging into your store. There is eligibility involved, so please check you’re able to use this service.

What does it look like?

We have created a Drupal block you can use anywhere to display the Credit Messaging. It is also fully customizable; you can choose to have Lightweight Text Based Messages, or Flexible Display Banners:

Read more