Magento通过Paypal支付方式付款发送订单确认邮件

Magento默认支持Paypal付款方式。最近的一个Magento项目中,客户要求在用户通过Paypal付款跳转到支付界面时,会发送一封订单确认邮件给下单用户。无论用户是否成功付款。

该步骤可以通过扩展Paypal模块中的跳转方法实现。下面这段代码是默认的redirecAtion()方法。在跳转过程中,进行的都是订单信息相关的汇总收集。

public function redirectAction() {   
$session = Mage::getSingleton('checkout/session');    
$session->setPaypalStandardQuoteId($session->getQuoteId());      
$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());    
$session->unsQuoteId();
}
通过将上面的代码修改为以下内容,可以完成给用户发送订单确认邮件的功能。完整代码如下。

public function redirectAction() {    
$session = Mage::getSingleton('checkout/session');    
$session->setPaypalStandardQuoteId($session->getQuoteId());
      
/* 用于发送订单确认邮件的代码片段开始 */   
$order = Mage::getModel('sales/order');    
$order->load(Mage::getSingleton('checkout/session')->getLastOrderId());    
$order->sendNewOrderEmail();    
$order->setEmailSent(true);    
$order->save();      

 

/* 用于发送订单确认邮件的代码片段结束 */ 


$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());    
$session->unsQuoteId();
}

source:

source: http://www.ruiwant.com/?p=1727

posted @ 2012-09-03 18:14  月影传说  阅读(661)  评论(0编辑  收藏  举报