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();
}
(责任编辑:好模板) |