parseDouble() публичный статический Метод

Parse Double, delete odd characters.
public static parseDouble ( $data ) : double
$data
Результат double
Пример #1
0
 /**
  * @return array
  * @throws \Exception
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://affiliates.affiliatefuture.com/myaccount/invoices.aspx', array());
     $exportReport = $this->_client->get($urls);
     $doc = new \DOMDocument();
     @$doc->loadHTML($exportReport[0]);
     $xpath = new \DOMXPath($doc);
     $tableList = $xpath->query('//table');
     $registerTable = $tableList->item(12);
     if ($registerTable == null) {
         throw new \Exception('Fail getting the payment History');
     }
     $registerLines = $registerTable->childNodes;
     for ($i = 1; $i < $registerLines->length; $i++) {
         $registerLine = $registerLines->item($i)->childNodes;
         $obj = array();
         $date = \DateTime::createFromFormat("d/m/Y", trim($registerLine->item(1)->nodeValue));
         $date->setTime(0, 0);
         $obj['date'] = $date->format("Y-m-d H:i:s");
         $obj['pid'] = trim($registerLine->item(0)->nodeValue);
         $value = trim(substr(trim($registerLine->item(4)->nodeValue), 4));
         $obj['value'] = \Oara\Utilities::parseDouble($value);
         $obj['method'] = 'BACS';
         $paymentHistory[] = $obj;
     }
     return $paymentHistory;
 }
Пример #2
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);
     $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;
 }
Пример #3
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();
     $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;
 }
Пример #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;
 }
Пример #5
0
 /**
  * @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;
 }
Пример #6
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;
 }
 /**
  * @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;
 }
Пример #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();
     $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;
 }
Пример #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();
     $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;
 }
Пример #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();
     $valuesFromExport = array();
     $valuesFromExport[] = new \Oara\Curl\Parameter('ctl00$cphPage$reportFrom', $dStartDate->format("Y-m-d"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('ctl00$cphPage$reportTo', $dEndDate->format("Y-m-d"));
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://affiliates.affutd.com/affiliatesv1/DataServiceWrapper/DataService.svc/Export/CSV/Affiliates_Reports_GeneralStats_DailyFigures', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $exportData = \str_getcsv($exportReport[0], "\n");
     $num = \count($exportData);
     for ($i = 2; $i < $num - 1; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $date = \DateTime::createFromFormat("d-m-Y", trim($transactionExportArray[0]));
         $date->setTime(0, 0);
         $transaction['date'] = $date->format("Y-m-d H:i:s");
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[16]);
         $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[16]);
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Пример #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)
 {
     $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;
 }
Пример #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();
     $merchantMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
     $valuesFromExport = array();
     $valuesFromExport[] = new \Oara\Curl\Parameter('c', 'stats');
     $valuesFromExport[] = new \Oara\Curl\Parameter('id_shop', '');
     $valuesFromExport[] = new \Oara\Curl\Parameter('a', 'listMonthDayOrder');
     $valuesFromExport[] = new \Oara\Curl\Parameter('month', $dEndDate->fromat("Y-m"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('export', 'csv');
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://www.afiliant.com/publisher/index.php?', $valuesFromExport);
     $exportData = null;
     try {
         $exportReport = $this->_client->get($urls);
         $exportData = \str_getcsv($exportReport[0], "\r\n");
     } catch (\Exception $e) {
         echo "No data \n";
     }
     if ($exportData != null) {
         $num = \count($exportData);
         for ($i = 0; $i < $num; $i++) {
             $transactionExportArray = \str_getcsv($exportData[$i], ";");
             if (isset($merchantMap[$transactionExportArray[1]])) {
                 $transaction = array();
                 $merchantId = (int) $merchantMap[$transactionExportArray[1]];
                 $transaction['merchantId'] = $merchantId;
                 $transaction['date'] = $transactionExportArray[0] . " 00:00:00";
                 $transaction['unique_id'] = $transactionExportArray[3];
                 if (isset($transactionExportArray[8]) && $transactionExportArray[8] != null) {
                     $transaction['custom_id'] = $transactionExportArray[8];
                 }
                 if ($transactionExportArray[6] == 'zaakceptowana') {
                     $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                 } else {
                     if ($transactionExportArray[6] == 'oczekuje') {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($transactionExportArray[6] == 'odrzucona') {
                             $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                         }
                     }
                 }
                 $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
                 $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
Пример #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();
     //----------------------------------------------
     // get recordset of list of transactions
     $request = new \Pap_Api_TransactionsGrid($this->_session);
     // set filter
     $request->addFilter('dateinserted', 'D>=', $dStartDate->format("Y-m-d"));
     $request->addFilter('dateinserted', 'D<=', $dEndDate->format("Y-m-d"));
     $request->setLimit(0, 100);
     $request->setSorting('t_orderid', false);
     $request->sendNow();
     $grid = $request->getGrid();
     $recordset = $grid->getRecordset();
     // iterate through the records
     foreach ($recordset as $rec) {
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['unique_id'] = $rec->get('id');
         $transaction['date'] = $rec->get('dateinserted');
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = \Oara\Utilities::parseDouble($rec->get('totalcost'));
         $transaction['commission'] = \Oara\Utilities::parseDouble($rec->get('commission'));
         $totalTransactions[] = $transaction;
     }
     //----------------------------------------------
     // in case there are more than 30 records total
     // we should load and display the rest of the records
     // in the cycle
     $totalRecords = $grid->getTotalCount();
     $maxRecords = $recordset->getSize();
     if ($maxRecords > 0) {
         $cycles = \ceil($totalRecords / $maxRecords);
         for ($i = 1; $i < $cycles; $i++) {
             // now get next 30 records
             $request->setLimit($i * $maxRecords, $maxRecords);
             $request->sendNow();
             $recordset = $request->getGrid()->getRecordset();
             // iterate through the records
             foreach ($recordset as $rec) {
                 $transaction = array();
                 $transaction['merchantId'] = 1;
                 $transaction['unique_id'] = $rec->get('id');
                 $transaction['date'] = $rec->get('dateinserted');
                 if ($rec->get('rstatus') == 'D') {
                     $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                 } else {
                     if ($rec->get('rstatus') == 'P') {
                         $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                     } else {
                         if ($rec->get('rstatus') == 'A') {
                             $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                         }
                     }
                 }
                 $transaction['amount'] = \Oara\Utilities::parseDouble($rec->get('totalcost'));
                 $transaction['commission'] = \Oara\Utilities::parseDouble($rec->get('commission'));
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
Пример #14
0
 /**
  * @return array
  * @throws \Exception
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $past = new \DateTime("2013-01-01 00:00:00");
     $now = new \DateTime();
     foreach ($this->_siteList as $site) {
         $interval = $past->diff($now);
         $numberYears = (int) $interval->format('%y') + 1;
         $auxStartDate = clone $past;
         for ($i = 0; $i < $numberYears; $i++) {
             $auxEndData = clone $auxStartDate;
             $auxEndData = $auxEndData->add(new \DateInterval('P1Y'));
             $url = "https://reportws.linksynergy.com/downloadreport.php?bdate=" . $auxStartDate->format("Ymd") . "&edate=" . $auxEndData->format("Ymd") . "&token=" . $site->secureToken . "&nid=" . $this->_nid . "&reportid=1";
             $result = \file_get_contents($url);
             if (\preg_match("/You cannot request/", $result)) {
                 throw new \Exception("Reached the limit");
             }
             $paymentLines = \str_getcsv($result, "\n");
             $number = \count($paymentLines);
             for ($j = 1; $j < $number; $j++) {
                 $paymentData = \str_getcsv($paymentLines[$j], ",");
                 $obj = array();
                 $date = \DateTime::createFromFormat("Y-m-d", $paymentData[1]);
                 $obj['date'] = $date->format("Y-m-d H:i:s");
                 $obj['value'] = \Oara\Utilities::parseDouble($paymentData[5]);
                 $obj['method'] = "BACS";
                 $obj['pid'] = $paymentData[0];
                 $paymentHistory[] = $obj;
             }
             $auxStartDate->add(new \DateInterval('P1Y'));
         }
     }
     return $paymentHistory;
 }
Пример #15
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;
 }
Пример #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();
     $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;
 }
Пример #17
0
 /**
  * @return array
  * @throws \Exception
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('http://publisher.tradedoubler.com/pan/reportSelection/Payment?', array());
     $exportReport = $this->_client->get($urls);
     /*** load the html into the object ***/
     $doc = new \DOMDocument();
     \libxml_use_internal_errors(true);
     $doc->validateOnParse = true;
     $doc->loadHTML($exportReport[0]);
     $selectList = $doc->getElementsByTagName('select');
     $paymentSelect = null;
     if ($selectList->length > 0) {
         // looking for the payments select
         $it = 0;
         while ($it < $selectList->length) {
             $selectName = $selectList->item($it)->attributes->getNamedItem('name')->nodeValue;
             if ($selectName == 'payment_id') {
                 $paymentSelect = $selectList->item($it);
                 break;
             }
             $it++;
         }
         if ($paymentSelect != null) {
             $paymentLines = $paymentSelect->childNodes;
             for ($i = 0; $i < $paymentLines->length; $i++) {
                 $pid = $paymentLines->item($i)->attributes->getNamedItem("value")->nodeValue;
                 if (\is_numeric($pid)) {
                     $obj = array();
                     $paymentLine = $paymentLines->item($i)->nodeValue;
                     $value = \preg_replace('/[^0-9\\.,]/', "", \substr($paymentLine, 10));
                     $paymentParts = \explode(" ", $paymentLine);
                     $date = self::toDate($paymentParts[0] . " 00:00:00");
                     $obj['date'] = $date->format("Y-m-d H:i:s");
                     $obj['pid'] = $pid;
                     $obj['method'] = 'BACS';
                     $obj['value'] = \Oara\Utilities::parseDouble($value);
                     $paymentHistory[] = $obj;
                 }
             }
         }
     }
     return $paymentHistory;
 }
Пример #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();
     $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;
 }
Пример #19
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;
 }
Пример #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);
     $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;
 }
Пример #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;
 }
Пример #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();
     $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;
 }
Пример #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;
 }
Пример #24
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;
 }
Пример #25
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);
     $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;
 }
Пример #26
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;
 }
Пример #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;
 }
Пример #28
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;
 }
Пример #29
0
 /**
  * @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;
 }
Пример #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();
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://affiliate.hidemyass.com/reports', array());
     $exportReport = $this->_client->get($urls);
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://affiliate.hidemyass.com/reports/index_date', array());
     $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['unique_id'] = $transactionExportArray[5] . '-' . $transactionExportArray[1];
         $transaction['date'] = $transactionExportArray[1];
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[8]);
         $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[10]);
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }