I activated several Payment Method and those are getting displayed on the checkout page. But regardless which option I select Magento always returns:

The requested Payment Method is not available.

The problem only occurs if I use a registered user. Guest works fine.

Any ideas?


Try the following (ordered by the effort it would take, if one step does not help you, take the next one)

  1. Check the allowed countries that you can configure for each payment method in the admin backend.
  2. Check the error logs (system.log, exception.log after enabling them)
  3. Debug into the \Mage_Payment_Model_Method_Abstract::isAvailable() method to see what is going on.
  • 1. payment is allowed for each country 2. Log is empty 3. $isActive is false with getConfigData() Feb 18 '13 at 14:13
  • What is subtotal of your cart?
    – Sergey
    Feb 18 '13 at 14:26
  • @Sergy Subtotal is €22.80 Feb 18 '13 at 14:41
  • Did you use any cart rules, reward bonuses that can reduce totals amount ot 0.00?
    – Sergey
    Feb 18 '13 at 14:45
  • @Sergy I have no cart or product rules Feb 18 '13 at 14:53

There are two places, where this exception is thrown:




I would say the exception comes from the second part. If I understand it correctly, the first part is a real error, the second is a failed test.

as @Alex said, check \Mage_Payment_Model_Method_Abstract::isAvailable(), there is another "problem" which may be happen: Recurring profiles. Do you try to buy a subscription? Then maybe the method can not be used for this.

Do you have xdebug? It is a great tool for such problems, just hook into the isAvailable() methods and check where the return value is set to false.

  • It is set to false at the start of isAvailable(): $isActive = (bool)(int)$this->getConfigData('active', $quote ? $quote->getStoreId() : null); Feb 19 '13 at 7:01
  • then go to the backend, System > Config > Payment Methods and change the dropdown in the upper left wether you are on store view level. Then check the configuration. Maybe you changed it on default level, but it is somewhere overwritten. Feb 19 '13 at 9:12

In Magento 2.3 I am also getting same error. I was missing to configure methodCode in di.xml.

I added method code like below in di.xml and my issue resolved.

<type name="Magento\Braintree\Gateway\Config\Config">
            <argument name="methodCode" xsi:type="const">Magento\Braintree\Model\Ui\ConfigProvider::CODE</argument>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.