Circle collision with irregular polygon and new vector/velocity

In my app a user can draw any shape they like and a ball can(will) collide and then reflect off the shape. Right now I first use a bounding box to see what object the ball is near than, I use line segment intersection, iterating through all the points/vertices in the array making up the shape comparing them against the balls vector. The problem i run into is that a user can draw their shape in a clockwise or counter clock wise manner. So in a weird way I need to determine which side of the line segment I’m hitting (sort of?). I get the gist of how it should work figure out. Find the point of intersection, find the normal and flip the velocity along the normal, but I haven’t had success implementing it. Can anyone help me out?