加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – Magento自定义付款方式:如何获取通过Mage_Payment_Model_Method_Abstrac

发布时间:2020-05-25 08:42:17 所属栏目:PHP 来源:互联网
导读:嗨,大家好, 我目前正在开发一种支付方式,事情进展顺利. 只有一件事:客户在付款方式中输入一些信息,通过调试我可以看到它通过Mage_Payment_Model_Method_Abstract :: assignData()写入InfoInstance 不幸的是,当我在capture() – Method中时,我无法读取该数据.

嗨,大家好,

我目前正在开发一种支付方式,事情进展顺利.
只有一件事:客户在付款方式中输入一些信息,通过调试我可以看到它通过Mage_Payment_Model_Method_Abstract :: assignData()写入InfoInstance
不幸的是,当我在capture() – Method中时,我无法读取该数据.我检索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;
}

capture()方法:

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

    $info = $this->getInfoInstance();

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

    // ...
}

任何帮助表示赞赏.我确定我错过了什么……

谢谢,
aeno

找到了,

直接将信息分配给InfoInstance工作,但它不会在整个结账过程中持续存在.相反,您必须在additional_data上设置它:

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

之后你可以通过以下方式阅读:

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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读