如何检索我的自定义付款方式的购物车内容,送货详情和附加费(税,折扣等)?

时间:2012-12-06 11:19:54

标签: magento payment-gateway shopping-cart checkout magento-1.7

我的任务是为Magento CE编写自定义付款方式,并在过去几周内对其进行修改。虽然我是一名经验丰富的开发人员,但这是我第一次使用php和Magento本身。“

请注意这是一个网络支付网关,所以我正在使用

public function getOrderPlaceRedirectUrl() { ... }

在我的付款方式模型中,成功将客户重定向到外部网址。

让我陷入困境一整天的问题是如何检索结帐购物车内容,运送详情和附加费(税,折扣等)。此信息需要发送到付款方式API。

我在付款方式模型中使用的代码是这样的:

$order_id = Mage::getSingleton("checkout/session")->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$oBillingAddress = $order->getBillingAddress(); //this works ok
$total = number_format($order->getBaseGrandTotal(), 2, '', ''); //this too

/* The following code won't work */

$oShippingAddress = $order->getShippingAddress(); // is unset!?
$oShippingAddress->getSameAsBilling(); //HOW can I check this?

$amount = array();
$quantity = array();
$sku = array();
$description = array();

$cart_items = $order()->getAllVisibleItems();
foreach ($cart_items as $item) {
   $amount[] = number_format($item->getPrice(), 2, '', ''); //ok
   $quantity[] = $item->getQtyToInvoice(); // is empty...
   $sku[] = $item->getSku(); // nothing either??
   $description[] = $item->getName(); //this is working
}

请Magento的巫师告诉我这里做错了什么?

Magento开发一直非常令人沮丧,主要是因为它缺乏简单的文档。我敢肯定它是非常可定制的,但不是,但滥用php的魔术功能和它繁琐的结构一直是一个挑战 - 至少。

1 个答案:

答案 0 :(得分:1)

我认为你需要得到报价。这样的事情应该有效:

$quote = Mage::getSingleton('checkout/session')->getQuote();
$items = $quote->getAllVisibleItems();

foreach ($items as $item) {
    $amount[] = number_format($item->getPrice(), 2, '', ''); //ok
    $quantity[] = $item->getQtyToInvoice(); // is empty...
    $sku[] = $item->getSku(); // nothing either??
    $description[] = $item->getName(); //this is working

}

如果您仍然需要订单,请告诉我..