Drupal Commerce has long integrated with Stripe through the Commerce Stripe project. Multiple members of our team have contributed to the integration over the years, including the Stripe Connect implementation on Drupal 7 and Card Element improvements for the Drupal 9/10 version. However, until recently, we never had significant time to focus on the integration.
That all changed this summer as multiple merchants hired Centarro to expand the module's capabilities. Each one benefited from the contributions funded by the others, while their own funding ensured the specific features they needed were incorporated into the whole. Most of this work centers around a Payment Element integration, which is now available as of yesterday's 8.x-1.1 release. 🥳
The Payment Element (pictured above and included in our demo store) is a single iframe embedded into the Drupal Commerce checkout form that supports a wide variety of payment methods and strong customer authentication (i.e., 3D Secure). The payment method options shown to customers depend on your Stripe account configuration, their order details, and their browsing session. (For example, Apple Pay only appears for mobile Safari users who have active cards in their Apple Wallets.)
One of our customers is a jeweler whose analytics show a majority of all traffic to their website originates on mobile devices. Furthermore, their customers often purchase on their phones even if they desire to go to a retail location to pick up their merchandise. As such, increasing mobile conversions through Apple Pay and Google Pay support was a high priority for them.
We originally evaluated a direct integration with Apple's own Apple Pay JS API, as integrations mediated through payment gateway APIs are often encumbered by special requirements. However, upon further research, it turned out Stripe's Payment Element was quite elegant and capable on its own, with our integration creating payment methods and payments in Drupal Commerce that can be managed exactly the same as direct credit card payments.
As of this release, you can use the Payment Element for credit card, debit card, and Apple Pay / Google Pay payments, and our ongoing work will see us add support for additional APIs and payment methods. The module's README file provides full installation and configuration documentation, and Centarro remains available for hire to help any merchant plan or implement their Stripe integration.
The new integration is only available for Drupal 9/10. If you're not yet on the latest version and want this functionality, we offer a full suite of services to help merchants like you upgrade to the latest Drupal Commerce. We're happy to help!