Для интернет-магазина вопрос с оплатой товаров стоит одним из первых и важных. Почти каждый продавец хочет удовлетворить покупателя, поэтому делает обилие методов оплаты, чтобы у покупателя был выбор. Но порой, вопрос о способах оплаты может стоять по другой причине. Представим себе, что интернет-магазин продает товары, которые есть у продавца в наличие, плюс торгуют какими-то вещами, которые им (магазину) придется заказывать. В этом случае продавец может решить, что товары, которые ему еще придется заказывать он будет продавать только по предоплате, товары же, которые в наличие можно покупать наложенным платежом.

К счастью, гибкая система Drupal Commerce предоставляет организовать возможность выбора способа оплаты в зависимости от того, какой товар выбрал покупатель, для этого используется все мощь и гибкость сопутствующего модуля Rules. Хотя, конечно для выполнения данной задачи есть разные пути решения, но я опишу, как мне кажется, один из правильных и простых. Итак, приступим.

1. Заходим в настройки способов оплаты (Магазин > Конфигурация > Способы оплаты — admin/commerce/config/payment-methods), создаем новый способ или выбираем существующий и нажимаем ссылку «Изменить».

2. Все что нам нужно будет сделать, это добавить «Условие». В качестве условия может быть что угодно. Думаю, многим подойдет условие «Сущность имеет поле». А может вам легче добавить условие по типу материала. В общем, все в ваших руках.

Для сложных условий проверки, придется постараться. Но не бойтесь экспериментировать с правилами и у вас все получится.