If it's free, I'll take it.であってますね。
takeに比べてhaveの方が少し丁寧な感じですね。
日本語の「もらう」と「いただきます」に似ているような違いです。
お店の方がドリンクを入れようとしたら
I'll have it if it's free.
や
Will that cost anything? 課金されますか?If not, I'll have some されないのならいただきます。
というフレーズを使えます。
ご参考になれば幸いです!
この場合、ドリンクのことを話しているので、it でなく some にすると良いでしょう。
ーIf it's free, I'll take some.
ーIf it's free, I'll have some.
または次のような言い方もできます。
ーIf there's no extra charge, I'll take some.
「追加料金がかからないなら、いただきます」
ご参考まで!