Once I was extremely angry at my son and I swore I would punish him to teach him a lesson that people would see
or hear about. (Part No. 23; Page No. 65) Nevertheless, my son acknowledged his mistake and I forgave him. What is the ruling on this and do I have to make any Kaffarah (expiation)?
Since you broke your oath, you must make Kaffarah for it, as Allah (Exalted be He) says:
Allâh will not punish you for what is unintentional in your oaths, but He will punish you for your deliberate oaths; for its expiation feed ten Masâkîn (poor persons), on a scale of the average of that with which you feed your own families, or clothe them or manumit a slave. But whosoever cannot afford (that), then he should fast for three days. That is the expiation for the oaths when you have sworn. And protect your oaths (i.e. do not swear much).
May Allah grant us success. May peace and blessings be upon our Prophet Muhammad, his family, and Companions.