使用magento中的订单ID获取总计和电子邮件

时间:2014-05-05 15:00:52

标签: php magento

在我的重定向文件中,我正在尝试获取客户购物车的总数,并使用订单ID发送电子邮件,但在重定向到我正在使用的银行支付网关时,它会重新发送一个响应,即发送的金额是无效的。这只是意味着,我发送一个空参数。

表单字段名称为“amt”,而电子邮件的表单字段为“email”

以下是代码:

<?php
// Retrieve order
$_order = new Mage_Sales_Model_Order();
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$_order->loadByIncrementId($orderId);
?>
<form method="post">
<input type="hidden" name="amt" value="<?php echo $_order->getBaseGrandTotal(); ?>">
<input type="hidden" name="orderId" value="<?php echo $orderId; ?>">
<input type="hidden" name="email" value="<?php echo Mage::getSingleton('customer/session')->getCustomer()->getEmail() ; ?>">
</form>

任何人都可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

可能无法找到最后一个订单。尝试

<?php $_order = Mage::getSingleton('checkout/session')->getLastRealOrder(); ?>
<?php if (!$_order || !$_order->getId()): ?>
<!-- no last order found -->
<?php else: ?>
<form method="post">
<input type="hidden" name="amt" value="<?php echo $_order->getBaseGrandTotal(); ?>">
<input type="hidden" name="orderId" value="<?php echo $_order->getId(); ?>">
<input type="hidden" name="email" value="<?php echo $_order->getCustomerEmail(); ?>">
</form>
<?php endif ?>