Hi there,
I am developing a custom payment method, everything is fine in the admin but it's not showing on checkout.
This is my block:
class ShoppingPlus_SPPayment_Block_Form_SPPayment extends Mage_Payment_Block_Form { protected function _construct() { parent::_construct(); $this->setTemplate('sppayment/form/sppayment.phtml'); } }
this is my model:
<?php class ShoppingPlus_SPPayment_Model_Method_Sppayment extends Mage_Payment_Model_Method_Banktransfer { protected $_code = "sppayment"; }
the config:
<?xml version="1.0"?> <config> <modules> <ShoppingPlus_SPPayment> <version>0.0.1</version> </ShoppingPlus_SPPayment> </modules> <global> <helpers> <sppayment> <class>ShoppingPlus_SPPayment_Helper</class> </sppayment> </helpers> <blocks> <sppayment> <class>ShoppingPlus_SPPayment_Block</class> </sppayment> </blocks> <models> <sppayment> <class>ShoppingPlus_SPPayment_Model</class> </sppayment> </models> </global> <default> <payment> <sppayment> <model>sppayment/sppayment</model> </sppayment> </payment> </default> </config>
and the system:
<?xml version="1.0"?> <config> <sections> <payment> <groups> <sppayment translate="label" module="sppayment"> <label>Shopping Plus Payment</label> <frontend_type>text</frontend_type> <sort_order>1000</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <fields> <active translate="label"> <label>Enabled</label> <frontend_type>select</frontend_type> <source_model>adminhtml/system_config_source_yesno</source_model> <sort_order>1</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </active> <title translate="label"> <label>Title</label> <frontend_type>text</frontend_type> <sort_order>10</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> </title> <order_status translate="label"> <label>New Order Status</label> <frontend_type>select</frontend_type> <source_model>adminhtml/system_config_source_order_status_new</source_model> <sort_order>20</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </order_status> <allowspecific translate="label"> <label>Payment from Applicable Countries</label> <frontend_type>allowspecific</frontend_type> <sort_order>50</sort_order> <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </allowspecific> <specificcountry translate="label"> <label>Payment from Specific Countries</label> <frontend_type>multiselect</frontend_type> <sort_order>51</sort_order> <source_model>adminhtml/system_config_source_country</source_model> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> <can_be_empty>1</can_be_empty> </specificcountry> <instructions translate="label"> <label>Instructions</label> <frontend_type>textarea</frontend_type> <sort_order>62</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> </instructions> <min_order_total translate="label"> <label>Minimum Order Total</label> <frontend_type>text</frontend_type> <sort_order>98</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </min_order_total> <max_order_total translate="label"> <label>Maximum Order Total</label> <frontend_type>text</frontend_type> <sort_order>99</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </max_order_total> <sort_order translate="label"> <label>Sort Order</label> <frontend_type>text</frontend_type> <sort_order>100</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> </sort_order> </fields> </sppayment> </groups> </payment> </sections> </config>
any suggestion?
Thanks a lot
Solved! Go to Solution.
define $_formBlockType and $_infoBlockType in your payment model and point to payment blocks
Does it show up in admin?
Hi,
yes it does. Actually I've just tried to simplify the camelize-thing, and now it shows also on checkout, but still the block is not being called IMO.
here is the new config:
<?xml version="1.0"?> <config> <modules> <Shoppingplus_Sppayment> <version>0.0.1</version> </Shoppingplus_Sppayment> </modules> <global> <blocks> <sppayment> <class>Shoppingplus_Sppayment_Block</class> </sppayment> </blocks> <helpers> <sppayment> <class>Shoppingplus_Sppayment_Helper</class> </sppayment> </helpers> <models> <sppayment> <class>Shoppingplus_Sppayment_Model</class> </sppayment> </models> </global> <default> <payment> <sppayment> <model>sppayment/sppayment</model> </sppayment> </payment> </default> <frontend> <routers> <sppayment> <use>standard</use> <args> <module>Shoppingplus_Sppayment</module> <frontName>sppayment</frontName> </args> </sppayment> </routers> </frontend> </config>
the new model:
<?php class Shoppingplus_Sppayment_Model_Sppayment extends Mage_Payment_Model_Method_Abstract { protected $_code = "sppayment"; public function validate() { parent::validate(); } }
and the new block:
<?php class Shoppingplus_Sppayment_Block_Form_Sppayment extends Mage_Payment_Block_Form { protected function _construct() { parent::_construct(); $this->setTemplate('sppayment/form/sppayment.phtml'); } }
that template is not loaded.
Thanks a lot for any help!
Hi @giorg
I think these article can help you out:
that did the trick, thanks a lot!
is this Magento 1.x or Magento 2.0?
It is for magento 1
As we know some payment methods are required the proper information when you are sign up in other platform. But when you send the payment through custom payment method you can choose that platform which is suitable for you. So when the admin panel is showing then it will be helpful for users.