Magento Forum

Page 1 of 2
Payment method is not available message when taking orders in magento
 
daddyg
Sr. Member
 
Total Posts:  77
Joined:  2008-12-10
 

Hi

If i try to take a customers order through the magento admin area, I get a message at the top of the page in red saying:

Payment method is not available

when I try to submit the order.

We recently upgraded to v1.3.2.3 from v1.3.2.1 and the only other change is to remove 3D secure from our sage pay settings (our site uses sage pay to handle payments).

I’d really appreciate it if anyone can help with this message.  We’re stuck.

Thanks

Graham

 
Magento Community Magento Community
Magento Community
Magento Community
 
eazypeazy
Jr. Member
 
Total Posts:  14
Joined:  2009-04-09
 

Hi

I have exactly the same problem. I have raised it as a bug, http://www.magentocommerce.com/bug-tracking/issue?issue=6882

They have suggested I try Magento without 3rd party extensions on.

I am using the following extensions, what about you?

Mage_Autoquote v 0.9.8
Phoenix_Worldpay v 1.0
Tiny_Adminhtml v 0.1.2
Yoast_MetaRobots v 0.1.4

I am going to be looking into this today. If I get any where I shall post back.

Cheers

 
Magento Community Magento Community
Magento Community
Magento Community
 
daddyg
Sr. Member
 
Total Posts:  77
Joined:  2008-12-10
 

Hi Eazypeazy

Thanks, my guess this is a bug in magento v1.3.2.3, we’re using a bunch of extensions but none of the ones you describe afaik.  We use sage pay form extension
http://www.magentocommerce.com/extension/packages/module/143/protx-extension

but as you see the problem with a different payment processor, it looks like the bug is in magento.  I’ve posted on the bug thread too...thanks.

Graham

 
Magento Community Magento Community
Magento Community
Magento Community
 
eazypeazy
Jr. Member
 
Total Posts:  14
Joined:  2009-04-09
 

Hi Graham

Thanks for your reply. I have had no joy with this issue today. But just to point I am running version 1.3.2.2

Cheers
Ian

 
Magento Community Magento Community
Magento Community
Magento Community
 
Freddy Bang
Member
 
Total Posts:  52
Joined:  2009-02-04
 

We have the same problem after upgrading from 1.3.1 to 1.3.2.1 today we moved to 1.3.2.3 still the same problem when we edit an exiting order with configurable products and/or create new ordres.

The description is 100% correct the Method changes from Not required to “No Payment Methods” and the error message is thrown when trying to submit the order.

It it’s of any value we use the ePay http://www.magentocommerce.com/extension/157/epay/.

It’s really urgent since we can’t change orders at the moment and the creditnote approach is really clunky..

Anyone found a solutoin/work-around?

Thanks
Freddy

 
Magento Community Magento Community
Magento Community
Magento Community
 
eazypeazy
Jr. Member
 
Total Posts:  14
Joined:  2009-04-09
 

If I enable payment methods that were previously disabled, e.g. Purchase Order, Check / Money Order, Credit Card then these appear under the ‘Payment Method’ area when creating an order. For some reason though it is not showing Pay Pal as on option even though this too is enabled. I have attached the contents of $method array incase it helps shed any light on this issue.

Array
(
[0] => Mage_Payment_Model_Method_Purchaseorder Object
(
[_code:protected] => purchaseorder
[_formBlockType
:protected] => payment/form_purchaseorder
[_infoBlockType
:protected] => payment/info_purchaseorder
[_isGateway
:protected] => 
[_canAuthorize:protected] => 
[_canCapture:protected] => 
[_canCapturePartial:protected] => 
[_canRefund:protected] => 
[_canRefundInvoicePartial:protected] => 
[_canVoid:protected] => 
[_canUseInternal:protected] => 1
[_canUseCheckout
:protected] => 1
[_canUseForMultishipping
:protected] => 1
[_isInitializeNeeded
:protected] => 
[_data:protected] => Array
(
[sort_order] => 0
[store] 
=> 1
)

[_origData:protected] => 
[_idFieldName:protected] => 
[_isDeleted:protected] => 
)

[1] => Mage_Payment_Model_Method_Checkmo Object
(
[_code:protected] => checkmo
[_formBlockType
:protected] => payment/form_checkmo
[_infoBlockType
:protected] => payment/info_checkmo
[_isGateway
:protected] => 
[_canAuthorize:protected] => 
[_canCapture:protected] => 
[_canCapturePartial:protected] => 
[_canRefund:protected] => 
[_canRefundInvoicePartial:protected] => 
[_canVoid:protected] => 
[_canUseInternal:protected] => 1
[_canUseCheckout
:protected] => 1
[_canUseForMultishipping
:protected] => 1
[_isInitializeNeeded
:protected] => 
[_data:protected] => Array
(
[sort_order] => 0
[store] 
=> 1
)

[_origData:protected] => 
[_idFieldName:protected] => 
[_isDeleted:protected] => 
)

[2] => Mage_Payment_Model_Method_Ccsave Object
(
[_code:protected] => ccsave
[_canSaveCc
:protected] => 1
[_formBlockType
:protected] => payment/form_ccsave
[_infoBlockType
:protected] => payment/info_ccsave
[_isGateway
:protected] => 
[_canAuthorize:protected] => 
[_canCapture:protected] => 
[_canCapturePartial:protected] => 
[_canRefund:protected] => 
[_canRefundInvoicePartial:protected] => 
[_canVoid:protected] => 
[_canUseInternal:protected] => 1
[_canUseCheckout
:protected] => 1
[_canUseForMultishipping
:protected] => 1
[_isInitializeNeeded
:protected] => 
[_data:protected] => Array
(
[sort_order] => 0
[store] 
=> 1
)

[_origData:protected] => 
[_idFieldName:protected] => 
[_isDeleted:protected] => 
)

[3] => Mage_Paypal_Model_Standard Object
(
[_code:protected] => paypal_standard
[_formBlockType
:protected] => paypal/standard_form
[_allowCurrencyCode
:protected] => Array
(
[0] => AUD
[1] 
=> CAD
[2] 
=> CZK
[3] 
=> DKK
[4] 
=> EUR
[5] 
=> HKD
[6] 
=> HUF
[7] 
=> ILS
[8] 
=> JPY
[9] 
=> MXN
[10] 
=> NOK
[11] 
=> NZD
[12] 
=> PLN
[13] 
=> GBP
[14] 
=> SGD
[15] 
=> SEK
[16] 
=> CHF
[17] 
=> USD
)

[_debugReplacePrivateDataKeys:protected] => Array
(
[0] => business
)

[_infoBlockType:protected] => payment/info
[_isGateway
:protected] => 
[_canAuthorize:protected] => 
[_canCapture:protected] => 
[_canCapturePartial:protected] => 
[_canRefund:protected] => 
[_canRefundInvoicePartial:protected] => 
[_canVoid:protected] => 
[_canUseInternal:protected] => 1
[_canUseCheckout
:protected] => 1
[_canUseForMultishipping
:protected] => 1
[_isInitializeNeeded
:protected] => 
[_data:protected] => Array
(
[sort_order] => 100
[store] 
=> 1
)

[_origData:protected] => 
[_idFieldName:protected] => 
[_isDeleted:protected] => 
)

)

Regards
Ian

 
Magento Community Magento Community
Magento Community
Magento Community
 
Freddy Bang
Member
 
Total Posts:  52
Joined:  2009-02-04
 

There is definitely a change in the Magento code logic between v1.3.1 and v1.3.2.

In v1.3.1 I can easily Edit and exiting order payed with the configured payment gateway and/or create new orders using the Admin interface. In both our Magento test shops we only have a payement gateway enabled like Pay Pal or in our case ePay and also the ‘Nul subtotal checkout’ payment method which I thought was required/used when creating orders manually. In v1.3.1 the payment information from the original order is actually preserved on the edited version ending with [orginal order number]-1 in the order number.

We don’t have Purchase Order and/or Check / Money order enabled. In v1.3.2 we need one of those enabled to be able to get around this issue, but this also means it’s selectable from the front store, which is NOT acceptable/supported when you want to be e-shop certified in Denmark.

VARIEN: If you can’t reproduce the problem sent me a PM with a link to a v1.3.2.x demo shop and I’ll be happy to configure and reproduce the problem in a screen sharing session.

Thanks
Freddy

 
Magento Community Magento Community
Magento Community
Magento Community
 
eazypeazy
Jr. Member
 
Total Posts:  14
Joined:  2009-04-09
 

Hi

I have been hacking around over the last few days to create a fix for our situation. It’s not been 100% tested but has not caused any problems thus far.

It basically involves 2 simple changes to 2 files. As well as uploading the template files from the /frontend/ for your payment processor to /adminhtml/.

My payment processors are PayPal Standard and Worldpay (I guess this hack can be applied for other payment processors too)

The 2 files that need changing…

1. app/code/core/Mage/Payment/Block/Form/Container.php

public function getMethods()
    
{
        $methods 
$this->getData('methods');
        if (
is_null($methods)) 
        
{
            $store 
$this->getQuote() ? $this->getQuote()->getStoreId() : null;
            
$methods $this->helper('payment')->getStoreMethods($store$this->getQuote());
                       
            foreach (
$methods as $key => $method
            
{          
                
if ($this->_canUseMethod($method))  
                
{
                    $this
->_assignMethod($method);
                
}
                
                
// HACK
                // commented this out to force Paypal and Worldpay to show when create order in admin
                /* else  {
                   unset($methods[$key]);
                }
                */

            
}
           
            $this
->setData('methods'$methods);
        
}
                
       
return $methods;
    
}

2. app/code/core/Mage/Paypal/Model/Standard.php

/*validate the currency code is avaialable to use for paypal or not*/
    public function validate()
    
{
        parent
::validate();
        
        
// HACK...
        // commented out line below and set $currency_code = "GBP", to fix error currency not supported by PayPal
        // we only use GBP so this should not cause a problem
        // $currency_code = $this->getQuote()->getBaseCurrencyCode();
        
$currency_code "GBP";
                
        if (!
in_array($currency_code,$this->_allowCurrencyCode)) {
            Mage
::throwException(Mage::helper('paypal')->__('Selected currency code ('.$currency_code.') is not compatible with PayPal'));
        
}
        
return $this;
    
}

The files that I needed to copy from /frontend/ to /adminhtml/

1. app/design/adminhtml/default/default/template/paypal/standard/form.phtml
2. app/design/adminhtml/default/default/template/worldpay/failure.phtml
3. app/design/adminhtml/default/default/template/worldpay/form.phtml

If you choose to follow these notes you do so at your own risk. Maybe somebody else in these forums that know far more than me could comment or improve it!

Regards
Ian

 
Magento Community Magento Community
Magento Community
Magento Community
 
Freddy Bang
Member
 
Total Posts:  52
Joined:  2009-02-04
 

Great,

I implemented the change to the Container.php and copied the form.phtml from our payment supplier epay and it seems to solve the problem at least by first look in our test shop.

If I don’t experience and problems during test today we’ll deploy in production tonight and use this temporary hack until it’s fixed in the next Magento.

Thanks for your effort..

 
Magento Community Magento Community
Magento Community
Magento Community
 
strobolus
Jr. Member
 
Total Posts:  14
Joined:  2008-10-03
 

Hi

thank you eazypeazy for providing the solution

however I am experiencing problems

I followed everything to the letter and I do get the paypal option to show up when I create order from admin
the problem is as follows:

When I generate an order from the admin the customer receives a notification email but it arrives blank despite the fact that the correct email template is selected.
Furthermore if the customer logs into his account no orders are shown.

the order is in the admin but the customer has no way to access it
I am running magento 1.3.2.3

any help is greatly appreciated
Thank you very much

 
Magento Community Magento Community
Magento Community
Magento Community
 
moomoo
Sr. Member
 
Avatar
Total Posts:  192
Joined:  2009-07-10
 

thanks eazypeazy, that really helped.

i did remove your set currency code to GBP as we have a couple currencies, and commented out the error-check instead:

/*
     if (!in_array($currency_code,$this->_allowCurrencyCode)) {
       Mage::throwException(Mage::helper('paypal')->__('Selected currency code ('.$currency_code.') is not compatible with PayPal'));
      }  
        */
 
Magento Community Magento Community
Magento Community
Magento Community
 
hindleydp
Sr. Member
 
Total Posts:  98
Joined:  2008-11-14
 

Hi,

I cannot find the currency code in the app/code/core/Mage/Paypal/Model/Standard.php?  Am using 1.4.0.1, and have changed the file in Container.php, but all this gave was a blank screen when clicking through on the ‘Create Order’ link? Any help greatly appreciated.

 
Magento Community Magento Community
Magento Community
Magento Community
 
chris8080
Sr. Member
 
Total Posts:  163
Joined:  2011-02-16
 

Same problem here with the new version of Magento, this hack doesn’t work anymore.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Joel87
Member
 
Total Posts:  54
Joined:  2011-04-26
 

Having the same problem with 1.5. Any update on this issue would be great.

 
Magento Community Magento Community
Magento Community
Magento Community
 
jonaspas
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2009-12-19
 

Hi there,

I had the same problem today (Magento 1.5.1.0). In my case the problem was a javascript-file named opcheckout.js in the js-folder of my custom theme. I renamed it and now everything works fine - I guess this file is supposed to be in the base-folder? Don\’t know how it got into my custom folder?

Jonas

 
Magento Community Magento Community
Magento Community
Magento Community
 
jonaspas
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2009-12-19
 

Hi there,

I had the same problem today (Magento 1.5.1.0). In my case the problem was a javascript-file named opcheckout.js in the js-folder of my custom theme. I renamed it and now everything works fine - I guess this file is supposed to be in the base-folder? Don\\\’t know how it got into my custom folder?

Jonas

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 2