/**
 * Get Total Cart Amount
 *
 * Returns amount after taxes and discounts
 *
 * @since 1.4.1
 * @global $edd_options Array of all the EDD Options
 * @param bool $discounts Array of discounts to apply (needed during AJAX calls)
 * @return float Cart amount
 */
function edd_get_cart_total($discounts = false)
{
    global $edd_options;
    $subtotal = edd_get_cart_subtotal();
    $cart_tax = edd_get_cart_tax();
    $fees = edd_get_cart_fee_total();
    $total = $subtotal + $cart_tax + $fees;
    if ($total < 0) {
        $total = 0.0;
    }
    return (double) apply_filters('edd_get_cart_total', $total);
}
/**
 * Get Total Cart Amount
 *
 * Returns amount after taxes and discounts
 *
 * @since 1.4.1
 * @param bool $discounts Array of discounts to apply (needed during AJAX calls)
 * @return float Cart amount
 */
function edd_get_cart_total($discounts = false)
{
    $subtotal = edd_get_cart_subtotal();
    $discounts = edd_get_cart_discounted_amount();
    $cart_tax = edd_get_cart_tax();
    $fees = edd_get_cart_fee_total();
    $total = $subtotal - $discounts + $cart_tax + $fees;
    if ($total < 0) {
        $total = 0.0;
    }
    return (double) apply_filters('edd_get_cart_total', $total);
}
/**
 * Gets the total tax amount for the cart contents
 *
 * @since 1.2.3
 * @param array $discounts Array of discounts to take into account (required for AJAX calls)
 * @return string Total tax amount
 */
function edd_get_cart_tax($discounts = false)
{
    $subtotal = edd_get_cart_subtotal(false);
    $subtotal += edd_get_cart_fee_total();
    $cart_tax = 0;
    if (edd_is_cart_taxed()) {
        if (edd_taxes_after_discounts()) {
            $subtotal -= edd_get_cart_discounted_amount($discounts);
        }
        $cart_tax = edd_calculate_tax($subtotal, false);
    }
    return apply_filters('edd_get_cart_tax', $cart_tax, $subtotal);
}