logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Minimum order amount in Drupal Commerce, invoicing from the cart

22/02/2025, by Anonymous (not verified)
Forums

Good evening, everyone!

Quote from the brief filled out by the Client for the website development:
"
1. If a person selects a product totaling less than 500 rubles, a window should pop up stating that 500 rubles is the minimum order amount. Alternatively, the form should not allow them to fill in their contact details. This phrase should be highlighted in red.
2. If a person is contacting us for the first time and their order total is less than 3000 rubles, they must prepay for shipping according to the Russian Post tariff of 300 rubles.
An invoice should automatically be sent to the client's email from the cart + the delivery cost within Russia of 300 rubles."

I want to implement this on Drupal Commerce. Previously, I have only created a catalog with a cart and standard checkout on it. In this regard, I have a question:
1. As I understand it, this type of checkout needs to be implemented through hooks by myself? That is, through http://api.drupalcommerce.org/api/Drupal%20Commerce/sites%21all%21module...
This cannot be done through Rules, right?
2. Accordingly, as I understand it, the entire checkout process is done by creating panels through hooks, and at the necessary step, it checks the condition that the current user has no Orders in the store, and a link for generating the invoice is created there as well?

My main question is how to best implement such a checkout in Drupal Commerce? Thank you in advance.