/** * @param $transactionId * @param $post * @return mixed */ public function updateTransactionStatus($transactionId, $status) { $sql = 'UPDATE ' . self::TRANSACTIONS_TABLE_NAME . ' SET payment_status = ? WHERE txn_id = ?'; $params = [&$status, $transactionId]; $db = new DatabaseService(); $data = $db->execSQL($sql, $params, 'ss'); return count($data) ? $data[0] : null; }
/** * @param $service_provider * @param $service_name * @throws Exception */ public function loadByServiceName($service_provider, $service_name) { $db = new DatabaseService(); $sql = 'SELECT * FROM ' . self::TABLE_NAME . ' WHERE service_provider = ? AND service_name = ?'; $params = [&$service_provider, &$service_name]; $data = $db->execSQL($sql, $params, 'ss'); if (count($data)) { $this->instance = $data[0]; } else { throw new Exception("Error. Service doesn't exist"); } }
/** * @param $userId * @param $serviceProvider * @return bool|mixed|mysqli_result * @throws Exception */ public static function getSubscriptionsArchive($userId, $serviceProvider) { $db = new DatabaseService(); $sql = 'SELECT *,s.id as subId FROM ' . self::TABLE_NAME . ' s INNER JOIN ' . SubscriptionPlan::TABLE_NAME . ' sp ON sp.id = s.plan_id WHERE sp.service_provider = ? AND s.user_id = ?'; $params = [&$serviceProvider, &$userId]; $data = $db->execSQL($sql, $params, 'ss'); return $data; }
/** * @return array * @throws Exception */ public function getSubscriptionPlanOptions() { $planId = $this->id; $db = new DatabaseService(); $sql = 'SELECT * FROM ' . self::TABLE_NAME_OPTIONS . ' WHERE plan_id = ? '; $params = [&$planId]; $data = $db->execSQL($sql, $params, 'i'); $res = []; foreach ($data as $option) { $res[$option['name']] = $option['value']; } return $res; }
/** * @param $userId * @return bool|mixed|mysqli_result * @throws Exception */ public static function getPaymentHistory($userId) { $db = new DatabaseService(); $sql = 'SELECT * FROM ' . self::TABLE_NAME . ' eu INNER JOIN ' . PaypalTransaction::TRANSACTIONS_TABLE_NAME . ' pt ON eu.id = pt.relation_id INNER JOIN ' . ExtraService::TABLE_NAME . ' es ON es.id = eu.service_id WHERE eu.user_id = ? AND pt.relation_type = ? ORDER BY pt.payment_date'; $relationType = PaypalTransaction::TRANSACTION_RELATION_EXTRA_SERVICE; $params = [&$userId, &$relationType]; $data = $db->execSQL($sql, $params, 'is'); return $data; }
/** * @param $id * @return mixed * @throws Exception */ public function getLastActiveTransactionBySubscription($id) { //@TODO refactor it $db = new DatabaseService(); $relationType = PaypalTransaction::TRANSACTION_RELATION_SUBSCRIPTION; $paymentStatus = 'Completed'; $sql = 'SELECT * FROM ' . PaypalTransaction::TRANSACTIONS_TABLE_NAME . ' WHERE relation_id = ? AND relation_type = ? AND payment_status = ? ORDER BY created_date'; $params = [&$id, &$relationType, &$paymentStatus]; $data = $db->execSQL($sql, $params, 'sss'); return $data[0]; }