我有一个长期存在的问题,即PayPal Payments Pro magento。如果客户使用PayPal express发出订单,则他们不会收到订单电子邮件。如果客户使用卡付款,他们就可以毫无问题地获得卡。
我花了很多时间调查这一点,完全没有任何喜悦。我想知道其他人是否有同样的问题,如果有人设法解决它。我正在运行magento社区1.9.2。
IPN似乎工作正常,电子邮件中没有订单。
感谢任何帮助。
答案 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 在确认付款后发送strong>。
<?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
}
}
希望它对你有所帮助。