在Magento内,我们使用StoredCC程序在Magento Admin之外进行信用卡验证.信息正确存储在数据库中,并且使用PCI准则可以正确保护.但是,如果我登录Magento的管理员并转到销售 - >订单并选择订单,订单页面将显示解密的信用卡号.
我知道Magento数据库还存储了信用卡的最后四位数字,所以我想要做的是将此位置的显示从完整的信用卡号更改为*-* - ** - ####或完全禁止显示数字.在Magento的旧版本中,我会通过修改/app/design/adminhtml/default/default/template/payment/info/cc.phtml来做到这一点,但它看起来像已经被移动到getPaymentHTML()的所有内容但我是不是100%肯定.
最终目标,在编程级别而不是CSS级别更改或抑制Admin中的信用卡信息.谢谢!
付款明细显示的工作方式是,它要显示的任何信息都会返回_prepareSpecificInformation()到Mage/Payment/Block/Info/Ccsave.php文件中.您应该感兴趣的代码块是
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(),
));
}
Run Code Online (Sandbox Code Playgroud)
我不记得Saved CC模式是否还保存了最后4个,但是如果它,你可以换掉getCcNumber()with getCcLast4().如果没有,你也可以只是做一个substr()上$info->getCcNumber(),只显示最后4.