public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$amountDays = $dStartDate->diff($dEndDate)->days;
$auxDate = clone $dStartDate;
for ($j = 0; $j <= $amountDays; $j++) {
$date = $auxDate->format("Ymd");
$url = "https://assoc-datafeeds-eu.amazon.com/datafeed/getReport?filename={$this->_credentials["user"]}-earnings-report-{$date}.tsv.gz";
$curl = \curl_init();
\curl_setopt($curl, CURLOPT_URL, $url);
\curl_setopt($curl, CURLOPT_USERPWD, $this->_credentials["user"] . ':' . $this->_credentials["password"]);
\curl_setopt($curl, CURLOPT_HEADER, false);
\curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
\curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
\curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
\curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
\curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
\curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
$output = \curl_exec($curl);
if ($output) {
$filename = \realpath(\dirname(COOKIES_BASE_DIR)) . "/pdf/{$this->_credentials["user"]}-earnings-report-{$date}.tsv.gz";
\file_put_contents($filename, $output);
$zd = \gzopen($filename, "r");
$contents = \gzread($zd, 10000);
\gzclose($zd);
$exportData = \explode("\n", $contents);
$num = \count($exportData);
for ($i = 2; $i < $num; $i++) {
$transactionExportArray = \explode("\t", $exportData[$i]);
if (count($transactionExportArray) > 1) {
$transaction = array();
$transaction['merchantId'] = 1;
$transaction['date'] = $auxDate->format("Y-m-d H:i:s");
if ($transactionExportArray[9] != null) {
$transaction['custom_id'] = $transactionExportArray[9];
}
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
$transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[7]);
$transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[8]);
$totalTransactions[] = $transaction;
}
}
\unlink($filename);
}
$auxDate->add(new \DateInterval('P1D'));
}
return $totalTransactions;
}