Tutorial ensinando a como restringir a utilização de métodos de pagamento por grupo de cliente no Magento 1.
Você pode fazer isso criando um Observer no evento payment_method_is_active.
Observação: Este tutorial é apenas para programadores. Existem soluções pagas e gratuitas disponíveis no Google, faça uma pesquisa por “Payments by customer groups Magento 1”.
Partindo do principio que você é um desenvolvedor Magento, vamos ao código..
public function filterpaymentmethod(Varien_Event_Observer $observer) { $yourcustomergroupid = 1; /* call get payment method */ $method = $observer->getEvent()->getMethodInstance(); if(Mage::getSingleton('customer/session')->isLoggedIn()) { $roleId = Mage::getSingleton('customer/session')->getCustomerGroupId(); $role = Mage::getSingleton('customer/group')->load($roleId)->getData('customer_group_code'); if($method->getCode()=='purchaseorder'){ $quote = $observer->getEvent()->getQuote(); if($role == $yourcustomergroupid){ $result = $observer->getEvent()->getResult(); $result->isAvailable = true; return; }else{ $result = $observer->getEvent()->getResult(); $result->isAvailable = false; } } if($method->getCode()=='checkmo'){ $quote = $observer->getEvent()->getQuote(); if($role == $yourcustomergroupid){ $result = $observer->getEvent()->getResult(); $result->isAvailable = true; return; }else{ $result = $observer->getEvent()->getResult(); $result->isAvailable = false; } } } }
Logo de inicio do código temos a variável $yourcustomergroupid = 1; aonde definimos o id do grupo.
E nas condições if($method->getCode()=='purchaseorder'){ e if($method->getCode()=='checkmo'){ definimos se os respectivos métodos de pagamento estarão ativos ou não para o grupo de cliente de ID 1.
Para complementar o Post, segue o exemplo de arquivo config.xml que será necessário.
<?xml version="1.0" ?> <config> <modules> <Bh_ZeroSubtotalpaymentmethod> <version>1.0.1</version> </Bh_ZeroSubtotalpaymentmethod> </modules> <frontend> <events> <payment_method_is_active> <observers> <paymentfilter_payment_method_is_active> <type>singleton</type> <class>zerosubtotalpaymentmethod/observer</class> <method>filterpaymentmethod</method> </paymentfilter_payment_method_is_active> </observers> </payment_method_is_active> </events> </frontend> </config>
Declaração do Observer:
<payment_method_is_active> <observers> <paymentfilter_payment_method_is_active> <type>singleton</type> <class>zerosubtotalpaymentmethod/observer</class> <method>filterpaymentmethod</method> </paymentfilter_payment_method_is_active> </observers> </payment_method_is_active>
Este tutorial é para o Magento 1.
Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…
Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…
Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…
Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…
Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…
Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…