Both are correct, but it depends on the context.
"He hasn't called me back" implies that he might still call you back. It sounds like you're still waiting. Maybe he'll call in a few minutes, or tomorrow. He hasn't called back /yet/. For example, if you invited your friend to go to a concert with you, and the concert is starting soon, but you still haven't gotten a call from your friend, you might say, "I don't know if he's coming. He hasn't called me back." The concert hasn't started yet, so maybe he'll call back in a few minutes and tell you that he's on his way.
"He didn't call me back" means that he never called back, and you're not waiting for him to call now. For example, if you invited him to go to dinner, but it's now past dinnertime and you ended up eating dinner without him, you can say "he never called me back." If you called him yesterday and he said "I'll call back this afternoon," but he didn't call in the afternoon, and now it's the next day, you can say "He didn't call me back."