Hi,
The data in order_payment_params is serialized, but the structure of the data you add in there is up to your payment plugin. So HikaShop cannot display it as it doesn't know the format/structure of your data in there.
Also, payment plugins don't necessarily want the data stored there to be displayed.
If you want to display it, you need to have your plugin implement some kind of event.
The simplest is to implement onAfterOrderProductsListingDisplay(&$order, $type) in your plugin. In that function, just echo your HTML and it will appear below the products listing on the order in the backend, in the frontend for the customer and in the notification emails.
You can use $type or $_REQUEST to only display your HTML for some parts (for example if you don't want to display the data to the customer), or to display different things.
For example, for the MyParcel plugin available on our marketplace, we have this code:
public function onAfterOrderProductsListingDisplay(&$order, $type) {
//skip if URL not yet known
if(!empty($order->order_shipping_params->my_parcel['tracking_url'])) {
$url = $order->order_shipping_params->my_parcel['tracking_url'];
}
if(empty($url))
return;
// skip on order details page in the backend
$app = JFactory::getApplication();
if(version_compare(JVERSION,'4.0','<'))
$admin = $app->isAdmin();
else
$admin = $app->isClient('administrator');
if($admin && @$_REQUEST['ctrl'] == 'order' && @$_REQUEST['task'] == 'show')
return;
// load the translations of the plugin
$this->loadOptions();
// display the tracking URL for the frontend and emails
echo '<p class="hikashop_myparcel_tracking_information">'.JText::sprintf('YOU_CAN_ACCESS_THE_TRACKING_INFORMATION_HERE', $url).'</p>';
}
which displays the tracking URL of the order if available and only for the emails and the frontend as the plugin uses another event to display the tracking URL to the admin on the orders listing.