Each payment method that extends Mage_Payment_Model_Method_Abstract
has the following member variables:
protected $_canUseInternal = true; //can use in admin
protected $_canUseCheckout = true; //can use in onepage checkout
protected $_canUseForMultishipping = true; //can use in multishipping
As shown above they are default 'true'.
If you want to use a method only for admin override their values in your payment model as follows:
protected $_canUseInternal = true; //can use in admin
protected $_canUseCheckout = false; //can use in onepage checkout
protected $_canUseForMultishipping = false; //can use in multishipping
Then enable the method from the system->configuration->payment methods section.
It shouldn't appear in the frontend (but test it in case I'm wrong) but you should be able to see it in when creating an order from the backend.
So if i undertsand your question correctly, the order is manually created in magento via the admin interface?
I have not done this myself, so cannot give exact details, but I think you need to do an 'Offline Capture'
see this page : http://www.magentocommerce.com/wiki/welcome_to_the_magento_user_s_guide/chapter_8
From the page given:
Capture Offline - When the Invoice is submitted, the system will not capture the payment. It will be assumed that the payment is going to be captured directly through the gateway, and you will no longer have the option to capture this payment through Magento. You will have the ability to create a Credit Memo, but you will not have the option to Void the Invoice (even though the Order used an online payment, the Invoice is essentially an offline Invoice).
Additonally, this blog post from Inchoo shows how to do it via code:
For completeness (since links disappear of the net (gasp)) here is their code:
(note this is Inchoo's blog entry, no credit to myself)
Maybe you want to create an invoice from some custom script or through
cron script. Here is one very useful example of code. First of all, we
have to load some order over model “sales/order”, this is very easy.
try {
if(!$order->canInvoice())
{
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.'));
}
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
}
catch (Mage_Core_Exception $e) {
}
You will notice that we have set option for capture online. This
option depends on payment method. Some payment methods support capture
online and some don’t. If you want to set capture offline, you can do
that with next line code:
$invoice->setRequestedCaptureCase(
Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE
);
Best Answer
If you have access to the database you can simply run the following query:
If you don't have access to the database to run queries you can retrieve what you want via the following code snippet:
This will give you a list of order information of all orders that were paid via the method 'ccsave'. (You can adjust the WHERE-condition if needed...)