public static function createFriendsAppSubscription($uid, $nid, $aid, $planid, $ccn, $cctype, $expdate, $friends, $firstname = null, $lastname = null, $email = null, $phone = null) { $plan = Api_Dao_Payments::getPlanByPlanid($planid); $numfriends = $plan[0]['num_friends']; if (count($friends) > $numfriends) { throw new OpenFBAPIException('Too many friends selected for subscription plan. Only ' . $numfriends . ' allowed.'); } $result = self::subscribeViaGateway($uid, $nid, $aid, $planid, $ccn, $cctype, $expdate, $firstname, $lastname, $email, $phone); if ($result->code == 'Ok') { $subscriptionid = $result->transactionId; $payments = new Api_Dao_Payments(); $subscribeResult = $payments->createFriendsAppSubscription($uid, $nid, $aid, $planid, $subscriptionid, $friends); $response = array(); $response['subscription'] = array('gateway_subscription_id' => $subscriptionid, 'uid' => $uid, 'aid' => $aid, 'nid' => $nid, 'planid' => $planid, 'firstname' => $firstname, 'lastname' => $lastname, 'email' => $email, 'phone' => $phone); return $response; } else { throw new OpenFBAPIException($result->messageCode . ': ' . $result->message); } }