2011-01-12 5 views
15

Ich habe die Befehle in eine Datei zu exportieren, hier ist mein Code durch die Aufträge zu gehen:Wie bekomme ich Zahlungsinformationen auf 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); 
    //} 

Ich brauche einige Informationen über die Zahlung wie die Methode zu drucken, die Menge, wie es viele Monate wurde geteilt, wenn war Kreditkarte, ich brauche die erneute ID der Transaktion und so die Liste geht weiter

Wie kann ich das tun?

Antwort

19

ich denke, es

$payment = $order->getPayment(); 

sein Es wird die aktuelle Auftragsbezahlinstanz abzurufen.

+2

Ich benutze bereits diesen Code, aber ich kann nicht scheinen, wie diese spezifischen Informationen abgerufen werden. Würde es mir helfen, es herauszufinden? – Jonathan

+1

Sorry, habe diesen Code nicht gesehen. Bitte versuchen Sie $ order-> getPayment() -> getAdditionalInformation(); - das ist Zahlung + Transaktionsinfo –

+5

$ order-> getPayment() -> getMethodInstance() -> getPaymentInfo(); –

19
//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() 
+0

'$ cards = ...-> getCards(); $ card = $ cards ['transaction_id']; echo $ card-> getCcType(); echo $ card-> getCcLast4(); ' – user3338098

+0

die Karteninformationen stimmen mit den Informationen überein, die in der Spalte' additional_information' der Tabelle 'sales_flat_order_payment' verfügbar sind – user3338098

+0

Gibt es eine Möglichkeit, die ID (Nummer) der Methode zu erhalten? –

4

der Methodencode Um nur viel sicherer ist es

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

Skipping Instanz-Objekt zu verwenden, die Ausnahme erzeugen kann, wenn die Zahlungsmethode deinstalliert wurde.

Verwandte Themen