0

私は Magento CE 用のカスタム支払い方法を作成する任務を負っており、ここ数週間それをいじっています。私は経験豊富な開発者ですが、これは PHP と Magento 自体を使った最初の本格的なブラシでした。

これはウェブ支払いゲートウェイであることに注意してください。

public function getOrderPlaceRedirectUrl() { ... }

私の支払い方法モデルでは、顧客を外部 URL に正常にリダイレクトします。

私が丸一日立ち往生した問題は、チェックアウト ショッピング カートの内容、配送の詳細、および付帯料金 (税金、割引など) を取得する方法です。この情報を支払い方法 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 dev は、主に簡単なドキュメントが不足しているため、非常にイライラしています。非常にカスタマイズ可能であると確信していますが、php の魔法の機能の乱用と扱いにくい構造は、少なくとも挑戦的でした。

4

1 に答える 1

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

}

それでも注文が必要な場合は、お知らせください..

于 2012-12-06T13:53:22.370 に答える