Help please!
I get this error when using the new Paypal API when there is a discount applied.
PayPal returned: The totals of the cart item amounts do not match order amounts.
If there is no discount on the cart the payment goes through without any issue! I urgently need to fix this so im hoping someone has found a solution already.
Thanks!
Fionn
Nobody any idea's?
Im sure it must be something wrong in this part on lines 1420 to 1441:
// SUBTOTAL CALCULATION
$ret_str.="&L_AMT".$i."=".round($product_price,2);
$ret_str.="&L_QTY".$i."=".$cart[$i]["quantity"];
$ret_str.="&L_NAME".$i."=".urlencode($ps_product->get_field($_SESSION['cart'][$i]["product_id"], "product_name"));
$item_total += round($product_price,2) * $cart[$i]["quantity"];
}
if( !empty($order_totals['coupon_discount'] ) ) {
// Discount is the difference left after order total has been reduced by subtotal, tax, shipping and shipping tax
$discount = round($order_totals['order_total'], 2)
- $item_total
- round($order_totals['order_tax'], 2)
- $order_totals['order_shipping']
- $order_totals['order_shipping_tax'];
// add discount as line item
$ret_str.="&L_AMT".$i."=".round($discount,2);
$ret_str.="&L_QTY".$i."=1";
$ret_str.="&L_NAME".$i."=".urlencode($VM_LANG->_('PHPSHOP_COUPON_DISCOUNT'));
$item_total += $discount;
}
$order_totals['item_total'] = round($item_total, 2);
$ret_str.="&ITEMAMT=".round($item_total, 2);