2011-11-21 101 views
0

在Magento中,我们使用StoredCC过程在Magento Admin以外进行信用卡验证。这些信息正确存储在数据库中,并且符合PCI准则的要求。但是,如果我登录到Magento的管理员并转至销售 - >订单并选择订单,订单页面会显示解密的信用卡号码。更改Magento Admin中信用卡信息的显示

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

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

回答

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(), 
    )); 
} 

我不记得,如果保存的CC模式也节省了最后4,但如果这样做你可以换出getCcNumber()getCcLast4()。如果不可用,你也可以在$info->getCcNumber()上做substr(),只显示最后4个。

+1

交换getCcLast4()就行了。谢谢! –