Membership is not upgraded while the payment is already received.

My client told me that a member of the membership site (the site has a free membership and a paid membership) upgraded from free to paid, and the PayPal payment went through to my client, but the user was not upgraded from free to premium.
My client then tried to manually change the membership over, so now the user is marked as Premium with a status of Pending (activate on next payment).
Is there a way to find out why he hasn't been upgraded automatically when his PayPal payment was received?