My Interface function is not firing in BP but works fine in C++, I don't know what I'm doing wrong

Blueprints are a bit funky. They don’t work the same way.

You unfortunately can not cast to an interface from a bp that inherits the interface.

Instead you need use the static execute function.

Like so

IInteractionInterface::Execute_OnInteract(HitActor, bartopcharacter );

Checkout this person’s article as I found it has super helpful info.