Magento订购电子邮件

时间:2014-03-12 11:39:31

标签: php magento magento-1.7 payment-gateway payment

我正在使用magento 1.7。任何人都可以提供帮助/建议吗?

还使用EPDQ Barclaycard模块。

一切似乎都可以通过捕获付款,但是当我去结账时填写所有详细信息,直到付款信息选择卡类型并点击继续,然后下订单新订单电子邮件已发送但尚未付款!

无论如何,在通过Barclaycard捕获付款之前,是否可以阻止这种情况?

我错过了什么吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

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);
    }
}

所以这给了你一些选择。扩展您的支付模块,以便它设置订单位置重定向网址,但这可能会使您的支付模块陷入困境,具体取决于它的编码方式,或者您可以将上述类扩展到您自己的模块中(不要修改核心),覆盖{ {1}}方法并检查上面显示的if语句中的付款方式有点像;

saveOrder()

然后,当收到成功的支付IPN时,您将处理IPN通知以使其发送电子邮件,我建议您查看Magento附带的PayPal标准模块以获取一些指示,因为这正是它的确切方式作品。我很惊讶您已经没有这样的EPDQ模块,可能值得联系他们并突出问题。