2011-01-12 23 views
15

tengo que exportar los pedidos a un archivo, aquí es mi código para ir a través de las órdenes:cómo obtener información de pago en 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); 
    //} 

Necesito imprimir algo de información sobre el pago como el método, la cantidad, cuántos meses se dividió, si era tarjeta de crédito, necesito la identificación de reabastecimiento de la transacción y la lista continúa

¿cómo puedo hacer eso?

Respuesta

19

Creo que va a ser

$payment = $order->getPayment(); 

recuperará la instancia orden de pago actual.

+2

Ya estoy usando ese código, pero no veo cómo recuperar esa información específica. Me ayudaría a resolverlo? – Jonathan

+1

Lo siento, no vi ese código. Por favor, pruebe $ order-> getPayment() -> getAdditionalInformation(); - esto es información de pago + transacción –

+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

la información de la tarjeta coincide con la información disponible en la columna' additional_information' de la tabla 'sales_flat_order_payment' – user3338098

+0

¿Hay alguna manera de obtener la ID (número) del método también? –

4

para obtener el código método sólo es mucho más seguro usar

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

Saltarse objeto de instancia que puede generar una excepción si se ha desinstalado el método de pago.

Cuestiones relacionadas