在Magento Admin中更改信用卡信息的显示

时间:2011-11-21 15:36:18

标签: php magento

在Magento内,我们使用StoredCC程序在Magento Admin之外进行信用卡验证。信息正确存储在数据库中,并且使用PCI准则可以正确保护。但是,如果我登录Magento的管理员并转到销售 - >订单并选择订单,订单页面将显示解密的信用卡号。

我知道Magento数据库还存储了信用卡的最后四位数字,所以我想要做的是将此位置的显示从完整的信用卡号更改为 * - * - * * - ####或完全禁止显示数字。在Magento的旧版本中,我会通过修改/app/design/adminhtml/default/default/template/payment/info/cc.phtml来做到这一点,但它看起来像已经被移动到getPaymentHTML()的所有内容但我是不是100%肯定。

最终目标,在编程级别而不是CSS级别更改或取消Admin中的信用卡信息。谢谢!

1 个答案:

答案 0 :(得分:5)

付款明细显示的工作方式是,在Mage / Payment / Block / Info / Ccsave.php文件的_prepareSpecificInformation()中返回要显示的任何信息。您应该感兴趣的代码块是

if (!$this->getIsSecureMode()) {
    $transport->addData(array(
        Mage::helper('payment')->__('Expiration Date') => $this->_formatCardDate(
            $info->getCcExpYear(), $this->getCcExpMonth()
        ),
        Mage::helper('payment')->__('Credit Card Number') => $info->getCcNumber(),
    ));
}

我不记得Saved CC模式是否还保存了最后4个,但如果是,你可以用getCcNumber()替换getCcLast4()。如果不可用,您也可以substr() $info->getCcNumber()只显示最后4个。