I doubt that is the issue. Even a worn battery will charge just not much.
You can check the battery via the inbuilt system
Dial *#*#66#*#*
> Service tests > Test Single > Battery Status check
You will want at least 3.8V at 50% charge etc.
You could do a spin test on the battery
Also as the charging circuit is actually on the core module ensure the contacts are clean