Taking back a cheater

My boyfriend of 3 years had been transactionally involved with this girl who is an online sex worker. For 6 months. Wasn’t physical. And they never met in person. He swears the last time was November 2019. And he didn’t admit it, I found out on my own. I’m hurt and I’ve cried and I’ve hit him and screamed at him and he’s told me he’s disgusted with himself and that he deeply deeply regrets it and Is willing to show me how much he wants to be better even if it takes a long time. He told me he wants a chance only if I’m willing to let him in my life and he also told me he feels guilty everytime he’s with me because he’s having a hard time forgiving himself. And I know it’s easy to call b.s and there’s no excuse for his action. But love makes you do stupid things so I am giving him a chance, but first we’re taking a break because I need time to heal.. the way he cried in front of me was nothing i could’ve ever expected and it wasn’t tears to make me feel bad but I just knew looking at him like that he was genuinely sorry. I’m scared I’m being stupid but at the same time I’ve already decided.... has anyone had stories where they took back a cheater and it worked out?