我正在使用magento 1.7。任何人都可以提供帮助/建议吗?
还使用EPDQ Barclaycard模块。
一切似乎都可以通过捕获付款,但是当我去结账时填写所有详细信息,直到付款信息选择卡类型并点击继续,然后下订单新订单电子邮件已发送但尚未付款!
无论如何,在通过Barclaycard捕获付款之前,是否可以阻止这种情况?
我错过了什么吗?
提前致谢
答案 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模块,可能值得联系他们并突出问题。