If you are developing any payment related extension in Magento2 and you want to get the active Payment methods list with the multi selection option in Magento configuration,
use \Magento\Framework\App\Config\ScopeConfigInterface; use \Magento\Payment\Model\Config; class Paymethods implements \Magento\Framework\Option\ArrayInterface { protected $_appConfigScopeConfigInterface; protected $_paymentModelConfig; public function __construct( ScopeConfigInterface $appConfigScopeConfigInterface, Config $paymentModelConfig) { $this->_appConfigScopeConfigInterface = $appConfigScopeConfigInterface; $this->_paymentModelConfig = $paymentModelConfig; } public function toOptionArray() { $payments = $this->_paymentModelConfig->getActiveMethods(); $methods = array(); foreach ($payments as $paymentCode=>$paymentModel) { $paymentTitle = $this->_appConfigScopeConfigInterface->getValue('payment/'.$paymentCode.'/title'); $methods[$paymentCode] = array( 'label' => $paymentTitle, 'value' => $paymentCode ); } return $methods; } }
Do let us know if you face any trouble or suggestions. We will always be happy to assist you.