我正在使用magento 1.7.Can任何人都可以帮助/建议这?Magento命令电子邮件
也使用EPDQ Barclaycard模块。
一切似乎确定与捕获付款,但是当我去结账时填写所有细节,直到付款信息选择卡类型和继续,然后下订单一个新的订单电子邮件已发送,但它尚未支付!
无论如何,这是可以防止,直到通过Barclaycard捕获付款?
我错过了什么吗?
在此先感谢
我正在使用magento 1.7.Can任何人都可以帮助/建议这?Magento命令电子邮件
也使用EPDQ Barclaycard模块。
一切似乎确定与捕获付款,但是当我去结账时填写所有细节,直到付款信息选择卡类型和继续,然后下订单一个新的订单电子邮件已发送,但它尚未支付!
无论如何,这是可以防止,直到通过Barclaycard捕获付款?
我错过了什么吗?
在此先感谢
Magento发出订单后立即发送电子邮件订单确认。如果您在订单下达后未将用户重定向到支付网关,您将需要修改您的付款模块以使用magento的付款重定向设置,以使其忽略确认电子邮件(请参见Mage_Checkout_Model_Type_Onepage
类saveOrder()
方法)。
你应该看到一些类似的代码;
/**
* a flag to set that there will be redirect to third party after confirmation
* eg: paypal standard ipn
*/
$redirectUrl = $this->getQuote()->getPayment()->getOrderPlaceRedirectUrl();
/**
* we only want to send to customer about new order when there is no redirect to third party
*/
if (!$redirectUrl && $order->getCanSendNewEmailFlag()) {
try {
$order->sendNewOrderEmail();
} catch (Exception $e) {
Mage::logException($e);
}
}
所以这给了你几个选择。扩展您的付款模块,以便设置订单地点重定向网址,但这可能会根据您的付款模块编码方式搞乱您的付款模块,或者您可以将以上类别扩展到您自己的模块(不要修改核心),覆盖saveOrder()
方法,并在上面显示的if语句中检查付款方式有点像;
if (!$redirectUrl && $order->getPayment()->getMethod() != 'your_payment_method' && $order->getCanSendNewEmailFlag()) {
try {
$order->sendNewOrderEmail();
} catch (Exception $e) {
Mage::logException($e);
}
}
你可以这样来处理IPN通知让它在收到成功付款IPN发送电子邮件,我建议你看一看PayPal的标准模块附带Magento的一些指针,因为这正是它的工作原理。我很惊讶你的EPDQ模块不能像这样工作,可能值得与他们联系并强调这个问题。