List all active payment methods list magento2

Today we are discussing how to get list of all payment methods which are active in Magento2.

To get this you can use following code:


namespace Webkul\Test\Model;

use \Magento\Framework\App\Config\ScopeConfigInterface;
use \Magento\Payment\Model\Config;

class Paymentmethod extends \Magento\Framework\DataObject 
    implements \Magento\Framework\Option\ArrayInterface
     * @var ScopeConfigInterface
    protected $_appConfigScopeConfigInterface;
     * @var Config
    protected $_paymentModelConfig;
     * @param ScopeConfigInterface $appConfigScopeConfigInterface
     * @param Config               $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
            $methods[$paymentCode] = array(
                'label' => $paymentTitle,
                'value' => $paymentCode
        return $methods;


$_appConfigScopeConfigInterface is an object of Magento\Framework\App\Config\ScopeConfigInterface class.

$_paymentModelConfig is an object of Magento\Payment\Model\Config class.

and in toOptionArray() function we use a method: getActiveMethods() which returns model of all the active methods.

In return array we have all payment methods with their code and title.


Hope it will help you. Thank you.

. . .


Add Your Comment

Be the first to comment.

Hire Us!
Brief us about your requirements and we'll get back to you.
Woo! Hooy!
We have just recieved your project brief and our expert will contact you shortly.
Send Again