Paypal支付专业PayPal快递订单不在Magento发送确认电子邮件

时间:2017-06-29 00:18:08

标签: magento-1.9 paypal

我有一个长期存在的问题,即PayPal Payments Pro magento。如果客户使用PayPal express发出订单,则他们不会收到订单电子邮件。如果客户使用卡付款,他们就可以毫无问题地获得卡。

我花了很多时间调查这一点,完全没有任何喜悦。我想知道其他人是否有同样的问题,如果有人设法解决它。我正在运行magento社区1.9.2。

IPN似乎工作正常,电子邮件中没有订单。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

PayPal Payment Pro不发送确认电子邮件工具。但您可以在收到付款后通过创建观察员来实现。

  
    

您可以使用 checkout_onepage_controller_success_action 事件。如果您的订单成功,可以使用此选项。

         

还有另一个事件 sales_order_payment_pay 。如果您的订单成功,可以使用此选项。它也可以用在你的情况下。

  
     

1)为调用观察者文件制作自定义 config.xml

     
    
      

config.xml 定义您的模块,并为给定事件声明您的事件监听器(当一页结帐过程完成时, check__page_controller_success_action 会被发送, sales_order_payment_pay

    
  
 <?xml version="1.0"?>
<config>
    <modules>
        <Namespace_Modulename>
            <version>0.1.0</version>
        </Namespace_Modulename>
    </modules>
    <frontend>
        <events>            
            <sales_order_payment_pay>
                <observers>
                    <Namespace_Modulename_Customevent>
                        <type>singleton</type>
                        <class>Namespace_Modulename_Model_Observer</class>
                        <method>customFunction</method>
                    </Namespace_Modulename_Customevent>
                </observers>
            </sales_order_payment_pay>
        </events>
    </frontend>    
</config>
  

2)在您的模块/模型目录中创建 observer.php 文件并粘贴此代码

<?php
  class Namespace_Modulename_Model_Observer
{
    public function customFunction(Varien_Event_Observer $observer)
    {

         $order_id = $observer->getData('order_ids');
         $order = Mage::getModel('sales/order')->load($order_id);
         //your code here


    }        

}

希望它对你有所帮助。