web-dev-qa-db-ja.com

Magentoで支払い情報を取得する方法

注文をファイルにエクスポートする必要があります。注文を処理するためのコードは次のとおりです。

    $orders = Mage::getModel('sales/order')->getCollection()
    ->addAttributeToSelect(array('status', 'ncm'))
    ->addFieldToFilter(
        array(
            array('attribute' => 'status', 'eq' => 'complete')
        )
    );

    $order = $orders->getFirstItem();

    //print_r($order);
    //exit;
    //foreach($orders as $order){
    $id = $order->getIncrementId();

    $payment = $order->getPayment();
    $method = $payment->getMethodInstance();

    print_r($payment);
    //}

方法、金額、分割された月数などの支払いに関する情報を印刷する必要があります。クレジットカードの場合、トランザクションの繰り返しIDが必要なので、リストを続けます。

どうやってやるの?

16
Jonathan

そうなると思います

   $payment = $order->getPayment();

現在の注文支払いインスタンスを取得します。

21
Max Pronko
//Get Payment
$payment = $order->getPayment()

//Get card type
$payment->getData('cc_type')

//Get Payment Info
$payment->getMethodInstance()->getCode();
$payment->getMethodInstance()->getTitle();

//Get Credit Card info
$payment->getMethodInstance()->getCardsStorage()
$payment->getMethodInstance()->getCardsStorage()->getCards() //array()
19
Renon Stewart

メソッドコードのみを取得する方がはるかに安全です

$order->getPayment()->getMethod();

支払い方法がアンインストールされた場合に例外を生成する可能性があるインスタンスオブジェクトをスキップします。

5
Silpion