public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$valuesFormExport = array();
$valuesFormExport[] = new \Oara\Curl\Parameter('authl', $this->_credentials["user"]);
$valuesFormExport[] = new \Oara\Curl\Parameter('authv', $this->_credentials["apipassword"]);
$valuesFormExport[] = new \Oara\Curl\Parameter('champs', 'idprogramme,date,etat,argann,montant,gains,monnaie,idsite');
$valuesFormExport[] = new \Oara\Curl\Parameter('debut', $dStartDate->format("Y-m-d"));
$valuesFormExport[] = new \Oara\Curl\Parameter('fin', $dEndDate->format("Y-m-d"));
$urls = array();
$urls[] = new \Oara\Curl\Request('https://stat.netaffiliation.com/requete.php?', $valuesFormExport);
$exportReport = $this->_client->get($urls);
//sales
$exportData = str_getcsv($exportReport[0], "\n");
$num = count($exportData);
for ($i = 1; $i < $num; $i++) {
$transactionExportArray = str_getcsv($exportData[$i], ";");
if (\count($this->_sitesAllowed) == 0 || \in_array($transactionExportArray[7], $this->_sitesAllowed)) {
if (isset($merchantIdList[$transactionExportArray[0]])) {
$transaction = array();
$transaction['merchantId'] = $transactionExportArray[0];
\preg_match("/(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})/", $transactionExportArray[1], $date);
$transaction['date'] = $date[0];
if ($transactionExportArray[3] != null) {
$transaction['custom_id'] = $transactionExportArray[3];
}
if (\strstr($transactionExportArray[2], 'v')) {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if (\strstr($transactionExportArray[2], 'r')) {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
} else {
if (\strstr($transactionExportArray[2], 'a')) {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
throw new \Exception("Status not found");
}
}
}
$transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
$transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
$totalTransactions[] = $transaction;
}
}
}
return $totalTransactions;
}