My sins have recently multiplied so I came up with a way to avoid them. I wrote a pledge on myself and made Allaah a witness to that and put it in my pocket, and I carry it with me all the time. I mentioned all the sins that I might commit in it and promised to give $20 in charity for each sin that I commit. Since that day, I have not committed any of those sins. But now I feel that I do not commit those sins simply out of fear of paying money rather than out of fear of Allaah. Am I right? Is this a sharia-approved way, given that it has proved to be very efficient, at least with me?
All perfect praise be to Allaah, the Lord of the worlds. I testify that there is none worthy of worship except Allaah and that Muhammad, sallallaahu ‘alayhi wa sallam, is His slave and Messenger.
There is no impediment that a man punishes himself with a financial penalty for the sins he commits, as did Ka‘b ibn Maalik when he gave up his property as charity to Allaah and His Messenger, sallallaahu ‘alayhi wa sallam. It is narrated in both Saheeh's, and the wording is Al-Bukhari’s, that he said: “Part of my repentance is to give up all my wealth as charity to Allaah and His Messenger.” The Messenger of Allaah, sallallaahu ‘alayhi wa sallam, said: “Keep some of your wealth, as it will be better for you.”
Pay no attention to your feeling that you have abandoned sins out of fear of giving in charity only, because to leave sins is better for you at any rate. Moreover, what has led you to commit yourself to pay the above-mentioned sum is your fear of falling into sins, and it is your fear of Allaah Almighty that developed the fear of committing them within you. The real motive behind all this is your fear of Allaah. So pay no attention to satan’s whispers and malicious ways of deception, and proceed on your path.
Allaah Knows best.
You can search for fatwa through many choices