public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$folder = \realpath(\dirname(COOKIES_BASE_DIR)) . '/pdf/';
$totalTransactions = array();
$valuesFromExport = array();
$valuesFromExport[] = new \Oara\Curl\Parameter('id', "-1");
$valuesFromExport[] = new \Oara\Curl\Parameter('yearStart', $dStartDate->format("Y"));
$valuesFromExport[] = new \Oara\Curl\Parameter('monthStart', $dStartDate->format("m"));
$valuesFromExport[] = new \Oara\Curl\Parameter('dayStart', $dStartDate->format("d"));
$valuesFromExport[] = new \Oara\Curl\Parameter('yearEnd', $dEndDate->format("Y"));
$valuesFromExport[] = new \Oara\Curl\Parameter('monthEnd', $dEndDate->format("m"));
$valuesFromExport[] = new \Oara\Curl\Parameter('dayEnd', $dEndDate->format("d"));
$urls = array();
$urls[] = new \Oara\Curl\Request('https://partnerprogramma.bol.com/partner/s/excelReport/orders?', $valuesFromExport);
$exportReport = $this->_client->get($urls);
$my_file = $folder . \mt_rand() . '.xlsx';
$handle = \fopen($my_file, 'w') or die('Cannot open file: ' . $my_file);
$data = $exportReport[0];
\fwrite($handle, $data);
\fclose($handle);
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($my_file);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
for ($row = 2; $row <= $highestRow; ++$row) {
$transaction = array();
$transaction['unique_id'] = $objWorksheet->getCellByColumnAndRow(0, $row)->getValue() . "_" . $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
$transaction['merchantId'] = "1";
$transactionDate = \DateTime::createFromFormat("d-m-Y", $objWorksheet->getCellByColumnAndRow(2, $row)->getValue());
$transaction['date'] = $transactionDate->format("Y-m-d 00:00:00");
$transaction['custom_id'] = $objWorksheet->getCellByColumnAndRow(8, $row)->getValue();
if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geaccepteerd') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'in behandeling') {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd: klik te oud' || $objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
} else {
throw new \Exception("new status " . $objWorksheet->getCellByColumnAndRow(14, $row)->getValue());
}
}
}
$transaction['amount'] = \Oara\Utilities::parseDouble(round($objWorksheet->getCellByColumnAndRow(11, $row)->getValue(), 2));
$transaction['commission'] = \Oara\Utilities::parseDouble(round($objWorksheet->getCellByColumnAndRow(12, $row)->getValue(), 2));
$totalTransactions[] = $transaction;
}
unlink($my_file);
return $totalTransactions;
}