public static function buyCredits() { RecruiterController::requireLogin(); global $params; $recruiterId = $_SESSION['_id']; $customerId = RecruiterModel::getCustomerId($recruiterId); $cardId = $params['cardId']; $credits = $params['credits']; if ($credits <= 0) { return self::ajaxError(); } $filtered = $params['filtered']; $filterRequest = $params['filterRequest']; // How much do we charge per application? $amount = $credits * 800; if ($credits > 50) { $amount *= 5 / 8; } if ($filtered) { $amount += $credits * 500; } $filteredText = $filtered ? ' Filtered' : ''; $description = "{$credits}{$filteredText} Credits"; // Charge the card. $err = StripeBilling::charge($customerId, $cardId, $amount, $description); if (!is_null($err)) { return self::ajaxError($err); } $message = "_id: {$recruiterId}, filterRequest: {$filterRequest}"; sendgmail(['*****@*****.**', '*****@*****.**'], "*****@*****.**", 'Filter Bought', $message); // Add the credits. RecruiterModel::addCredits($recruiterId, $credits); return self::ajaxSuccess(); }