2011-09-08 9 views
6

Merhaba çocuklar,Magento Özel Ödeme Yöntemi: Mage_Payment_Model_Method_Abstract :: assignData() ile ayarlanan veriler nasıl alınır?

Şu anda bir ödeme yöntemi geliştiriyorum ve işler oldukça iyi çalışıyor. Sadece bir şey: Müşteri, ödeme yöntemi boyunca bazı bilgileri giriyor ve hata ayıklama yoluyla Mage_Payment_Model_Method_Abstract :: assignData() üzerinden yazıldığını görebiliyorum. Ne yazık ki, bu veriyi okurken okuyamıyorum. yakalama() - yöntem. InfoInstance'ı alıyorum ve bilgileri okumaya çalışıyorum, ancak ayarlanmadı.

assignData() metodu:

public function assignData($data) { 
    if (!($data instanceof Varien_Object)) { 
     $data = new Varien_Object($data); 
    } 

    $info = $this->getInfoInstance(); 
    $info->setEtixType($data->getEtixType()); 

    return $this; 
} 

yakalama() metodu: bir Yardım takdir

public function capture(Varien_Object $payment, $amount) { 
    // ... 

    $info = $this->getInfoInstance(); 

    Mage::log('etix_type: '.$info->getEtixType()); //I expect something like "etix_type: cc" 

    // ... 
} 

. Ben ... InfoInstance eserlerine doğrudan değişkenlerde Atama

Teşekkür, aeno

cevap

8

Buldum,

şey kaçırmış eminim, ama bu bütün ödeme işlemini kalıcı değil.

$info = $this->getInfoInstance(); 
$info->setAdditionalInformation('etix_type', $data->getEtixType()); 

Ve daha sonra aracılığı okuyabilirsiniz: Bunun yerine, additional_data üzerinde ayarlamak zorunda cevap için

$info = $this->getInfoInstance(); 
$etix_type = $info->getAdditionalInformation('etix_type'); 
+0

teşekkür .. –

İlgili konular