Эти слова отличаются лишь одной буквой в суффиксе, у них абсолютно одинаковые корни, но такие разные значения. Давайте определим, случайно ли это сходство.
Для этого сравним эти слова в других славянских языках.
Купать
- купати (сербский)
- kopati (словенский; и "копать" у них, кстати так же)
- къпя (болгарский)
- kúpať (словацкий)
- koupat (чешский)
- kąpać (польский)
Видим, какие тут варианты гласного в корне, отмечаем, что в польском он носовой, что говорит о том, что он таким был и в праславянском варианте.
Это регулярное соответствие. Например, "мука" по-чешски "mouka", по-польски "mąka", и в праславянском тоже восстанавливается носовой звук. От него дальше можно идти в праиндоевропейский, где будем ожидать полноценный звук [n]. В случае с "мукой" это был корень *menk.
Соответственно, можно предположить, что праиндоевропейский корень от "купать" - что-то вроде *kemp, однако в виду отсутствия достоверных родственников в других языках, лингвистика пока не установила это наверняка.
Есть там одна версия про то, что родственник тут слово "конопля", "конопатить", потому что парились в той же бане, где сушились лен и конопля. Ну, всё может быть.
Купить
- купити (сербский)
- kupiti (словенский)
- купя (болгарский)
- kúpiť (словацкий)
- koupit (чешский)
- kupić (польский)
И тут мы сразу видим, что кроме чешского у всех звук [у] (против аж пяти разных вариантов у глагола "купать"), и в польском нет носового. Значит, в праславянском и был [у].
Так что корни у "купить" и "купать" - разные.
Если с происхождением "купать" не всё ясно, то для "купить" есть любопытные родственники:
- kaufen (нем.) - "покупать, приобретать"
- Kaufmann (нем.) - "торговец, купец"
- 𐌺𐌰𐌿𐍀𐍉𐌽 [kaupōn] (готск.) - "торговать"
- kopen (нидерл.) - "покупать"
- ċēapian (др.-англ.) - "торговать", откуда современное "cheap" ("дешёвый")
Таким образом, в прагерманском восстанавливаются такие варианты глагола "покупать" - *kaupōną и *kaupijaną. И, главное, корень *kaup.
Известно, что на раннем этапе праславянского дифтонг [аy] монофтонгизировался (сокращался) до [у] (через стадию [oy]). Например, "сухой" в латышском "sauss", а в литовском "saũsas", следовательно на этапе балто-славянской общности в корне был дифтонг [аy], который у праславян превратился в [oy], и, наконец, в [у].
То есть, подрезать у прагерманцев это слово праславяне могли. И должны были сделать это на том раннем этапе, который предшествовал монофтонгизации (которую чаще всего относят к V веку н.э.).
А мог ли это быть общий древний корень, который параллельно развился и у прагерманцев, и у праславян? По закону Гримма - нет. Поскольку у прагерманцев происходили описанные Гриммом переходы согласных, и они должны соответствовать определенным согласным в славянских языках. А именно [b] соответствует [p], [d] - [t], [g] - [k], [p] - [f], [k] - [х]. Значит в случае параллельного развития этого слова и у нас, и у них - сегодня в начале выше перечисленных германских слов стояла бы буква "h", а не "k".
А могли прагерманцы заимствовать это у праславян? Нет, потому что прагерманский распался ещё до начала активных связей со славянами. То есть в момент общения праславянский был ещё более или менее единым языком, а вот с германской стороны мы имели дело уже только с ближайшим вариантом, готским. Поэтому, хотя заимствования шли в обе стороны, в случае с нами они распространялись, и в итоге сохранились в разных славянских языках, а в случае с германцами оседали в готском, и в итоге погибли вместе с ним.
Но и для прагерманцев корень *kaup не родной. Они его заимствовали из латыни, где "caupō" означает "торговец, лавочник". А дальше следы этого корня теряются во мгле времён.