Magento permet en général très simplement de publier une méthode de paiement en front, une simple sélection Oui/Non dans le champ de configuration de l'extension et le tour est joué. Mais cela n'existe pas toujours, pour ne pas dire jamais en admin.
L'utilité ?
Forcer la sélection d'un méthode paiement lors d'un renouvellement de commande client par exemple, ou de l'édition de la commande. Le contraire est possible également, exemple : ne pas proposer des choix en admin qui n'ont pas de sens au moment des renouvellement ou des éditions.
Comment procéder ?
- Repérer le module de paiement en question dans l'arborescence des fichiers de magento, dans app/code/
- Repérer la class Model qui instancie le payement. Elle étends en général la classe magento Mage_Payment_Model_Method_Abstract
- Ajouter en début de classe l'une ou l'autre de ces lignes
protected $_canUseInternal = false; // Usage en backoffice protected $_canUseCheckout = true; // Usage en frontoffice
à moduler selon vos besoins.
il existe encore d'autres possibilités de configuration, elles ne sont pas explicitées dans cet article, mais leur dénomination est assez parlante :
protected $_isGateway = false; protected $_canAuthorize = true; protected $_canCapture = true; protected $_canCapturePartial = false; protected $_canRefund = false; protected $_canVoid = false; protected $_canUseForMultishipping = true;