Bonjour,
La liste des modes de livraison est affichée avant que le mode de paiement soit connu, HikaShop n'y indique donc que les frais de port. Pour y ajouter le supplément, il faut surcharger la vue "show_block_shipping" du checkout, dans le menu Affichage > Vues du back end, et y remplacer la ligne :
echo $this->checkoutHelper->getDisplayPrice($shipping, 'shipping', $this->options);
par :
if(!isset($allPayments)) {
$pluginsClass = hikashop_get('class.plugins');
$currencyClass = hikashop_get('class.currency');
$allPayments = $pluginsClass->getMethods('payment');
$currencyClass->processPayments($allPayments, $cart);
}
$fee = 0.0;
$token = $shipping->shipping_type.'_'.$shipping->shipping_id;
foreach($allPayments as $p) {
if(!in_array($token, explode("\n", trim((string)@$p->payment_shipping_methods, "\n"))))
continue;
if($p->payment_price_with_tax > $fee)
$fee = (float)$p->payment_price_with_tax;
}
echo $currencyClass->format($shipping->shipping_price_with_tax + $fee, $cart->cart_currency_id);
Le montant ajouté est celui des modes de paiement dont la restriction "Mode de livraison" désigne le mode de livraison de la ligne, le plus élevé s'il y en a plusieurs. Il faut donc que votre mode de paiement contre remboursement soit restreint à votre livraison "contre remboursement" : les autres modes de livraison continueront à n'afficher que les frais de port, ce qui est bien ce que vous voulez.
Je l'ai testé ici avec une livraison à 5,00 € et un supplément de 3,80 € restreint à cette livraison : la ligne affiche 8,80 €, et revient à 5,00 € dès que la restriction est retirée du mode de paiement.