I've been looking at doing something similar myself. From my research into how the process works i'd suggest taking a look at class_paid_subscription.php.
line 338 contains a hook thats called once a user has completed payment for a subscription.
PHP Code:
/**
* Creates user subscription
*
* @param int The id of the subscription
* @param int The subid of the subscription, this indicates the length
* @param int The userid the subscription is to be applied to
* @param int The start timestamp of the subscription
* @param int The expiry timestamp of the subscription
*
*/
function build_user_subscription($subscriptionid, $subid, $userid, $regdate = 0, $expirydate = 0)
Thats the method the hook appears in you would need to use $subscriptionid and possibly $subid in deciding what to do in your switch statement.
As a final note, try to use the vbulletin datamanagers for editing the users reputation as opposed to doing it manually.