public static String payXP(Player p, int tier, double basepay, String job) {
        double iTimes = tier;
        double totalPay = PlayerCache.getEarnedIncome(p.getName());
        String pLang = PlayerCache.getLang(p.getName());
        String jobName = UpperCaseFirst.toUpperFirst(McJobs.getPlugin().getLanguage().getJobNameInLang(job, pLang).toLowerCase());
        job = job.toLowerCase();
        
        double payAmount = basepay * iTimes * Leveler.getMultiplier(PlayerCache.getJobLevel(p.getName(), job));
        if(overLimit(payAmount, totalPay, p))
            return "";
  
        if((totalPay + payAmount >= _maxPay) && (_maxPay > 0.0D))
            payAmount = _maxPay - totalPay + 1.0D;
        
        totalPay += payAmount;
        PlayerCache.setEarnedIncome(p.getName(), totalPay);
        int xp;
        if ((payAmount < 1.0D) && (payAmount >= 0.5D))
            xp = 1;
        else
            xp = (int)payAmount;
        
        manipXP(p, Integer.valueOf(xp));

        String str = ChatColor.GREEN + McJobs.getPlugin().getLanguage().getPayment("payxp", pLang).addVariables(jobName, "", _df.format(payAmount));
        return str;
    }