Make sure the s2Member user update is only executed when payment status is changed from 'unknown' to 'success'.