reylimjr
reylimjr

Reputation: 381

how to add custom fields in magento payment module

I have downloaded a module from a blog and it works fine. but i need to add two more text boxes.

 class Excellence_Pay_Block_Info_Pay extends Mage_Payment_Block_Info
    {
        protected function _prepareSpecificInformation($transport = null)
        {
            if (null !== $this->_paymentSpecificInformation) {
                return $this->_paymentSpecificInformation;
            }
            $info = $this->getInfo();
            $transport = new Varien_Object();
            $transport = parent::_prepareSpecificInformation($transport);
            $transport->addData(array(
                Mage::helper('payment')->__('Voucher #') => $info->getCheckNo(),
                Mage::helper('payment')->__('Voucher Date') => $info->getCheckDate(),
                Mage::helper('payment')->__('Field Date') => $info->getCheckField(), //custom field
                Mage::helper('payment')->__('Field new') => $info->getCheckField1() //custom field
            ));
            return $transport;
        }
    }

I change the code to this in block/info, and change some code in model/pay.php




public function assignData($data)
        {
            if (!($data instanceof Varien_Object)) {
                $data = new Varien_Object($data);
            }
            $info = $this->getInfoInstance();
            $info->setCheckNo($data->getCheckNo())
            ->setCheckDate($data->getCheckDate())
            ->setCheckField($data->getCheckField())
            ->setCheckField1($data->getCheckField1());
            return $this;
        }

and add some code etc/config.xml

<fieldsets>
             <sales_convert_quote_payment>
                <check_no>
                    <to_order_payment>*</to_order_payment>
                </a>
                <check_date>
                    <to_order_payment>*</to_order_payment>
                </check_date>
                <check_field>
                    <to_order_payment>*</to_order_payment>
                </check_field>
                <check_field1>
                    <to_order_payment>*</to_order_payment>
                </check_field1>
             </sales_convert_quote_payment>
        </fieldsets>

but its not functioning. . I also updated the database and add some input textbox in pay.phtml.

Upvotes: 2

Views: 5855

Answers (1)

Anton S
Anton S

Reputation: 12750

Please refer to same questions answered here before

Magento Payment Info Block

Saving extra data with an order in Magento

Upvotes: 1

Related Questions