As long as it is clearly stated in the transaction contract that there will be no refunds, sure, that sounds ethical to me.
I think it would be important to clearly and accessibly state your no-refund policy, because most courses do offer a refund policy and you don't want unsatisfied customers who'd assumed they could have a refund because they didn't see your refund policy. But other than that, as long as you don't trick people into thinking they're getting something different than what they're getting, all's good.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.