Il n'est pas possible de donner un prix unitaire à plus de deux décimales à paypal.
La seule solution est de ne pas donner le détail de la commande mais le prix total.
Il faut que vous enleviez toute la partie d'envoi du détail:
$i = 1;
$tax = 0;
foreach($order->cart->products as $product){
$vars["item_name_".$i]=substr($product->order_product_name,0,127);
$vars["item_number_".$i]=$product->order_product_code;
$vars["amount_".$i]=round($product->order_product_price,(int)$currency->currency_locale['int_frac_digits']);
$vars["quantity_".$i]=$product->order_product_quantity;
$tax+=round($product->order_product_tax,(int)$currency->currency_locale['int_frac_digits'])*$product->order_product_quantity;
$i++;
}
if(bccomp($tax,0,5)){
$vars['tax_cart']=$tax;
}
if(!empty($order->order_shipping_price) && bccomp($order->order_shipping_price,0,5)){
$vars["item_name_".$i]=JText::_('HIKASHOP_SHIPPING');
$vars["amount_".$i]=round($order->order_shipping_price,(int)$currency->currency_locale['int_frac_digits']);
$vars["quantity_".$i]=1;
$i++;
}
if(!empty($order->cart->coupon)){
$vars["discount_amount_cart"]=round($order->cart->coupon->discount_value,(int)$currency->currency_locale['int_frac_digits']);
}
et que vous rajoutiez une ligne pour l'envoi du prix total:
$vars["x_amount"]=round($order->cart->full_total->prices[0]->price_value_with_tax,(int)$currency->currency_locale);