<?php namespace BobGroup\BobGo\Observer; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Message\ManagerInterface; use Psr\Log\LoggerInterface; use BobGroup\BobGo\Model\Carrier\BobGo; class ConfigChangeObserver implements ObserverInterface { protected $bobGo; protected $logger; protected $messageManager; public function __construct( BobGo $bobGo, LoggerInterface $logger, ManagerInterface $messageManager ) { $this->bobGo = $bobGo; $this->logger = $logger; $this->messageManager = $messageManager; } public function execute(Observer $observer) { $changedPaths = $observer->getEvent()->getData('changed_paths'); if (is_array($changedPaths) && in_array('carriers/bobgo/active', $changedPaths)) { if ($this->bobGo->isActive()) { $result = $this->bobGo->triggerRatesTest(); if ($result !== false) { $this->messageManager->addSuccessMessage(__('Bob Go rates at checkout test is successful.')); } else { $this->messageManager->addErrorMessage(__('Bob Go rates at checkout test failed. Please visit https://www.bobgo.co.za/ and enable this channel for rates at checkout.')); } } } } }