2011-09-08 2 views
6

안녕 얘들 아,Magento 맞춤 결제 방법 : Mage_Payment_Model_Method_Abstract :: assignData()를 통해 설정된 데이터를받는 방법?

나는 현재 결제 방법을 개발하고있어 상황이 아주 잘 노력하고 있습니다. 한 가지 : 고객이 결제 수단을 따라 정보를 입력하고 디버깅을 통해 Mage_Payment_Model_Method_Abstract :: assignData()를 통해 InfoInstance에 기록되는 것을 볼 수 있습니다 불행히도 필자는 capture() - 메서드입니다. InfoInstance를 검색하고 정보를 읽으려고 시도하지만 설정되지 않았습니다.

assignData() 메소드 :

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

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

    return $this; 
} 

캡처() 메소드 : 어떤 도움에 감사드립니다

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

    $info = $this->getInfoInstance(); 

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

    // ... 
} 

. I합니다 ... InfoInstance 작품에 직접 veriables 할당

감사합니다, aeno

답변

8

가 발견,

를 내가 뭔가를 놓친 확신하지만, 전체 체크 아웃 프로세스를 통해 지속되지 않습니다.

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

를 그리고 나중에는 통해 읽을 수 : 대신 additional_data에 설정해야 당신이 대답을

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

감사합니다 .. –