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;
}