Глагол "оплатить" подразумевает в том или ином смысле передачу денег из рук в руки. И этот глагол не употребляется с предлогами. "Русская речь в эфире. Комплексный справочник" говорит следующее:
глагол оплатить употребляется всегда без предлога: оплатить
расходы, оплатить труд, поэтому неправильно говорить: оплатить
за работу, оплатить по долгам;
Я мыслю так: если мы говорим "оплатить деньгами", но никогда не говорим "оплатить по деньгам" - то правильно будет: "оплатить карточкой".
Не думаю, что это правильная аналогия. Вы оплачиваете что-то с помощью карточки. А выражение "оплатить карточкой" является сокращением и вряд ли оно нормативно в строгом смысле на сегодняшний день. Но у меня нет сомнений, что оно прочно вошло в русский язык.
UPD.
Посмотрите объяснение в конце этой страницы.