Magento can easily allow to publish/unpublish a payment method from the frontend. Usually payments extension have a simple Yes/No configuration option for this purpose. But this does not exist, almost never, to have same configuration option in admin.
Why do that ?
It can be used when you renew, or edit an order. At this time you will have a list a payment option you can choose from. Some aren't accured and need to be disabled, some are not visible and need be enabled, so you can select them.
How to do that ?
- Find the payment module in the magento code, usually somewhere under app/code/ local or community
- Find the Model class who initiate payment, usuallly this class extends Mage_Payment_Model_Method_Abstract class
- Add theses lines at the very beginning of the class
protected $_canUseInternal = false; // Disable usage in backoffice protected $_canUseCheckout = true; // Allow usage in frontoffice
just adapt to your needs
Other configuration code exists, they are not detailled in this article, but they are pretty self-explainary :
protected $_isGateway = false; protected $_canAuthorize = true; protected $_canCapture = true; protected $_canCapturePartial = false; protected $_canRefund = false; protected $_canVoid = false; protected $_canUseForMultishipping = true;