Why do I get «Validator pool is not configured for use»?

Why I get this CRITICAL Exception in Magento?

[2017-06-21 10:09:42] main.CRITICAL: DomainException: Validator pool is not configured for use. in  app/code/Magento/Payment/Model/Method/Adapter.php:141
Stack trace:
#0  app/code/Magento/Payment/Model/Method/Adapter.php(398): Magento\Payment\Model\Method\Adapter->getValidatorPool()
#1  app/code/Magento/Quote/Model/Quote/Payment.php(197): Magento\Payment\Model\Method\Adapter->validate()
#2  app/code/Magento/Quote/Model/PaymentMethodManagement.php(64): Magento\Quote\Model\Quote\Payment->importData(Object(Magento\Framework\DataObject))
#3  app/code/Magento/Checkout/Model/PaymentInformationManagement.php(122): Magento\Quote\Model\PaymentMethodManagement->set(71, Object(Magento\Quote\Model\Quote\Payment))
#4  lib/internal/Magento/Framework/Interception/Interceptor.php(58): Magento\Checkout\Model\PaymentInformationManagement->savePaymentInformation(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#5  lib/internal/Magento/Framework/Interception/Interceptor.php(138): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callParent('savePaymentInfo...', Array)
#6  lib/internal/Magento/Framework/Interception/Interceptor.php(153): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->Magento\Framework\Interception\{closure}(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#7  generated/code/Magento/Checkout/Model/PaymentInformationManagement/Interceptor.php(39): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callPlugins('savePaymentInfo...', Array, Array)
#8  app/code/Magento/Checkout/Model/PaymentInformationManagement.php(81): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->savePaymentInformation(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#9  lib/internal/Magento/Framework/Interception/Interceptor.php(58): Magento\Checkout\Model\PaymentInformationManagement->savePaymentInformationAndPlaceOrder(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#10  lib/internal/Magento/Framework/Interception/Interceptor.php(138): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callParent('savePaymentInfo...', Array)
#11  lib/internal/Magento/Framework/Interception/Interceptor.php(153): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->Magento\Framework\Interception\{closure}(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#12  generated/code/Magento/Checkout/Model/PaymentInformationManagement/Interceptor.php(26): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callPlugins('savePaymentInfo...', Array, Array)
#13 [internal function]: Magento\Checkout\Model\PaymentInformationManagement\Interceptor->savePaymentInformationAndPlaceOrder(71, Object(Magento\Quote\Model\Quote\Payment), Object(Magento\Quote\Model\Quote\Address))
#14  app/code/Magento/Webapi/Controller/Rest.php(310): call_user_func_array(Array, Array)
#15  app/code/Magento/Webapi/Controller/Rest.php(219): Magento\Webapi\Controller\Rest->processApiRequest()
#16  lib/internal/Magento/Framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#17  lib/internal/Magento/Framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent('dispatch', Array)
#18  lib/internal/Magento/Framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#19  generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(39): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins('dispatch', Array, Array)
#20  lib/internal/Magento/Framework/App/Http.php(135): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#21  lib/internal/Magento/Framework/App/Bootstrap.php(256): Magento\Framework\App\Http->launch()
#22  index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#23 {main} [] []

See how the built-in Braintree payment module defines its validator pool, and do the same:

1 Like