2011-11-21 107 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()就行了。謝謝! –