Эти глаголы, относящиеся к паронимам легко перепутать, поскольку они имеют похожее звучание. Но значения этих слов всё же отличаются, хотя и имеют тонкую грань.
Это легко увидеть на простом примере поездки в общественном транспорте. Человек оплачивается свой проезд, или платит на него же. Заплатить – отдать за что-либо плату, за кого-то, возместить что-то. То есть, заплатить долг, за купленный товар, за амбиции, за плохой поступок, за разбитую посуду, за него.
А оплатить можно только что-то, чего-то или чем-то, с указанием на объект. Оплачивают счёт, издержки, обед, квитанцию, покупки, предоставляемые услуги. Нельзя сказать оплатить за. Такое сочетание грамматически неверно и не является нормой. К двум однокоренным понятиям можно отнести и слово «уплатить», с которым так же часто встречаются ошибки. Уплатить можно по счёту, выкуп, проценты.