Magento: How to make Payment Methods for Admin Orders only

  • Want a fresh pair of eyes?

    A lot of times we find an outside perspective can work wonders. If you'd like to send us your information, we have no problems listening and offering our thoughts.

Like Us On Facebook:  

Update: I just put the code into this github repo for easier access

Download the Zip File Below (or get it from github) and you will be on your way to allowing payment methods for Admin Orders.
This module will add a drop down box to payment methods that will allow you to enable it for admin orders. If the payment method you use does not have this drop down you will need to edit the modules /etc/system.xml file and add in a node that corresponds to your payment method.

Here is an example of adding a new payment method to the module. I edit the file /app/code/community/Sharpdot/SharpAdminOnlyPayment/etc/system.xml

<!-- This is the original code for a bankpayment. I just need to duplicate this and adjust the code to reflect a new payment method. -->
<banktransfer translate="label">
                    <label>Bank Transfer Payment</label>

<!-- This is the adjusted code for a new payment method. This is a made up payment method, with the code "sharppayment". You would just need to substitute your payment methods code. -->
		<admin_active translate="label">
			<label>Admin Override Enabled</label>

Download Module

Note: I am working on updating this module to automatically recognize all payment methods, so that editing the system.xml file will not be required in the future.


Michal » 13 Jan 2011 » Reply

Hi, can You tell me when the extension will be ready to publish, because this is exactly what I’m looking for? πŸ™‚

Mike D » 13 Jan 2011 » Reply

Hey Michael,

I am actually re-factoring the extension to be a little more user friendly. I would assume that The re-factoring will be done with in a week, and then it normally takes Magento about a week to approve new extensions. If you would like i can send you a zip file of the current working code that you can implement.

Phil » 14 Jan 2011 » Reply

Hi Mike.

great to hear someone’s putting this functionality together.
This is something i need pretty urgently too.
Is there any chance you could send me the zip of the current code?


Mike D » 28 Jan 2011 » Reply

I have added a link to the modules zip file. Just download and unpack the file into your Magento installation.

Randy » 11 Feb 2011 » Reply


I like the functionality, but when I installed on Magento the drop down showed up in the admin, but no matter how I configure it the options show up in the admin and the front website.

Let me know if you have any ideas.

Mike D » 12 Feb 2011 » Reply

Which payment method?

You need to have the payment methods origional Enable field set to “No” or “disabled” then set the admin only field to “Yes”

Theodore » 2 May 2011 » Reply

DOes this work on Magento 1.5?

Theodore » 2 May 2011 » Reply

Nevermind, got it working.

Kai Toender » 13 May 2011 » Reply

Do you got a module like this for shipment methods too?

Mike » 29 May 2011 » Reply


Just tried to install this on Magento 1.5 but now when I go to create a new order through admin I get the following error:

Mage registry key “_singleton/sharpadminonlypayment/observer” already exists

Do you know how I can fix this to get it working?


Mike » 29 May 2011 » Reply

Got it working. Updated to latest version (


Mike D » 29 May 2011 » Reply

Oh, Good.
That seemed like an odd error for an observer.

Just a side note: if you were using magento version there was a major security bug. With that release so make sire that you did not have any lingering old files.

Ariyl » 6 Jul 2011 » Reply

Hi, this is the third module I’ve tried and I can’t get the options to show in Admin. I don’t even see this module’s config. Any ideas. Thanks

    Mike D » 6 Jul 2011 » Reply

    Here are a few things to try and a few questions for you.

    1. What Magento Version are you using?
    2. What PHP version are you using?

    1. Disable Cache
    2. Disable Compliation (if enabled)
    3. clear all sessions in /var/sessions
    4. clear all cache in /var/cache

Jerry – Corporate Pages » 2 Aug 2011 » Reply

Thanks Mike πŸ™‚

You saved us some work

hp7 » 19 Aug 2011 » Reply

There is something wrong with the way this sets the status or adds it to the data base because when my export the orders all orders can be exported except order with this payment medthod. I’m using export mod is using magento core call so this should be exported any ideas?

    Mike D » 19 Aug 2011 » Reply

    This does not affect how the payment methods work internally, it only limits which ones are displayed to users on the front-end. So I believe that any issues you are experiencing are due to something else.

    1. Which Payment method are you referring to?
    2. Have you tried disabling the module then make a purchase with the payment method in question and then export the orders?

Mike D » 19 Aug 2011 » Reply

WHen you say orders cant be exported, what do you mean?
You do not see them in the list to export? They are in the list to export but dont end up in the export file? Is an error thrown?

hp7 » 19 Aug 2011 » Reply

I have an order export setup that allows me to export all orders via xml. anyway I used this method to get check / money order to work only in admin.

Go to: app/code/core/Mage/Payment/Model/Method/Checkmo.php
Create a local copy – so we will be editing: app/code/local/Mage/Payment/Model/Method/Checkmo.php
Look for the following line of code – it’ll be at about line 31 (as of and

protected $_code = 'checkmo';

Then, simply add in the following beneath it:

/* Enable in Admin only */
protected $_canUseCheckout = false;
protected $_canUseForMultishipping = false;
/* end edit*/

hp7 » 19 Aug 2011 » Reply

Now seems to work

Mike D » 19 Aug 2011 » Reply

Glad you got it working.

If you were using this module, why did you need to edit the payment methods model?

hp7 » 19 Aug 2011 » Reply

Sorry I had to remove your module. I could not figure it out. Something seems to be different in 1.5.1 and your module is not writing something or writing it in the old location. When I use the default Magento Check / money order payment method making it visible to the admin and the front end, my order export profile would work. You should compare DB’s of your module and default Check / money order payment method. Maybe it would give a clue to what is going on. I just did not have time. I have used your module in 1.4.x worked like a charm

sjolzy » 9 Sep 2011 » Reply

Hi Mike D,

Thanks your great module πŸ˜€

There is a problem about automatically paypal and moneybookers. Any ideas? Thanks again.

Mike D » 9 Sep 2011 » Reply

@sjolzy: I am not sure what you are asking.

Lakshyami » 26 Sep 2011 » Reply

Hi Mike,

I was downloaded module. How can I see it on backend? I’m using magento version, actually I want a solution to payments when order edit on backend. Can I use this extension for order editing payment methods?

Thanks in advance,

    Mike D » 26 Sep 2011 » Reply

    This only adjusts what payment methods are available to customers/admin when placing an order. This has nothing to do with editing orders.

eduardo » 30 Oct 2011 » Reply


I just add:
protected $_canUseInternal = true;

in the model i am using as a method payment and shows at the admin order.

but probably i have to add some functionality to get the credit card.

any ideas?

Mike D » 31 Oct 2011 » Reply

@Eduardo: Is this one of the supported Payment Methods? If not you will need to edit the system.xml file in this module and add the payment method so that you can set the config setting to use it for admin only.

eduardo » 31 Oct 2011 » Reply

Hi Mike,

Thanks for answer my question, I made the Payment Method that redirec to to a german bank and get a response of the transaction.

I need to have the module in the front end and also in the admin but i thoght that mabye your module give me some tips how to make the module work in the admin.

The thing is that my customer want to sell over the phone and ask the credit card details to the buyers.

As i say adding “protected $_canUseInternal = true;” make show my module in the admin but when i save the order i dont get any of the functionality to conect to the bank so looks like is not the same as finish an order in the checkout.

Again thanks a lot for your replay some times this magento world it is very chalenged.

Best Regards,


PHILKIP » 19 Dec 2011 » Reply

Hi, I cant seem to get this working in 1.6, non of the default payment systems give the drop down?

Could you give me an example for this please perhaps this will help… “If the payment method you use does not have this drop down you will need to edit the modules /etc/system.xml file and add in a node that corresponds to your payment method.”

Mike D » 19 Dec 2011 » Reply

@PHILKIP: This module adds a drop down for the payment methods(Only some of the default payment methods). To add this to other payment methods you need to edit

Please see the end of the post. I have updated it.

PHILKIP » 20 Dec 2011 » Reply

Mike I owe you a pint!

Got it working

If anyone is looking to add another default payment to this module the references to them such can be found at
“appcodecoreMagePaymentetcadminhtml.xml” (V1.6).

I added Saved CC that was tag rather than

One small problem, I can live with out though is that when Compilation is enabled I get an error…
“a:5:{i:0;s:76:”Mage registry key “_singleton/sharpadminonlypayment/observer” already exists”;i:1;s:3638:”#0 /home/xxMYWEBSITExx/public_html/app/Mage.php(192): Mage::throwException(‘Mage registry k…’)”

Also if anyone installs this module, be sure to clear out both the cache and sessions manually (and of course switch off the Compilation) as my install of (v1.6.1 Community) would work until this was done.

Ben Neale » 9 Jan 2012 » Reply


Thanks for this. I needed a solution for customers to pay by cheque or by BACS over the phone, but I didn’t want it available on the front end of our website. Your module does the trick. Many thanks.


Rick » 17 Apr 2012 » Reply

Hi Mike,

I’m trying (1.6.2) to make some payment methods visible in the backend which are not listed under the config ‘payment’ section (like checkmo) but under another section provided by my payment service provider (let’s call it the ‘gateway’ section). Can you give me a clue how to make this work?

I edited system.xml and added the payment methods and this adds a ‘Admin Override Enabled’ to the payment methods. However, the payment method still does not show up in the backend (that is when I create a new order).

Thanks, Rick

Rick » 17 Apr 2012 » Reply

Mmmmh .. looks I’m missing a clue here. I checked if I could make another payment method visible in the backend that is registered in the ‘payment’ section (next to check/money and purchase order). I can’t. Any idea why not?

Rick » 17 Apr 2012 » Reply

Setting $_canUseInternal = true; did the trick.

Mark » 26 Aug 2012 » Reply


I’m trying to set this up for a client using Sagepay.

I’ve added this to system.xml but it’s still not showing up in the admin:

Admin Override Enabled

Can you lend me a hand to let me know what might be wrong? Cache and Sessions were cleared and Compilation is off. Running 1.6.1.



Mark » 26 Aug 2012 » Reply

Admin Override Enabled

Carlos » 31 Jan 2013 » Reply

Hello Mike,

I’m trying to install the module into magento 1.7.X, how can I add a new payment in order I can show it into the backend? should I see any admin of the module in the backend?

Thank you,

Mike McKoy » 24 Sep 2013 » Reply

Hey does this module work with I want to install it. Its needed very badly πŸ™

Brendan » 22 Jul 2014 » Reply

Mike you are genius. This helped me so much. Thank you!

Ricks » 1 Jun 2015 » Reply

Download link doesn’t work.

    Jeremy Dost » 24 Jun 2015 » Reply

    Fixed it. We redesigned the site and hadn’t moved the zip file over!

Ricks » 1 Jun 2015 » Reply

Download link doesn’t work, I’m on magento version and working on a payment method similar to Check / Money Order. But a PayPal version so I can send out a PayPal invoice and also a card version when items have been paid by card at our show room. Any ideas and tutorials on this?

Paul » 26 Mar 2016 » Reply
This is annoying – why does Magento make it so hard to add orders manually ?

Have your say!

Have your say!


Name *

Email *

  • Want a fresh pair of eyes?

    A lot of times we find an outside perspective can work wonders. If you'd like to send us your information, we have no problems listening and offering our thoughts.

Recent Posts