Php Magento捕获方法不起作用

Php Magento捕获方法不起作用,php,zend-framework,magento,module,Php,Zend Framework,Magento,Module,我正在开发一个支付模块。我在任何地方都找不到适合Magento系统的文档 到目前为止,我在支付方式模型的捕获方式方面面临一个问题。请帮帮我 我不知道为什么restapi的CURL请求没有被创建和发送。它只执行前两行或前三行。我不认为我写下面代码的方式是正确的,请建议最好的方式。下单后,我“获得信息实例”和代码中给出的日志文件中的金额。我为其调用的其他数据Mage::Log()没有出现在系统日志文件中 我有这样的付款方式代码 <?php class Company_Cashonde

我正在开发一个支付模块。我在任何地方都找不到适合Magento系统的文档

到目前为止,我在支付方式模型的捕获方式方面面临一个问题。请帮帮我

我不知道为什么restapi的CURL请求没有被创建和发送。它只执行前两行或前三行。我不认为我写下面代码的方式是正确的,请建议最好的方式。下单后,我“获得信息实例”和代码中给出的日志文件中的金额。我为其调用的其他数据Mage::Log()没有出现在系统日志文件中

我有这样的付款方式代码

    <?php 
class Company_Cashondelivery_Model_Createorder extends Mage_Payment_Model_Method_Abstract
{   
    protected $_code = 'cashondelivery';
    protected $_canCapture = true;
    protected $_canUseCheckout = true;
    public function capture(Varien_Object $payment, $amount)
    {
                $paymentInfo = $this->getInfoInstance();  
                Mage::Log('Got Info Instance'); //This is shown in Log file.
                Mage::Log($amount); //This is shown in Log file
                Mage::Log($payment);                 
                    $xml='<?xml version="1.0" encoding="utf-8" ?>'.
                        '<transaction>'.
                        '<customerDetails>'.
                        '<address>This is, address, Purple Talk, 600100</address>'. //I dont know how to get Address as string here
                        '<contactNo>'.$paymentInfo->getOrder()->getBillingAddress()->getTelephone().'</contactNo>'.
                        '<email>'.$paymentInfo->getOrder()->getBillingAddress()->email().'</email>'.
                        '<firstName>'.$paymentInfo->getOrder()->getBillingAddress()->getFirstName().'</firstName>'.
                        '<lastName>'.$paymentInfo->getOrder()->getBillingAddress()->getLastName().'</lastName>'.
                        '</customerDetails>'.
                        '<orderDetails>'.
                        '<pincode>'.$paymentInfo->getOrder()->getBillingAddress()->getPostCode().'</pincode>'.
                        '<clientOrderID>'.$paymentInfo->getOrder()->getIncrementId().'</clientOrderID>'.
                        '<deliveryDate>20-7-20111</deliveryDate>'.
                        '<orderAmount>'.$amount.'</orderAmount>'.
                        '<productDetails>';
                    Mage::Log($xml);//This is not there in log file    
                    foreach ($paymentInfo->getOrder()->getAllItems() as $item) 
                        {
                            $xml.='<productDetails>'.
                            '<productID>'.$item->getProductId().'</productID>'.
                            '<productQuantity>'.$item->getQtyOrdered().'</productQuantity>'.
                            '<unitCost>'.$item->getPrice().'</unitCost>'.
                            '</productDetails>';
                        }
                       $xml.='</orderDetails>'.
                        '<additionalInformation>'.
                        '<parameters>'.
                        '<name>Some Name</name>'.
                        '<value>Some Value</value>'.
                        '</parameters>'.
                        '<parameters>'.
                        '<name>Some Name2</name>'.
                        '<value>Some value2</value>'.
                        '</parameters>'.
                        '</additionalInformation>'.
                        '</transaction>';
                        Mage::Log($xml);
                        $url = "http://services.abc.com/rest/service/createOrder";
                        Mage::Log('Loading url : '.$url); //This is not there in Log;
                        $ch = curl_init($url) ;
                        curl_setopt($ch, CURLOPT_HEADER,true);
                        curl_setopt($ch, CURLOPT_POST, true);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
                        curl_setopt($ch, CURLOPT_HTTPHEADER, array('username:xxxxx','password:xxxxxx','Content-Type:application/xml'));
                        $response = curl_exec($ch);
                        Mage::Log($response); //This is not there in Log file;
                   return $this;    
    }     
}
?>
<?xml version="1.0"?>
<config>
    <modules>
       <Company_Cashondelivery>
<!-- declare module's version information for database updates -->
          <version>0.1.0</version>
       </Company_Cashondelivery>
    </modules>
    <global>
<!-- declare model group for new module -->
        <models>
<!-- model group alias to be used in Mage::getModel('newmodule/...') -->
            <cashondelivery>
<!-- base class name for the model group -->
                <class>Company_Cashondelivery_Model</class>
            </cashondelivery>    
        </models>
        <helpers>
            <cashondelivery>
                <class>Company_Cashondelivery_Helper</class>
            </cashondelivery>
        </helpers> 
<!-- declare resource setup for new module -->
        <resources>
<!-- resource identifier -->
            <cashondelivery_setup>
<!-- specify that this resource is a setup resource and used for upgrades -->
                <setup>
<!-- which module to look for install/upgrade files in -->
                    <module>Company_Cashondelivery</module>
                </setup>
<!-- specify database connection for this resource -->
                <connection>
<!-- do not create new connection, use predefined core setup connection -->
                    <use>core_setup</use>
                </connection>
            </cashondelivery_setup>
            <cashondelivery_write>
                <connection>
                  <use>core_write</use>
                </connection>
            </cashondelivery_write>
            <cashondelivery_read>
               <connection>
                <use>core_read</use>
              </connection>
            </cashondelivery_read>
        </resources>
    </global>

<!-- declare default configuration values for this module -->
    <default>
        <payment>
            <cashondelivery>
                <active>1</active>
                <model>cashondelivery/createorder</model>
                <order_status>pending</order_status>
                <payment_action>authorize_capture</payment_action>
                <title>Company</title>                
            </cashondelivery>
         </payment>
    </default>
</config>
<?xml version="1.0"?>
<config>
   <sections>
        <payment>
            <groups>
                <cashondelivery translate="label" module="cashondelivery">
                    <label>Company Cash On delivery</label>
                    <sort_order>670</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>0</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>
                        <order_status translate="label">
                            <label>New order status</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_order_status_processing</source_model>
                            <sort_order>4</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>
                        <title translate="label">
                            <label>Title</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>2</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </title>
                    </fields>
                </cashondelivery>
            </groups>
        </payment>
    </sections>
</config>
<?xml version="1.0"?>
<config>
    <modules>
        <Company_Cashondelivery>
            <active>true</active>
            <codePool>local</codePool>
         </Company_Cashondelivery>
    </modules>
    <depends> 
        <Mage_Payment /> 
    </depends> 
</config>
getOrder()->getBillingAddress()->getTelephone()。
'.$paymentInfo->getOrder()->getBillingAddress()->email()。
'.$paymentInfo->getOrder()->getBillingAddress()->getFirstName()。
'.$paymentInfo->getOrder()->getBillingAddress()->getLastName()。
''.
''.
'.$paymentInfo->getOrder()->getBillingAddress()->getPostCode()。
'.$paymentInfo->getOrder()->getIncrementId()。
'20-7-20111'.
“.$amount.”。
'';
Mage::Log($xml)//这在日志文件中不存在
foreach($paymentInfo->getOrder()->getAllItems()作为$item)
{
$xml.=''。
'.$item->getProductId()'。'。
'.$item->getQtyOrdered()'。'。
'.$item->getPrice()'。
'';
}
$xml.=''。
''.
''.
“某个名字”。
“一些价值”。
''.
''.
“一些名字2”。
“一些价值2”。
''.
''.
'';
Mage::Log($xml);
$url=”http://services.abc.com/rest/service/createOrder";
Mage::Log('加载url:'。$url)//这在日志中不存在;
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_头,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('username:xxxxx','password:xxxxxx','Content-Type:application/xml');
$response=curl\u exec($ch);
Mage::Log($response)//这在日志文件中不存在;
退还$this;
}     
}
?>
Config.xml文件如下所示

    <?php 
class Company_Cashondelivery_Model_Createorder extends Mage_Payment_Model_Method_Abstract
{   
    protected $_code = 'cashondelivery';
    protected $_canCapture = true;
    protected $_canUseCheckout = true;
    public function capture(Varien_Object $payment, $amount)
    {
                $paymentInfo = $this->getInfoInstance();  
                Mage::Log('Got Info Instance'); //This is shown in Log file.
                Mage::Log($amount); //This is shown in Log file
                Mage::Log($payment);                 
                    $xml='<?xml version="1.0" encoding="utf-8" ?>'.
                        '<transaction>'.
                        '<customerDetails>'.
                        '<address>This is, address, Purple Talk, 600100</address>'. //I dont know how to get Address as string here
                        '<contactNo>'.$paymentInfo->getOrder()->getBillingAddress()->getTelephone().'</contactNo>'.
                        '<email>'.$paymentInfo->getOrder()->getBillingAddress()->email().'</email>'.
                        '<firstName>'.$paymentInfo->getOrder()->getBillingAddress()->getFirstName().'</firstName>'.
                        '<lastName>'.$paymentInfo->getOrder()->getBillingAddress()->getLastName().'</lastName>'.
                        '</customerDetails>'.
                        '<orderDetails>'.
                        '<pincode>'.$paymentInfo->getOrder()->getBillingAddress()->getPostCode().'</pincode>'.
                        '<clientOrderID>'.$paymentInfo->getOrder()->getIncrementId().'</clientOrderID>'.
                        '<deliveryDate>20-7-20111</deliveryDate>'.
                        '<orderAmount>'.$amount.'</orderAmount>'.
                        '<productDetails>';
                    Mage::Log($xml);//This is not there in log file    
                    foreach ($paymentInfo->getOrder()->getAllItems() as $item) 
                        {
                            $xml.='<productDetails>'.
                            '<productID>'.$item->getProductId().'</productID>'.
                            '<productQuantity>'.$item->getQtyOrdered().'</productQuantity>'.
                            '<unitCost>'.$item->getPrice().'</unitCost>'.
                            '</productDetails>';
                        }
                       $xml.='</orderDetails>'.
                        '<additionalInformation>'.
                        '<parameters>'.
                        '<name>Some Name</name>'.
                        '<value>Some Value</value>'.
                        '</parameters>'.
                        '<parameters>'.
                        '<name>Some Name2</name>'.
                        '<value>Some value2</value>'.
                        '</parameters>'.
                        '</additionalInformation>'.
                        '</transaction>';
                        Mage::Log($xml);
                        $url = "http://services.abc.com/rest/service/createOrder";
                        Mage::Log('Loading url : '.$url); //This is not there in Log;
                        $ch = curl_init($url) ;
                        curl_setopt($ch, CURLOPT_HEADER,true);
                        curl_setopt($ch, CURLOPT_POST, true);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
                        curl_setopt($ch, CURLOPT_HTTPHEADER, array('username:xxxxx','password:xxxxxx','Content-Type:application/xml'));
                        $response = curl_exec($ch);
                        Mage::Log($response); //This is not there in Log file;
                   return $this;    
    }     
}
?>
<?xml version="1.0"?>
<config>
    <modules>
       <Company_Cashondelivery>
<!-- declare module's version information for database updates -->
          <version>0.1.0</version>
       </Company_Cashondelivery>
    </modules>
    <global>
<!-- declare model group for new module -->
        <models>
<!-- model group alias to be used in Mage::getModel('newmodule/...') -->
            <cashondelivery>
<!-- base class name for the model group -->
                <class>Company_Cashondelivery_Model</class>
            </cashondelivery>    
        </models>
        <helpers>
            <cashondelivery>
                <class>Company_Cashondelivery_Helper</class>
            </cashondelivery>
        </helpers> 
<!-- declare resource setup for new module -->
        <resources>
<!-- resource identifier -->
            <cashondelivery_setup>
<!-- specify that this resource is a setup resource and used for upgrades -->
                <setup>
<!-- which module to look for install/upgrade files in -->
                    <module>Company_Cashondelivery</module>
                </setup>
<!-- specify database connection for this resource -->
                <connection>
<!-- do not create new connection, use predefined core setup connection -->
                    <use>core_setup</use>
                </connection>
            </cashondelivery_setup>
            <cashondelivery_write>
                <connection>
                  <use>core_write</use>
                </connection>
            </cashondelivery_write>
            <cashondelivery_read>
               <connection>
                <use>core_read</use>
              </connection>
            </cashondelivery_read>
        </resources>
    </global>

<!-- declare default configuration values for this module -->
    <default>
        <payment>
            <cashondelivery>
                <active>1</active>
                <model>cashondelivery/createorder</model>
                <order_status>pending</order_status>
                <payment_action>authorize_capture</payment_action>
                <title>Company</title>                
            </cashondelivery>
         </payment>
    </default>
</config>
<?xml version="1.0"?>
<config>
   <sections>
        <payment>
            <groups>
                <cashondelivery translate="label" module="cashondelivery">
                    <label>Company Cash On delivery</label>
                    <sort_order>670</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>0</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>
                        <order_status translate="label">
                            <label>New order status</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_order_status_processing</source_model>
                            <sort_order>4</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>
                        <title translate="label">
                            <label>Title</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>2</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </title>
                    </fields>
                </cashondelivery>
            </groups>
        </payment>
    </sections>
</config>
<?xml version="1.0"?>
<config>
    <modules>
        <Company_Cashondelivery>
            <active>true</active>
            <codePool>local</codePool>
         </Company_Cashondelivery>
    </modules>
    <depends> 
        <Mage_Payment /> 
    </depends> 
</config>

0.1.0
公司\现金交付\模式
公司\现金交付\助手
公司现金交付
核心单元设置
核心写入
核心读取
1.
现金交付/创建订单
悬而未决的
授权捕获
公司
system.xml文件如下所示

    <?php 
class Company_Cashondelivery_Model_Createorder extends Mage_Payment_Model_Method_Abstract
{   
    protected $_code = 'cashondelivery';
    protected $_canCapture = true;
    protected $_canUseCheckout = true;
    public function capture(Varien_Object $payment, $amount)
    {
                $paymentInfo = $this->getInfoInstance();  
                Mage::Log('Got Info Instance'); //This is shown in Log file.
                Mage::Log($amount); //This is shown in Log file
                Mage::Log($payment);                 
                    $xml='<?xml version="1.0" encoding="utf-8" ?>'.
                        '<transaction>'.
                        '<customerDetails>'.
                        '<address>This is, address, Purple Talk, 600100</address>'. //I dont know how to get Address as string here
                        '<contactNo>'.$paymentInfo->getOrder()->getBillingAddress()->getTelephone().'</contactNo>'.
                        '<email>'.$paymentInfo->getOrder()->getBillingAddress()->email().'</email>'.
                        '<firstName>'.$paymentInfo->getOrder()->getBillingAddress()->getFirstName().'</firstName>'.
                        '<lastName>'.$paymentInfo->getOrder()->getBillingAddress()->getLastName().'</lastName>'.
                        '</customerDetails>'.
                        '<orderDetails>'.
                        '<pincode>'.$paymentInfo->getOrder()->getBillingAddress()->getPostCode().'</pincode>'.
                        '<clientOrderID>'.$paymentInfo->getOrder()->getIncrementId().'</clientOrderID>'.
                        '<deliveryDate>20-7-20111</deliveryDate>'.
                        '<orderAmount>'.$amount.'</orderAmount>'.
                        '<productDetails>';
                    Mage::Log($xml);//This is not there in log file    
                    foreach ($paymentInfo->getOrder()->getAllItems() as $item) 
                        {
                            $xml.='<productDetails>'.
                            '<productID>'.$item->getProductId().'</productID>'.
                            '<productQuantity>'.$item->getQtyOrdered().'</productQuantity>'.
                            '<unitCost>'.$item->getPrice().'</unitCost>'.
                            '</productDetails>';
                        }
                       $xml.='</orderDetails>'.
                        '<additionalInformation>'.
                        '<parameters>'.
                        '<name>Some Name</name>'.
                        '<value>Some Value</value>'.
                        '</parameters>'.
                        '<parameters>'.
                        '<name>Some Name2</name>'.
                        '<value>Some value2</value>'.
                        '</parameters>'.
                        '</additionalInformation>'.
                        '</transaction>';
                        Mage::Log($xml);
                        $url = "http://services.abc.com/rest/service/createOrder";
                        Mage::Log('Loading url : '.$url); //This is not there in Log;
                        $ch = curl_init($url) ;
                        curl_setopt($ch, CURLOPT_HEADER,true);
                        curl_setopt($ch, CURLOPT_POST, true);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
                        curl_setopt($ch, CURLOPT_HTTPHEADER, array('username:xxxxx','password:xxxxxx','Content-Type:application/xml'));
                        $response = curl_exec($ch);
                        Mage::Log($response); //This is not there in Log file;
                   return $this;    
    }     
}
?>
<?xml version="1.0"?>
<config>
    <modules>
       <Company_Cashondelivery>
<!-- declare module's version information for database updates -->
          <version>0.1.0</version>
       </Company_Cashondelivery>
    </modules>
    <global>
<!-- declare model group for new module -->
        <models>
<!-- model group alias to be used in Mage::getModel('newmodule/...') -->
            <cashondelivery>
<!-- base class name for the model group -->
                <class>Company_Cashondelivery_Model</class>
            </cashondelivery>    
        </models>
        <helpers>
            <cashondelivery>
                <class>Company_Cashondelivery_Helper</class>
            </cashondelivery>
        </helpers> 
<!-- declare resource setup for new module -->
        <resources>
<!-- resource identifier -->
            <cashondelivery_setup>
<!-- specify that this resource is a setup resource and used for upgrades -->
                <setup>
<!-- which module to look for install/upgrade files in -->
                    <module>Company_Cashondelivery</module>
                </setup>
<!-- specify database connection for this resource -->
                <connection>
<!-- do not create new connection, use predefined core setup connection -->
                    <use>core_setup</use>
                </connection>
            </cashondelivery_setup>
            <cashondelivery_write>
                <connection>
                  <use>core_write</use>
                </connection>
            </cashondelivery_write>
            <cashondelivery_read>
               <connection>
                <use>core_read</use>
              </connection>
            </cashondelivery_read>
        </resources>
    </global>

<!-- declare default configuration values for this module -->
    <default>
        <payment>
            <cashondelivery>
                <active>1</active>
                <model>cashondelivery/createorder</model>
                <order_status>pending</order_status>
                <payment_action>authorize_capture</payment_action>
                <title>Company</title>                
            </cashondelivery>
         </payment>
    </default>
</config>
<?xml version="1.0"?>
<config>
   <sections>
        <payment>
            <groups>
                <cashondelivery translate="label" module="cashondelivery">
                    <label>Company Cash On delivery</label>
                    <sort_order>670</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>0</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>
                        <order_status translate="label">
                            <label>New order status</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_order_status_processing</source_model>
                            <sort_order>4</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>
                        <title translate="label">
                            <label>Title</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>2</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </title>
                    </fields>
                </cashondelivery>
            </groups>
        </payment>
    </sections>
</config>
<?xml version="1.0"?>
<config>
    <modules>
        <Company_Cashondelivery>
            <active>true</active>
            <codePool>local</codePool>
         </Company_Cashondelivery>
    </modules>
    <depends> 
        <Mage_Payment /> 
    </depends> 
</config>

公司货到付款
670
1.
1.
0
启用
选择
adminhtml/system\u config\u source\u yesno
1.
1.
1.
0
新订单状态
选择
adminhtml/system\u config\u source\u order\u status\u processing
4.
1.
1.
0
标题
文本
2.
1.
1.
0
etc/module/Company\u Cashondelivery.xml如下所示

    <?php 
class Company_Cashondelivery_Model_Createorder extends Mage_Payment_Model_Method_Abstract
{   
    protected $_code = 'cashondelivery';
    protected $_canCapture = true;
    protected $_canUseCheckout = true;
    public function capture(Varien_Object $payment, $amount)
    {
                $paymentInfo = $this->getInfoInstance();  
                Mage::Log('Got Info Instance'); //This is shown in Log file.
                Mage::Log($amount); //This is shown in Log file
                Mage::Log($payment);                 
                    $xml='<?xml version="1.0" encoding="utf-8" ?>'.
                        '<transaction>'.
                        '<customerDetails>'.
                        '<address>This is, address, Purple Talk, 600100</address>'. //I dont know how to get Address as string here
                        '<contactNo>'.$paymentInfo->getOrder()->getBillingAddress()->getTelephone().'</contactNo>'.
                        '<email>'.$paymentInfo->getOrder()->getBillingAddress()->email().'</email>'.
                        '<firstName>'.$paymentInfo->getOrder()->getBillingAddress()->getFirstName().'</firstName>'.
                        '<lastName>'.$paymentInfo->getOrder()->getBillingAddress()->getLastName().'</lastName>'.
                        '</customerDetails>'.
                        '<orderDetails>'.
                        '<pincode>'.$paymentInfo->getOrder()->getBillingAddress()->getPostCode().'</pincode>'.
                        '<clientOrderID>'.$paymentInfo->getOrder()->getIncrementId().'</clientOrderID>'.
                        '<deliveryDate>20-7-20111</deliveryDate>'.
                        '<orderAmount>'.$amount.'</orderAmount>'.
                        '<productDetails>';
                    Mage::Log($xml);//This is not there in log file    
                    foreach ($paymentInfo->getOrder()->getAllItems() as $item) 
                        {
                            $xml.='<productDetails>'.
                            '<productID>'.$item->getProductId().'</productID>'.
                            '<productQuantity>'.$item->getQtyOrdered().'</productQuantity>'.
                            '<unitCost>'.$item->getPrice().'</unitCost>'.
                            '</productDetails>';
                        }
                       $xml.='</orderDetails>'.
                        '<additionalInformation>'.
                        '<parameters>'.
                        '<name>Some Name</name>'.
                        '<value>Some Value</value>'.
                        '</parameters>'.
                        '<parameters>'.
                        '<name>Some Name2</name>'.
                        '<value>Some value2</value>'.
                        '</parameters>'.
                        '</additionalInformation>'.
                        '</transaction>';
                        Mage::Log($xml);
                        $url = "http://services.abc.com/rest/service/createOrder";
                        Mage::Log('Loading url : '.$url); //This is not there in Log;
                        $ch = curl_init($url) ;
                        curl_setopt($ch, CURLOPT_HEADER,true);
                        curl_setopt($ch, CURLOPT_POST, true);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
                        curl_setopt($ch, CURLOPT_HTTPHEADER, array('username:xxxxx','password:xxxxxx','Content-Type:application/xml'));
                        $response = curl_exec($ch);
                        Mage::Log($response); //This is not there in Log file;
                   return $this;    
    }     
}
?>
<?xml version="1.0"?>
<config>
    <modules>
       <Company_Cashondelivery>
<!-- declare module's version information for database updates -->
          <version>0.1.0</version>
       </Company_Cashondelivery>
    </modules>
    <global>
<!-- declare model group for new module -->
        <models>
<!-- model group alias to be used in Mage::getModel('newmodule/...') -->
            <cashondelivery>
<!-- base class name for the model group -->
                <class>Company_Cashondelivery_Model</class>
            </cashondelivery>    
        </models>
        <helpers>
            <cashondelivery>
                <class>Company_Cashondelivery_Helper</class>
            </cashondelivery>
        </helpers> 
<!-- declare resource setup for new module -->
        <resources>
<!-- resource identifier -->
            <cashondelivery_setup>
<!-- specify that this resource is a setup resource and used for upgrades -->
                <setup>
<!-- which module to look for install/upgrade files in -->
                    <module>Company_Cashondelivery</module>
                </setup>
<!-- specify database connection for this resource -->
                <connection>
<!-- do not create new connection, use predefined core setup connection -->
                    <use>core_setup</use>
                </connection>
            </cashondelivery_setup>
            <cashondelivery_write>
                <connection>
                  <use>core_write</use>
                </connection>
            </cashondelivery_write>
            <cashondelivery_read>
               <connection>
                <use>core_read</use>
              </connection>
            </cashondelivery_read>
        </resources>
    </global>

<!-- declare default configuration values for this module -->
    <default>
        <payment>
            <cashondelivery>
                <active>1</active>
                <model>cashondelivery/createorder</model>
                <order_status>pending</order_status>
                <payment_action>authorize_capture</payment_action>
                <title>Company</title>                
            </cashondelivery>
         </payment>
    </default>
</config>
<?xml version="1.0"?>
<config>
   <sections>
        <payment>
            <groups>
                <cashondelivery translate="label" module="cashondelivery">
                    <label>Company Cash On delivery</label>
                    <sort_order>670</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>0</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>
                        <order_status translate="label">
                            <label>New order status</label>
                            <frontend_type>select</frontend_type>
                            <source_model>adminhtml/system_config_source_order_status_processing</source_model>
                            <sort_order>4</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>
                        <title translate="label">
                            <label>Title</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>2</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </title>
                    </fields>
                </cashondelivery>
            </groups>
        </payment>
    </sections>
</config>
<?xml version="1.0"?>
<config>
    <modules>
        <Company_Cashondelivery>
            <active>true</active>
            <codePool>local</codePool>
         </Company_Cashondelivery>
    </modules>
    <depends> 
        <Mage_Payment /> 
    </depends> 
</config>

符合事实的
地方的

如果我有什么不清楚的地方,请告诉我。

您代码中的问题在这一行
'.$paymentInfo->getOrder()->getBillingAddress()->email()。
没有电子邮件()函数,您可以使用“'.$paymentInfo->getOrder()->getBillingAddress()->getEmail().”。检索电子邮件

顺便说一句,此错误已发送至商店所有者电子邮件。如果您是在localhost上开发的,我建议您使用一些smtp模拟,例如(用于win),然后您可以看到Magento发送的所有电子邮件


第二个音符。您可以使用Magento附带的Varien_Http_客户端(Zend_Http_客户端),而不是丑陋的curl。你可以在我的帖子中看到一个例子-

问题是Mag::Log($payment),我删除了它,它工作起来很神奇。

哦,很抱歉,这是打字错误。我只使用了getEmail()