Author: Carlos Morillo Merino
Beispiel #1
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $valuesFromExport = array();
     $valuesFromExport[] = new \Oara\Curl\Parameter('FromDate', $dStartDate->format("d/m/Y"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('ToDate', $dEndDate->format("d/m/Y"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('ReportType', 'dailyReport');
     $valuesFromExport[] = new \Oara\Curl\Parameter('Link', '-1');
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://www.bet365affiliates.com/Members/Members/Statistics/Print.aspx?', $valuesFromExport);
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $tableList = $xpath->query('//*[contains(concat(" ", normalize-space(@id), " "), " Results ")]');
     if (!\preg_match("/No results exist/", $exportReport[0])) {
         $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->current()));
         $num = \count($exportData);
         for ($i = 2; $i < $num - 1; $i++) {
             $transactionExportArray = \str_getcsv($exportData[$i], ";");
             $transaction = array();
             $transaction['merchantId'] = 1;
             $transactionDate = \DateTime::createFromFormat("d-m-Y", $transactionExportArray[1]);
             $transaction['date'] = $transactionDate->format("Y-m-d 00:00:00");
             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[27]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[32]);
             if ($transaction['amount'] != 0 && $transaction['commission'] != 0) {
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $urls = array();
     $valuesFormExport = array(new \Oara\Curl\Parameter('apikey', $this->_apiPassword), new \Oara\Curl\Parameter('Format', 'CSV'), new \Oara\Curl\Parameter('FieldSeparator', 'comma'), new \Oara\Curl\Parameter('Fields', 'MerchantID,OrderDate,NetworkOrderID,CustomTrackingID,OrderValue,AffiliateCommission,TransactionType,PaidtoAffiliate,DatePaidToAffiliate'), new \Oara\Curl\Parameter('AffiliateID', $this->_user), new \Oara\Curl\Parameter('DateFormat', 'DD/MM/YYYY+HH:MN:SS'), new \Oara\Curl\Parameter('PendingSales', 'YES'), new \Oara\Curl\Parameter('ValidatedSales', 'YES'), new \Oara\Curl\Parameter('VoidSales', 'YES'), new \Oara\Curl\Parameter('GetNewSales', 'YES'));
     $valuesFormExport[] = new \Oara\Curl\Parameter('DateFrom', $dStartDate->format("Y-m-d"));
     $valuesFormExport[] = new \Oara\Curl\Parameter('DateTo', $dEndDate->format("Y-m-d"));
     $urls[] = new \Oara\Curl\Request('http://affiliate.paidonresults.com/api/transactions?', $valuesFormExport);
     $exportReport = $this->_client->get($urls);
     $exportData = \str_getcsv($exportReport[0], "\r\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $exportData[$i] = preg_replace("/\n/", "", $exportData[$i]);
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         if (isset($merchantIdList[$transactionExportArray[0]])) {
             $transaction = array();
             $transaction['merchantId'] = $transactionExportArray[0];
             $transactionDate = \DateTime::createFromFormat("d/m/Y H:i:s", $transactionExportArray[1]);
             $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
             $transaction['unique_id'] = $transactionExportArray[2];
             if ($transactionExportArray[3] != null) {
                 $transaction['custom_id'] = $transactionExportArray[3];
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
             if ($transactionExportArray[6] == 'VALIDATED') {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if ($transactionExportArray[6] == 'PENDING') {
                     $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                 } else {
                     if ($transactionExportArray[6] == 'VOID') {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     }
                 }
             }
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://www.sportscoverdirect.com/promoters/earn', array());
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $results = $xpath->query('//*[contains(concat(" ", normalize-space(@class), " "), " performance ")]');
     if (\count($results) > 0) {
         $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($results->item(0)));
         $num = \count($exportData) - 1;
         //the last row is show-more show-less
         for ($i = 1; $i < $num; $i++) {
             $overviewExportArray = \str_getcsv($exportData[$i], ";");
             $transaction = array();
             $transaction['merchantId'] = 1;
             $date = \DateTime::createFromFormat("d/m/Y", $overviewExportArray[0]);
             $transaction['date'] = $date->format("Y-m-d H:i:s");
             $transaction['amount'] = \Oara\Utilities::parseDouble($overviewExportArray[1]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($overviewExportArray[1]);
             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #4
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $affiliate_id = $this->_id;
     $auth_key = $this->_apikey;
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $strUrl = "https://classic." . $this->_domain . '/api.php';
     $strUrl .= "?affiliate_id={$affiliate_id}";
     $strUrl .= "&auth_key={$auth_key}";
     $strUrl .= "&module=AffiliateReport";
     $strUrl .= "&output=" . \urlencode('csv');
     $strUrl .= "&report_id=8";
     $strUrl .= "&date_begin=" . \urlencode($dStartDate->format("Y-m-d H:i:s"));
     $strUrl .= "&date_end=" . \urlencode($dEndDate->format("Y-m-d H:i:s"));
     $strUrl .= "&include_inactive_merchants=0";
     $strUrl .= "&search_results_include_cpc=0";
     $returnResult = self::makeCall($strUrl);
     $exportData = \str_getcsv($returnResult, "\r\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         if (\count($transactionExportArray) > 1 && isset($merchantIdList[(int) $transactionExportArray[17]])) {
             $transaction = array();
             $merchantId = (int) $transactionExportArray[17];
             $transaction['merchantId'] = $merchantId;
             $transactionDate = \DateTime::createFromFormat("m-d-Y H:i:s", $transactionExportArray[11]);
             if (!$transactionDate) {
                 $transactionDate = \DateTime::createFromFormat("Y-m-d H:i:s", $transactionExportArray[11]);
             }
             $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
             $transaction['unique_id'] = (int) $transactionExportArray[5];
             if ($transactionExportArray[4] != null) {
                 $transaction['custom_id'] = $transactionExportArray[4];
             }
             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[6]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[7]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
 /**
  * @return array
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request("{$this->_extension}/affiliate_invoice.html?", array());
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $tableList = $xpath->query('//table[@class="bluetable"]');
     $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->item(0)));
     $num = \count($exportData);
     for ($i = 4; $i < $num; $i++) {
         $paymentExportArray = \str_getcsv($exportData[$i], ";");
         if (\count($paymentExportArray) > 7) {
             $obj = array();
             $date = \DateTime::createFromFormat("d/m/Y", $paymentExportArray[1]);
             $obj['date'] = $date->format("Y-m-d H:i:s");
             $obj['pid'] = \preg_replace('/[^0-9]/', "", $paymentExportArray[0]);
             $obj['method'] = 'BACS';
             $obj['value'] = \Oara\Utilities::parseDouble($paymentExportArray[4]);
             $paymentHistory[] = $obj;
         }
     }
     return $paymentHistory;
 }
Beispiel #6
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $options = array();
     foreach ($this->_apiClient->getPayments($options) as $payment) {
         $obj = array();
         $date = new \DateTime($payment->billDate);
         $obj['date'] = $date->format("Y-m-d H:i:s");
         $obj['pid'] = $date->format("Ymd");
         $obj['method'] = 'BACS';
         $obj['value'] = \Oara\Utilities::parseDouble($payment->endTotal);
         $paymentHistory[] = $obj;
     }
     return $paymentHistory;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $transactions = array();
     $page = 1;
     $import = true;
     $merchantIdMap = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     while ($import) {
         $totalRows = $page * 300;
         $urls = array();
         $valuesFromExport = array();
         $valuesFromExport[] = new \Oara\Curl\Parameter('email', $this->_user);
         $valuesFromExport[] = new \Oara\Curl\Parameter('apikey', $this->_pass);
         $valuesFromExport[] = new \Oara\Curl\Parameter('from', $dStartDate->format("Y-m-d"));
         $valuesFromExport[] = new \Oara\Curl\Parameter('to', $dEndDate->format("Y-m-d"));
         $valuesFromExport[] = new \Oara\Curl\Parameter('limit', 300);
         $valuesFromExport[] = new \Oara\Curl\Parameter('page', $page);
         $urls[] = new \Oara\Curl\Request("http://api.affiliate4you.nl/1.0/orders.csv?", $valuesFromExport);
         try {
             $result = $this->_client->get($urls);
         } catch (\Exception $e) {
             return $transactions;
         }
         $exportData = \str_getcsv($result[0], "\n");
         for ($i = 1; $i < \count($exportData); $i++) {
             $transactionExportArray = \str_getcsv($exportData[$i], ";");
             if (isset($merchantIdMap[$transactionExportArray[12]])) {
                 $transaction = array();
                 $transaction['unique_id'] = $transactionExportArray[3];
                 $transaction['merchantId'] = $transactionExportArray[12];
                 $transaction['date'] = $transactionExportArray[0];
                 if ($transactionExportArray[8] != null) {
                     $transaction['custom_id'] = $transactionExportArray[8];
                 }
                 if ($transactionExportArray[5] == 'approved') {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transactionExportArray[5] == 'new' || $transactionExportArray[5] == 'onhold') {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transactionExportArray[5] == 'declined') {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $transaction['amount'] = $transactionExportArray[4];
                 $transaction['commission'] = $transactionExportArray[1];
                 $transactions[] = $transaction;
             }
         }
         if (\count($exportData) != $totalRows + 1) {
             $import = false;
         }
         $page++;
     }
     return $transactions;
 }
Beispiel #8
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $merchantMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
     $valuesFromExport = array();
     $valuesFromExport[] = new \Oara\Curl\Parameter('api_key', $this->_apiPassword);
     $valuesFromExport[] = new \Oara\Curl\Parameter('start_date', $dStartDate->format("Y-m-d"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('end_date', $dEndDate->format("Y-m-d"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('filter[Stat.offer_id]', \implode(",", $merchantIdList));
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://p.wowtrk.com/stats/lead_report.xml?', $valuesFromExport);
     $exportReport = $this->_exportClient->get($urls);
     $exportData = self::loadXml($exportReport[0]);
     foreach ($exportData->stats->stat as $transaction) {
         if (isset($merchantMap[(string) $transaction->offer])) {
             $obj = array();
             $obj['merchantId'] = $merchantMap[(string) $transaction->offer];
             $obj['date'] = (string) $transaction->date_time;
             $obj['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             $obj['customId'] = (string) $transaction->sub_id;
             $obj['amount'] = \Oara\Utilities::parseDouble((string) $transaction->payout);
             $obj['commission'] = \Oara\Utilities::parseDouble((string) $transaction->payout);
             if ($obj['amount'] != 0 || $obj['commission'] != 0) {
                 $totalTransactions[] = $obj;
             }
         }
     }
     return $totalTransactions;
 }
Beispiel #9
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $user = $this->_credentials['user'];
     $password = $this->_credentials['password'];
     foreach ($this->_publisherId as $publisherId) {
         $page = 1;
         $pageSize = 100;
         $finish = false;
         while (!$finish) {
             $url = "https://services.daisycon.com:443/publishers/{$publisherId}/transactions?page={$page}&per_page={$pageSize}&start=" . \urlencode($dStartDate->format("Y-m-d H:i:s")) . "&end=" . \urlencode($dEndDate->format("Y-m-d H:i:s"));
             // initialize curl resource
             $ch = \curl_init();
             // set the http request authentication headers
             $headers = array('Authorization: Basic ' . \base64_encode($user . ':' . $password));
             // set curl options
             \curl_setopt($ch, CURLOPT_URL, $url);
             \curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
             \curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
             // execute curl
             $response = \curl_exec($ch);
             $transactionList = \json_decode($response, true);
             if ($transactionList) {
                 foreach ($transactionList as $transaction) {
                     $merchantId = $transaction['program_id'];
                     if (isset($merchantIdList[$merchantId])) {
                         $transactionArray = array();
                         $transactionArray['unique_id'] = $transaction['affiliatemarketing_id'];
                         $transactionArray['merchantId'] = $merchantId;
                         $transactionDate = new \DateTime($transaction['date']);
                         $transactionArray['date'] = $transactionDate->format("Y-m-d H:i:s");
                         $parts = \current($transaction['parts']);
                         if ($parts['subid'] != null) {
                             $transactionArray['custom_id'] = $parts['subid'];
                         }
                         if ($parts['status'] == 'approved') {
                             $transactionArray['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                         } else {
                             if ($parts['status'] == 'pending' || $parts['status'] == 'potential' || $parts['status'] == 'open') {
                                 $transactionArray['status'] = \Oara\Utilities::STATUS_PENDING;
                             } else {
                                 if ($parts['status'] == 'disapproved' || $parts['status'] == 'incasso') {
                                     $transactionArray['status'] = \Oara\Utilities::STATUS_DECLINED;
                                 } else {
                                     throw new \Exception("New status {$parts['status']}");
                                 }
                             }
                         }
                         $transactionArray['amount'] = \Oara\Utilities::parseDouble($parts['revenue']);
                         $transactionArray['commission'] = \Oara\Utilities::parseDouble($parts['commission']);
                         $totalTransactions[] = $transactionArray;
                     }
                 }
             }
             if (\count($transactionList) != $pageSize) {
                 $finish = true;
             }
             $page++;
         }
     }
     return $totalTransactions;
 }
Beispiel #10
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $page = 1;
     $continue = true;
     while ($continue) {
         $valuesFormExport = array();
         $valuesFormExport[] = new \Oara\Curl\Parameter('dateFrom', $dStartDate->format("d/m/Y"));
         $valuesFormExport[] = new \Oara\Curl\Parameter('dateTo', $dEndDate->format("d/m/Y"));
         $valuesFormExport[] = new \Oara\Curl\Parameter('startIndex', $page);
         $valuesFormExport[] = new \Oara\Curl\Parameter('numberOfPages', '1');
         $urls = array();
         $urls[] = new \Oara\Curl\Request('https://etrader.kalahari.com/view/affiliate/transactionreport', $valuesFormExport);
         $exportReport = $this->_client->post($urls);
         $doc = new \DOMDocument();
         @$doc->loadHTML($exportReport[0]);
         $xpath = new \DOMXPath($doc);
         $results = $xpath->query('//table');
         $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($results->item(0)));
         if (\preg_match("/No results found/", $exportData[1])) {
             break;
         } else {
             $page++;
         }
         for ($j = 1; $j < \count($exportData); $j++) {
             $transactionDetail = \str_getcsv($exportData[$j], ";");
             $transaction = array();
             $transaction['merchantId'] = "1";
             if (\preg_match("/Order dispatched: ([0-9]+) /", $transactionDetail[2], $match)) {
                 $transaction['custom_id'] = $match[1];
             }
             $date = \DateTime::createFromFormat("d M Y", $transactionDetail[0]);
             $transaction['date'] = $date->format("Y-m-d 00:00:00");
             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             if ($transactionDetail[3] != null) {
                 $transaction['amount'] = \Oara\Utilities::parseDouble($transactionDetail[3]);
                 $transaction['commission'] = \Oara\Utilities::parseDouble($transactionDetail[3]);
             } else {
                 if ($transactionDetail[4] != null) {
                     $transaction['amount'] = \Oara\Utilities::parseDouble($transactionDetail[4]);
                     $transaction['commission'] = \Oara\Utilities::parseDouble($transactionDetail[4]);
                 }
             }
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #11
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $transactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     foreach ($this->_publisherList as $publisherId => $publisherName) {
         $page = 0;
         $import = true;
         while ($import) {
             $offset = $page * 300;
             $url = "https://{$this->_pass}@itunes-api.performancehorizon.com/reporting/report_publisher/publisher/{$publisherId}/conversion.json?";
             $url .= "status=approved|mixed|pending|rejected";
             $url .= "&start_date=" . \urlencode($dStartDate->format("Y-m-d H:i"));
             $url .= "&end_date=" . \urlencode($dEndDate->format("Y-m-d H:i"));
             $url .= "&offset=" . $offset;
             $result = \file_get_contents($url);
             $conversionList = \json_decode($result, true);
             foreach ($conversionList["conversions"] as $conversion) {
                 $conversion = $conversion["conversion_data"];
                 $conversion["campaign_id"] = \str_replace("l", "", $conversion["campaign_id"]);
                 if (isset($merchantIdList[$conversion["campaign_id"]])) {
                     $transaction = array();
                     $transaction['unique_id'] = $conversion["conversion_id"];
                     $transaction['merchantId'] = $conversion["campaign_id"];
                     $transaction['date'] = $conversion["conversion_time"];
                     if ($conversion["publisher_reference"] != null) {
                         $transaction['custom_id'] = $conversion["publisher_reference"];
                     }
                     if ($conversion["conversion_value"]["conversion_status"] == 'approved') {
                         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                     } else {
                         if ($conversion["conversion_value"]["conversion_status"] == 'pending' || $conversion["conversion_value"]["conversion_status"] == 'mixed') {
                             $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                         } else {
                             if ($conversion["conversion_value"]["conversion_status"] == 'rejected') {
                                 $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                             }
                         }
                     }
                     $transaction['amount'] = $conversion["conversion_value"]["value"];
                     $transaction['currency'] = $conversion["currency"];
                     $transaction['commission'] = $conversion["conversion_value"]["publisher_commission"];
                     $transactions[] = $transaction;
                 }
             }
             if ((int) $conversionList["count"] < $offset) {
                 $import = false;
             }
             $page++;
         }
     }
     return $transactions;
 }
Beispiel #12
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $rowIndex = 0;
     $rowCount = 0;
     $apiURL = "http://{$this->_domain}/affiliates/api/5/reports.asmx/Conversions?api_key={$this->_apiPassword}&affiliate_id={$this->_user}&start_date=" . \urlencode($dStartDate->format("Y-m-d H:i:s")) . "&end_date=" . \urlencode($dEndDate->format("Y-m-d H:i:s")) . "&offer_id=0&start_at_row={$rowIndex}&row_limit={$rowCount}";
     $response = self::call($apiURL);
     if (isset($response["conversions"]["conversion"])) {
         foreach ($response["conversions"]["conversion"] as $transactionApi) {
             $transaction = array();
             $merchantId = (int) $transactionApi["offer_id"];
             if (isset($merchantIdList[$merchantId])) {
                 $transaction['merchantId'] = $merchantId;
                 $transactionDate = new \DateTime($transactionApi["conversion_date"]);
                 $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                 if (!isset($transactionApi["order_id"])) {
                     $transaction['unique_id'] = $transactionApi["conversion_id"];
                 } else {
                     $transaction['unique_id'] = $transactionApi["order_id"];
                 }
                 if (\count($transactionApi["subid_1"]) > 0) {
                     $transaction['custom_id'] = $transactionApi["subid_1"];
                 }
                 if ($transactionApi["disposition"] == "Approved") {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transactionApi["disposition"] == "Pending" || $transactionApi["disposition"] == null) {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transactionApi["disposition"] == "Rejected") {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $transaction['amount'] = $transactionApi["price"];
                 $transaction['commission'] = $transactionApi["price"];
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
Beispiel #13
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $diff = $dStartDate->diff($dEndDate)->days;
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $auxDate = clone $dStartDate;
     for ($i = 0; $i <= $diff; $i++) {
         $totalAuxTransactions = array();
         $transactionList = $this->getSales($auxDate->format("Y-m-d"), 0, $this->_pageSize);
         if ($transactionList->total > 0) {
             $iteration = self::calculeIterationNumber($transactionList->total, $this->_pageSize);
             $totalAuxTransactions = \array_merge($totalAuxTransactions, $transactionList->saleItems->saleItem);
             for ($j = 1; $j < $iteration; $j++) {
                 $transactionList = $this->getSales($auxDate->format("Y-m-d"), $j, $this->_pageSize);
                 $totalAuxTransactions = \array_merge($totalAuxTransactions, $transactionList->saleItems->saleItem);
                 unset($transactionList);
                 \gc_collect_cycles();
             }
         }
         $leadList = $this->_apiClient->getLeads($auxDate->format("Y-m-d"), 'trackingDate', null, null, null, 0, $this->_pageSize);
         if ($leadList->total > 0) {
             $iteration = self::calculeIterationNumber($leadList->total, $this->_pageSize);
             $totalAuxTransactions = \array_merge($totalAuxTransactions, $leadList->leadItems->leadItem);
             for ($j = 1; $j < $iteration; $j++) {
                 $leadList = $this->_apiClient->getLeads($auxDate->format("Y-m-d"), 'trackingDate', null, null, null, $j, $this->_pageSize);
                 $totalAuxTransactions = \array_merge($totalAuxTransactions, $leadList->leadItems->leadItem);
                 unset($leadList);
                 \gc_collect_cycles();
             }
         }
         foreach ($totalAuxTransactions as $transaction) {
             if ($merchantList == null || isset($merchantIdList[$transaction->program->id])) {
                 $obj = array();
                 $obj['currency'] = $transaction->currency;
                 if ($transaction->reviewState == 'confirmed') {
                     $obj['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transaction->reviewState == 'open' || $transaction->reviewState == 'approved') {
                         $obj['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transaction->reviewState == 'rejected') {
                             $obj['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 if (!isset($transaction->amount) || $transaction->amount == 0) {
                     $obj['amount'] = $transaction->commission;
                 } else {
                     $obj['amount'] = $transaction->amount;
                 }
                 if (isset($transaction->gpps) && $transaction->gpps != null) {
                     foreach ($transaction->gpps->gpp as $gpp) {
                         if ($gpp->id == "zpar0") {
                             if (\strlen($gpp->_) > 150) {
                                 $gpp->_ = \substr($gpp->_, 0, 150);
                             }
                             $obj['custom_id'] = $gpp->_;
                         }
                     }
                 }
                 if (isset($transaction->trackingCategory->_) && $transaction->trackingCategory->_ != null) {
                     $obj['title'] = $transaction->trackingCategory->_;
                 }
                 $obj['unique_id'] = $transaction->id;
                 $obj['commission'] = $transaction->commission;
                 $dateString = \explode(".", $transaction->trackingDate);
                 $dateString = \explode("+", $dateString[0]);
                 $transactionDate = \DateTime::createFromFormat("Y-m-d\\TH:i:s", $dateString[0]);
                 $obj["date"] = $transactionDate->format("Y-m-d H:i:s");
                 $obj['merchantId'] = $transaction->program->id;
                 $obj['approved'] = $transaction->reviewState == 'approved' ? true : false;
                 $totalTransactions[] = $obj;
             }
         }
         unset($totalAuxTransactions);
         \gc_collect_cycles();
         $interval = new \DateInterval('P1D');
         $auxDate->add($interval);
     }
     return $totalTransactions;
 }
Beispiel #14
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $startDate = $dStartDate->format('d/m/Y');
     $endDate = $dEndDate->format('d/m/Y');
     $marchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $valueIndex = 9;
     $commissionIndex = 16;
     $statusIndex = 17;
     $valuesFormExport = array(new \Oara\Curl\Parameter('user', $this->_exportUser), new \Oara\Curl\Parameter('pwd', $this->_exportPassword), new \Oara\Curl\Parameter('report', 'AMSCommission_Breakdown'), new \Oara\Curl\Parameter('groupby', 'Programme'), new \Oara\Curl\Parameter('groupdate', 'Day'), new \Oara\Curl\Parameter('creative', ''), new \Oara\Curl\Parameter('CommOnly', '1'), new \Oara\Curl\Parameter('showimpressions', 'True'), new \Oara\Curl\Parameter('showclicks', 'True'), new \Oara\Curl\Parameter('showreferrals', 'True'), new \Oara\Curl\Parameter('showtransactionvalues', 'True'), new \Oara\Curl\Parameter('sort', 'Date asc'), new \Oara\Curl\Parameter('format', 'csv'));
     $valuesFormExport[] = new \Oara\Curl\Parameter('datefrom', $startDate);
     $valuesFormExport[] = new \Oara\Curl\Parameter('dateto', $endDate);
     $urls = array();
     $urls[] = new \Oara\Curl\Request($this->_serverUrl . 'reports/remote.aspx?', $valuesFormExport);
     $exportReport = $this->_client->get($urls);
     $exportData = \str_getcsv($exportReport[0], "\r\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         if (isset($marchantIdList[$transactionExportArray[4]])) {
             $transaction = array();
             $transaction['unique_id'] = \preg_replace('/\\D/', '', $transactionExportArray[0]);
             $transaction['merchantId'] = $transactionExportArray[4];
             $transactionDate = \DateTime::createFromFormat("d/m/Y H:i:s", $transactionExportArray[2]);
             $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
             if ($transactionExportArray[7] != null) {
                 $transaction['custom_id'] = $transactionExportArray[7];
             }
             if (\preg_match('/Unpaid Confirmed/', $transactionExportArray[$statusIndex]) || \preg_match('/Paid Confirmed/', $transactionExportArray[$statusIndex])) {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if (\preg_match('/Unpaid Unconfirmed/', $transactionExportArray[$statusIndex])) {
                     $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                 } else {
                     if (\preg_match('/Unpaid Rejected/', $transactionExportArray[$statusIndex])) {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     } else {
                         throw new \Exception("No Status supported " . $transactionExportArray[$statusIndex]);
                     }
                 }
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[$valueIndex]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[$commissionIndex]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #15
0
 /**
  * @param $paymentId
  * @return array
  * @throws \Exception
  */
 public function paymentTransactions($paymentId)
 {
     $transactionList = array();
     $urls = array();
     $valuesFormExport = array();
     $valuesFormExport[] = new \Oara\Curl\Parameter('popup', 'true');
     $valuesFormExport[] = new \Oara\Curl\Parameter('payment_id', $paymentId);
     $urls[] = new \Oara\Curl\Request('http://publisher.tradedoubler.com/pan/reports/Payment.html?', $valuesFormExport);
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML(\Oara\Utilities::DOMinnerHTML($exportReport[0]));
     $xpath = new \DOMXPath($doc);
     $results = $xpath->query('//a');
     $urls = array();
     foreach ($results as $result) {
         $url = $result->getAttribute('href');
         $urls[] = new \Oara\Curl\Request("http://publisher.tradedoubler.com" . $url . "&format=CSV", array());
     }
     $exportReportList = $this->_client->get($urls);
     foreach ($exportReportList as $exportReport) {
         $exportReportData = \str_getcsv($exportReport, "\r\n");
         $num = \count($exportReportData);
         for ($i = 2; $i < $num - 1; $i++) {
             $transactionArray = \str_getcsv($exportReportData[$i], ";");
             if ($transactionArray[8] != '') {
                 $transactionList[] = $transactionArray[8];
             } else {
                 if ($transactionArray[7] != '') {
                     $transactionList[] = $transactionArray[7];
                 } else {
                     throw new \Exception("No Identifier");
                 }
             }
         }
     }
     return $transactionList;
 }
Beispiel #16
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $limit = 100;
     $page = 1;
     $loop = true;
     while ($loop) {
         $apiURL = "http://api.hasoffers.com/v3/Affiliate_Report.json?limit={$limit}&page={$page}&Method=getConversions&api_key={$this->_apiPassword}&NetworkId={$this->_domain}&fields[]=Stat.offer_id&fields[]=Stat.datetime&fields[]=Offer.name&fields[]=Stat.conversion_status&fields[]=Stat.payout&fields[]=Stat.conversion_sale_amount&fields[]=Stat.ip&fields[]=Stat.ad_id&fields[]=Stat.affiliate_info1&sort[Stat.datetime]=desc&filters[Stat.date][conditional]=BETWEEN&filters[Stat.date][values][]={$dStartDate->format("Y-m-d")}&filters[Stat.date][values][]={$dEndDate->format("Y-m-d")}&data_start={$dStartDate->format("Y-m-d")}&data_end={$dEndDate->format("Y-m-d")}";
         $response = self::call($apiURL);
         foreach ($response["response"]["data"]["data"] as $transactionApi) {
             $transaction = array();
             $merchantId = (int) $transactionApi["Stat"]["offer_id"];
             if ($merchantList == null || isset($merchantIdList[$merchantId])) {
                 $transaction['merchantId'] = $merchantId;
                 $transaction['date'] = $transactionApi["Stat"]["datetime"];
                 if ($transactionApi["Stat"]["ad_id"] != null) {
                     $transaction['unique_id'] = $transactionApi["Stat"]["ad_id"];
                 }
                 if ($transactionApi["Stat"]["affiliate_info1"] != null) {
                     $transaction['custom_id'] = $transactionApi["Stat"]["affiliate_info1"];
                 }
                 if ($transactionApi["Stat"]["conversion_status"] == "approved") {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transactionApi["Stat"]["conversion_status"] == "pending") {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transactionApi["Stat"]["conversion_status"] == "rejected") {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $transaction['amount'] = $transactionApi["Stat"]["payout"];
                 if (isset($transactionApi["Stat"]["conversion_sale_amount"])) {
                     $transaction['amount'] = $transactionApi["Stat"]["conversion_sale_amount"];
                 }
                 $transaction['commission'] = $transactionApi["Stat"]["payout"];
                 $totalTransactions[] = $transaction;
             }
         }
         if ((int) $response["response"]["data"]["pageCount"] <= $page) {
             $loop = false;
         }
         $page++;
     }
     return $totalTransactions;
 }
Beispiel #17
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $urls = array();
     $url = "https://foxtransfer.eu/index.php?q=prices.en.html&page=affiliate_orders&language=1&basedir=theme2&what=record_time&what=record_time&fy={$dStartDate->format("Y")}&fm={$dStartDate->format("n")}&fd={$dStartDate->format("j")}&ty={$dEndDate->format("Y")}&tm={$dEndDate->format("n")}&td={$dEndDate->format("j")}";
     $urls[] = new \Oara\Curl\Request($url, array());
     $exportReport = $this->_client->get($urls);
     $exportReport = \str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "", $exportReport[0]);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport);
     $xpath = new \DOMXPath($doc);
     $tableList = $xpath->query('//*[contains(concat(" ", normalize-space(@id), " "), " tartalom-hatter ")]');
     $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->item(0)));
     $num = \count($exportData);
     for ($i = 11; $i < $num - 8; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ";");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['unique_id'] = $transactionExportArray[0];
         $transaction['date'] = "{$dStartDate->format("Y")}-{$dStartDate->format("m")}-01 00:00:00";
         if ($transactionExportArray[7] == "Confirmed") {
             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         } else {
             if ($transactionExportArray[7] == "Cancelled") {
                 $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
             } else {
                 throw new \Exception("New status found {$transaction['status']}");
             }
         }
         $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[10]);
         $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[13]);
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Beispiel #18
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
     $statusArray = array(0, 1, 2);
     foreach ($statusArray as $status) {
         $valuesFromExport = array(new \Oara\Curl\Parameter('AfID', '0'), new \Oara\Curl\Parameter('S', ''), new \Oara\Curl\Parameter('ST', '2'), new \Oara\Curl\Parameter('Period', '6'), new \Oara\Curl\Parameter('AdID', '0'), new \Oara\Curl\Parameter('B', '2'));
         $valuesFromExport[] = new \Oara\Curl\Parameter('SD', $dStartDate->format("Y-m-d"));
         $valuesFromExport[] = new \Oara\Curl\Parameter('ED', $dEndDate->format("Y-m-d"));
         $valuesFromExport[] = new \Oara\Curl\Parameter('Status', $status);
         $urls = array();
         $urls[] = new \Oara\Curl\Request('http://www.clixgalore.co.uk/AffiliateTransactionSentReport_Excel.aspx?', $valuesFromExport);
         $exportReport = $this->_client->get($urls);
         $exportData = \Oara\Utilities::htmlToCsv($exportReport[0]);
         $num = \count($exportData);
         for ($i = 1; $i < $num; $i++) {
             $transactionExportArray = \str_getcsv($exportData[$i], ";");
             if (isset($merchantMap[$transactionExportArray[2]])) {
                 $transaction = array();
                 $merchantId = (int) $merchantMap[$transactionExportArray[2]];
                 $transaction['merchantId'] = $merchantId;
                 $transactionDate = \DateTime::createFromFormat("d M Y H:m", $transactionExportArray[0]);
                 $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                 if ($transactionExportArray[6] != null) {
                     $transaction['custom_id'] = $transactionExportArray[6];
                 }
                 if ($status == 1) {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($status == 2) {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($status == 0) {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
                 $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $dirDestination = \realpath(\dirname(COOKIES_BASE_DIR)) . '/pdf';
     $file = "{$this->_bucket}/sales/salesreport_" . $dStartDate->format("Ym") . ".zip";
     $url = "http://affjet.dc.fubra.net/tools/gsutil/gs.php?bucket=" . \urlencode($file) . "&type=cp";
     $context = \stream_context_create(array('http' => array('header' => "Authorization: Basic " . \base64_encode("{$this->_httpLogin}"))));
     \file_put_contents($dirDestination . "/report.zip", \file_get_contents($url, false, $context));
     $zip = new \ZipArchive();
     if ($zip->open($dirDestination . "/report.zip") === TRUE) {
         $zip->extractTo($dirDestination);
         $zip->close();
     } else {
         return $totalTransactions;
     }
     \unlink($dirDestination . "/report.zip");
     $salesReport = \file_get_contents($dirDestination . "/salesreport_" . $dStartDate->format("Ym") . ".csv");
     $salesReport = \explode("\n", $salesReport);
     for ($i = 1; $i < \count($salesReport) - 1; $i++) {
         $row = \str_getcsv($salesReport[$i], ",");
         $sub = false;
         if ($row[12] < 0) {
             $sub = true;
         }
         $obj = array();
         $obj['unique_id'] = $row[0] . $row[3];
         $obj['merchantId'] = "1";
         $obj['date'] = $row[1] . " 00:00:00";
         $obj['custom_id'] = $row[5];
         $comission = 0.3;
         if ($row[6] == "com.petrolprices.app") {
             $value = 2.99;
             $obj['amount'] = \Oara\Utilities::parseDouble($value);
             $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
         } else {
             if ($row[6] == "com.fubra.wac") {
                 if ($obj['date'] < "2013-04-23 00:00:00") {
                     $value = 0.6899999999999999;
                     $obj['amount'] = \Oara\Utilities::parseDouble($value);
                     $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
                 } else {
                     $value = 1.49;
                     $obj['amount'] = \Oara\Utilities::parseDouble($value);
                     $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
                 }
             }
         }
         if ($sub) {
             $obj['amount'] = -$obj['amount'];
             $obj['commission'] = -$obj['commission'];
         }
         $obj['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $totalTransactions[] = $obj;
     }
     \unlink($dirDestination . "/salesreport_" . $dStartDate->format("Ym") . ".csv");
     return $totalTransactions;
 }
Beispiel #20
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $dEndDate->add(new \DateInterval('P1D'));
     $publisherStatisticsServiceUrl = 'https://api.affili.net/V2.0/PublisherStatistics.svc?wsdl';
     $publisherStatisticsService = new \SoapClient($publisherStatisticsServiceUrl, array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE, 'soap_version' => SOAP_1_1));
     $iterationNumber = self::calculeIterationNumber(\count($merchantIdList), 100);
     for ($currentIteration = 0; $currentIteration < $iterationNumber; $currentIteration++) {
         $merchantListSlice = \array_slice(\array_keys($merchantIdList), 100 * $currentIteration, 100);
         $merchantListAux = array();
         foreach ($merchantListSlice as $merchant) {
             $merchantListAux[] = (string) $merchant;
         }
         $params = array('StartDate' => \strtotime($dStartDate->format("Y-m-d")), 'EndDate' => \strtotime($dEndDate->format("Y-m-d")), 'TransactionStatus' => 'All', 'ProgramIds' => $merchantListAux);
         $currentPage = 1;
         $transactionList = self::affilinetCall('transaction', $publisherStatisticsService, $params, 0, $currentPage);
         while (isset($transactionList->TotalRecords) && $transactionList->TotalRecords > 0 && isset($transactionList->TransactionCollection->Transaction)) {
             $transactionCollection = array();
             if (!\is_array($transactionList->TransactionCollection->Transaction)) {
                 $transactionCollection[] = $transactionList->TransactionCollection->Transaction;
             } else {
                 $transactionCollection = $transactionList->TransactionCollection->Transaction;
             }
             foreach ($transactionCollection as $transactionObject) {
                 $transaction = array();
                 $transaction["status"] = $transactionObject->TransactionStatus;
                 $transaction["unique_id"] = $transactionObject->TransactionId;
                 $transaction["commission"] = $transactionObject->PublisherCommission;
                 $transaction["amount"] = $transactionObject->NetPrice;
                 $dateString = \explode(".", $transactionObject->RegistrationDate);
                 $transactionDate = \DateTime::createFromFormat("Y-m-d\\TH:i:s", $dateString[0]);
                 $transaction["date"] = $transactionDate->format("Y-m-d H:i:s");
                 $transaction["merchantId"] = $transactionObject->ProgramId;
                 $transaction["custom_id"] = $transactionObject->SubId;
                 if ($transaction['status'] == 'Confirmed') {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transaction['status'] == 'Open') {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transaction['status'] == 'Cancelled') {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $totalTransactions[] = $transaction;
             }
             $currentPage++;
             $transactionList = self::affilinetCall('transaction', $publisherStatisticsService, $params, 0, $currentPage);
         }
     }
     return $totalTransactions;
 }
Beispiel #21
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $dEndDate->add(new \DateInterval('P1D'));
     $valuesFormExport = array();
     $valuesFormExport[] = new \Oara\Curl\Parameter('pDB', 'UK');
     $valuesFormExport[] = new \Oara\Curl\Parameter('content', 'PDF');
     $valuesFormExport[] = new \Oara\Curl\Parameter('pDate1', $dStartDate->format("m/j/Y"));
     $valuesFormExport[] = new \Oara\Curl\Parameter('pDate2', $dEndDate->format("m/j/Y"));
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://www.autoeurope.co.uk/afftools/iatareport_popup.cfm?', $valuesFormExport);
     $exportReport = $this->_client->post($urls);
     $xmlTransactionList = self::readTransactions($exportReport[0]);
     foreach ($xmlTransactionList as $xmlTransaction) {
         $transaction = array();
         $transaction['merchantId'] = 1;
         $date = \DateTime::createFromFormat("m/d/Y", $xmlTransaction['Booked']);
         $transaction['date'] = $date->format("Y-m-d 00:00:00");
         $transaction['amount'] = \Oara\Utilities::parseDouble((double) $xmlTransaction['commissionValue']);
         $transaction['commission'] = \Oara\Utilities::parseDouble((double) $xmlTransaction['commission']);
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['unique_id'] = $xmlTransaction['Res #'];
         if (isset($xmlTransaction['Affiliate1']) && isset($xmlTransaction['Affiliate2'])) {
             $customId = (string) $xmlTransaction['Affiliate1'] . (string) $xmlTransaction['Affiliate2'];
             $transaction['custom_id'] = $customId;
         }
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Beispiel #22
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $mechantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $returnResult = self::makeCall("activity", "&dateStart=" . $dStartDate->format("m/d/Y") . "&dateEnd=" . $dEndDate->format("m/d/Y"));
     $exportData = \str_getcsv($returnResult, "\r\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], "|");
         if (\count($transactionExportArray) > 1 && isset($mechantIdList[(int) $transactionExportArray[2]])) {
             $transaction = array();
             $merchantId = (int) $transactionExportArray[2];
             $transaction['merchantId'] = $merchantId;
             $dateString = str_replace(array(" AM", " PM"), "", $transactionExportArray[3]);
             $transactionDate = \DateTime::createFromFormat("m/d/Y H:i:s", $dateString);
             $transaction['date'] = $transactionDate->format("yyyy-MM-dd HH:mm:ss");
             $transaction['unique_id'] = (int) $transactionExportArray[0];
             if ($transactionExportArray[1] != null) {
                 $transaction['custom_id'] = $transactionExportArray[1];
             }
             if ($transactionExportArray[9] != null) {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if ($transactionExportArray[8] != null) {
                     $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                 } else {
                     if ($transactionExportArray[7] != null) {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     } else {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     }
                 }
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #23
0
 /**
  * @return array
  * @throws Exception
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://member.impactradius.co.uk/secure/nositemesh/accounting/getPayStubParamsCSV.csv', array());
     $exportReport = $this->_client->get($urls);
     $exportData = \str_getcsv($exportReport[0], "\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $paymentExportArray = \str_getcsv($exportData[$i], ",");
         $obj = array();
         $date = \DateTime::createFromFormat("M d, Y", $paymentExportArray[1]);
         $obj['date'] = $date->format("y-m-d H:i:s");
         $obj['pid'] = $paymentExportArray[0];
         $obj['method'] = 'BACS';
         $obj['value'] = \Oara\Utilities::parseDouble($paymentExportArray[6]);
         $paymentHistory[] = $obj;
     }
     return $paymentHistory;
 }
Beispiel #24
0
 /**
  * @return array
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://affiliates.mypcbackup.com/paychecks', array());
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $tableList = $xpath->query('//*[contains(concat(" ", normalize-space(@class), " "), " transtable ")]');
     if ($tableList->item(0) != null) {
         $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->item(0)));
         $num = \count($exportData);
         for ($i = 1; $i < $num; $i++) {
             $paymentExportArray = \str_getcsv($exportData[$i], ";");
             try {
                 $obj = array();
                 $date = \DateTime::createFromFormat("m/d/Y", $paymentExportArray[14]);
                 $date->setTime(0, 0);
                 $obj['date'] = $date->format("Y-m-d H:i:s");
                 $obj['pid'] = \preg_replace('/[^0-9\\.,]/', "", $paymentExportArray[14]);
                 $obj['method'] = $paymentExportArray[16];
                 $obj['value'] = \Oara\Utilities::parseDouble($paymentExportArray[12]);
                 $paymentHistory[] = $obj;
             } catch (\Exception $e) {
                 echo "Payment failed\n";
             }
         }
     }
     return $paymentHistory;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws \Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $valuesFormExport = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://system.fashiontraffic.com/stats/lead_report', $valuesFormExport);
     $exportReport = $this->_client->post($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $results = $xpath->query('//input[@name="data[_Token][key]"]');
     foreach ($results as $values) {
         $valuesFormExport[] = new \Oara\Curl\Parameter($values->getAttribute("name"), $values->getAttribute("value"));
     }
     $results = $xpath->query('//input[@name="data[_Token][fields]"]');
     foreach ($results as $values) {
         $valuesFormExport[] = new \Oara\Curl\Parameter($values->getAttribute("name"), $values->getAttribute("value"));
     }
     $valuesFormExport[] = new \Oara\Curl\Parameter("_method", 'POST');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][page]", '');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.offer_id');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.datetime');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.ad_id');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.source');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.affiliate_info1');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.affiliate_info2');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.affiliate_info3');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.affiliate_info4');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.affiliate_info5');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.conversion_payout');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][fields][]", 'Stat.conversion_status');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][search][field]", '');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[Report][search][value]", '');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[DateRange][timezone]", 'America/New_York');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[DateRange][preset_date_range]", 'other');
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[DateRange][start_date]", $dStartDate->format("Y-m-d"));
     $valuesFormExport[] = new \Oara\Curl\Parameter("data[DateRange][end_date]", $dEndDate->format("Y-m-d"));
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://system.fashiontraffic.com/stats/lead_report', $valuesFormExport);
     $exportReport = $this->_client->post($urls);
     $csvUrl = null;
     if (\preg_match("/report:(.*).csv/", $exportReport[0], $match)) {
         $csvUrl = "http://system.fashiontraffic.com/stats/conversion_report/report:{$match[1]}.csv";
     }
     $valuesFormExport = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request($csvUrl, $valuesFormExport);
     $exportReport = $this->_client->get($urls);
     $exportData = \str_getcsv($exportReport[0], "\n");
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         if (isset($merchantIdList[(int) $transactionExportArray[0]])) {
             $transaction = array();
             $merchantId = (int) $transactionExportArray[0];
             $transaction['merchantId'] = $merchantId;
             $transaction['date'] = $transactionExportArray[1];
             if ($transactionExportArray[5] != null) {
                 $transaction['custom_id'] = $transactionExportArray[5];
             }
             if ($transactionExportArray[10] == 'approved') {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if ($transactionExportArray[10] == 'rejected') {
                     $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                 } else {
                     throw new \Exception("Status {$transactionExportArray[10]} unknown");
                 }
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[9]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[9]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #26
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $chip = $this->_s;
     if ($this->_transactionList == null) {
         $urls = array();
         $urls[] = new \Oara\Curl\Request("https://billing.purevpn.com/affiliates/scripts/server.php?C=Pap_Affiliates_Reports_TransactionsGrid&M=getCSVFile&S={$chip}&FormRequest=Y&FormResponse=Y", array());
         $exportReport = $this->_client->post($urls);
         $this->_transactionList = \str_getcsv($exportReport[0], "\n");
     }
     $exportData = $this->_transactionList;
     $num = \count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['unique_id'] = $transactionExportArray[36];
         $transaction['date'] = $transactionExportArray[5];
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[1]);
         $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[0]);
         if ($transaction['date'] >= $dStartDate->format("Y-m-d H:i:s") && $transaction['date'] <= $dEndDate->format("Y-m-d H:i:s")) {
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #27
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $context = \stream_context_create(array('http' => array('header' => "Authorization: Basic " . \base64_encode("{$this->_user}:{$this->_pass}"))));
     $from = \urlencode($dStartDate->format("Y-m-d H:i:s"));
     $data = \file_get_contents("http://api.webepartners.pl/wydawca/Auctions?from={$from}", false, $context);
     $dataArray = \json_decode($data, true);
     foreach ($dataArray as $transactionObject) {
         if (isset($merchantIdList[$transactionObject["ProgramId"]])) {
             $transaction = array();
             $transaction['merchantId'] = $transactionObject["ProgramId"];
             $transaction['date'] = $transactionObject["AuctionDate"];
             if (isset($transactionObject["AuctionId"]) && $transactionObject["AuctionId"] != '') {
                 $transaction['unique_id'] = $transactionObject["AuctionId"];
             }
             if (isset($transactionObject["subID"]) && $transactionObject["subID"] != '') {
                 $transaction['custom_id'] = $transactionObject["subID"];
             }
             if ($transactionObject["AuctionStatusId"] == 3 || $transactionObject["AuctionStatusId"] == 4 || $transactionObject["AuctionStatusId"] == 5) {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if ($transactionObject["AuctionStatusId"] == 1) {
                     $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                 } else {
                     if ($transactionObject["AuctionStatusId"] == 2) {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     } else {
                         if ($transactionObject["AuctionStatusId"] == 6) {
                             $transaction['status'] = \Oara\Utilities::STATUS_PAID;
                         }
                     }
                 }
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($transactionObject["OrderCost"]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($transactionObject["Commission"]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Beispiel #28
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  * @throws \Exception
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $auxDate = clone $dStartDate;
     $amountDays = $dStartDate->diff($dEndDate)->days;
     for ($j = 0; $j <= $amountDays; $j++) {
         // Getting the csv by curl can throw an exception if the csv size is 0 bytes. So, first of all, get the json. If total is 0, continue, else, get the csv.
         $valuesFormExport = array();
         $url = "https://partner-int-api.groupon.com/reporting/v2/order.json?clientId={$this->_credentials['apipassword']}&group=order&date={$auxDate->format("Y-m-d")}";
         $urls = array();
         $urls[] = new \Oara\Curl\Request($url, $valuesFormExport);
         $exportReport = $this->_client->get($urls);
         $jsonExportReport = json_decode($exportReport[0], true);
         if ($jsonExportReport['total'] != 0) {
             $valuesFormExport = array();
             $url = "https://partner-int-api.groupon.com/reporting/v2/order.csv?clientId={$this->_credentials['apipassword']}&group=order&date={$auxDate->format("Y-m-d")}";
             $urls = array();
             $urls[] = new \Oara\Curl\Request($url, $valuesFormExport);
             $exportReport = $this->_client->get($urls);
             $exportData = \str_getcsv($exportReport[0], "\n");
             $num = \count($exportData);
             for ($i = 1; $i < $num; $i++) {
                 $transactionExportArray = \str_getcsv($exportData[$i], ",");
                 $transaction = array();
                 $transaction['merchantId'] = "1";
                 $transaction['date'] = $auxDate->format("Y-m-d H:i:s");
                 $transaction['unique_id'] = $transactionExportArray[0];
                 $transaction['currency'] = $transactionExportArray[4];
                 if ($transactionExportArray[1] != null) {
                     $transaction['custom_id'] = $transactionExportArray[1];
                 }
                 if ($transactionExportArray[5] == 'VALID' || $transactionExportArray[5] == 'REFUNDED') {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transactionExportArray[5] == 'INVALID') {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     } else {
                         throw new \Exception("Status {$transactionExportArray[5]} unknown");
                     }
                 }
                 $transaction['amount'] = \Oara\Utilities::parseDouble((double) $transactionExportArray[8]);
                 $transaction['commission'] = \Oara\Utilities::parseDouble((double) $transactionExportArray[12]);
                 $totalTransactions[] = $transaction;
             }
         }
         $auxDate->add(new \DateInterval('P1D'));
     }
     return $totalTransactions;
 }
 /**
  * @return array
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://members.cj.com/member/cj/publisher/paymentStatus', array());
     $exportReport = $this->_client->get($urls);
     if (\preg_match('/\\/publisher\\/getpublisherpaymenthistory\\.do/', $exportReport[0], $matches)) {
         $urls = array();
         $valuesFromExport = array(new \Oara\Curl\Parameter('startRow', '0'), new \Oara\Curl\Parameter('sortKey', ''), new \Oara\Curl\Parameter('sortOrder', ''), new \Oara\Curl\Parameter('format', '6'), new \Oara\Curl\Parameter('button', 'Go'));
         $urls[] = new \Oara\Curl\Request('https://members.cj.com/member/' . $this->_memberId . '/publisher/getpublisherpaymenthistory.do?', $valuesFromExport);
         $exportReport = $this->_client->get($urls);
         $exportData = \str_getcsv($exportReport[0], "\n");
         $num = \count($exportData);
         for ($j = 1; $j < $num; $j++) {
             $paymentData = \str_getcsv($exportData[$j], ",");
             $obj = array();
             $date = \DateTime::createFromFormat("d-M-Y H:i \\P\\S\\T", $paymentData[0]);
             if (!$date) {
                 $date = \DateTime::createFromFormat("d-M-Y H:i \\P\\D\\T", $paymentData[0]);
             }
             if ($date) {
                 $obj['date'] = $date->format("Y-m-d H:i:s");
                 $obj['value'] = \Oara\Utilities::parseDouble($paymentData[1]);
                 $obj['method'] = $paymentData[2];
                 $obj['pid'] = $paymentData[6];
                 $paymentHistory[] = $obj;
             }
         }
     }
     return $paymentHistory;
 }
Beispiel #30
0
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $merchantIdMap = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
     $result = $this->_client->getEventList(null, null, null, null, null, $dStartDate->format("Y-m-d"), $dEndDate->format("Y-m-d"), null, null, null, null, 0);
     foreach ($result->handler->events as $event) {
         if (isset($merchantIdMap[$event["programid"]])) {
             $transaction = array();
             $transaction['unique_id'] = $event["eventid"];
             $transaction['merchantId'] = $event["programid"];
             $transaction['date'] = $event["eventdate"];
             if ($event["subid"] != null) {
                 $transaction['custom_id'] = $event["subid"];
                 if (\preg_match("/subid1=/", $transaction['custom_id'])) {
                     $transaction['custom_id'] = str_replace("subid1=", "", $transaction['custom_id']);
                 }
             }
             if ($event["eventstatus"] == 'APPROVED') {
                 $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
             } else {
                 if ($event["eventstatus"] == 'PENDING') {
                     $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                 } else {
                     if ($event["eventstatus"] == 'REJECTED') {
                         $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                     }
                 }
             }
             $transaction['amount'] = \Oara\Utilities::parseDouble($event["netvalue"]);
             $transaction['commission'] = \Oara\Utilities::parseDouble($event["eventcommission"]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }