Hi,
HikaShop stores only half of the credit card data with the order and sends half to the admin by email for security reasons.
If you want to get all the data in the order, it would require modifying the code:
function onBeforeOrderCreate(&$order,&$do){
if(parent::onBeforeOrderCreate($order, $do) === true)
return true;
$this->ccLoad();
if($order->order_payment_method=='creditcard'){
$order->credit_card_info = $this;
$obj = new stdClass();
$obj->cc_number=substr($this->cc_number,0,8);
$obj->cc_month=$this->cc_month;
$obj->cc_year=$this->cc_year;
$obj->cc_type=@$this->cc_type;
$history = new stdClass();
$history->type = 'credit card';
$history->notified = 0;
$history->data = base64_encode(serialize($obj));
$this->modifyOrder($order,$this->payment_params->order_status,$history,false);
}
}
function onHistoryDisplay(&$histories){
foreach($histories as $k => $history){
if($history->history_payment_method == $this->name && !empty($history->history_data)){
$data = hikashop_unserialize(base64_decode($history->history_data));
$string='';
if(!empty($data->cc_type)){
$string.= JText::_('CARD_TYPE').': '.$data->cc_type.'<br />';
}
$string.= JText::_('DATE').': '.$data->cc_month.'/'.$data->cc_year.'<br />';
$string.= JText::_('BEGINNING_OF_CREDIT_CARD_NUMBER').': '.$data->cc_number.'<br />';
$string.='<a href="'.hikashop_completeLink('order&task=remove_history_data&history_id='.$history->history_id).'"><img src="'.HIKASHOP_IMAGES.'delete.png" /></a>';
$histories[$k]->history_data = $string;
static $done = false;
if(!$done){
$done = true;
$app = JFactory::getApplication();
$app->enqueueMessage(JText::_('CREDITCARD_WARNING'));
}
}
}
}
in the file plugins/hikashoppayment/creditcard/creditcard.php
But by doing that, I doubt that you can still guarantee PCI compliance of the website.
Ideally, it would require storing the credit card data on a separate server in a secure way by developing a custom plugin, putting in place such server on your end, add all the security necessary on the server and the network to guarantee the safery of the data, etc.
Separating the information in an email and the order like HikaShop does is a cheap and easy way to secure the credit card data.