public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$url = 'http://api.effiliation.com/apiv2/transaction.csv?key=' . $this->_credentials["apipassword"] . '&start=' . $dStartDate->format("d/m/Y") . '&end=' . $dEndDate->format("d/m/Y") . '&type=date';
$content = \utf8_encode(\file_get_contents($url));
$exportData = \str_getcsv($content, "\n");
$num = \count($exportData);
for ($i = 1; $i < $num; $i++) {
$transactionExportArray = \str_getcsv($exportData[$i], "|");
if (isset($merchantIdList[(int) $transactionExportArray[2]])) {
$transaction = array();
$merchantId = (int) $transactionExportArray[2];
$transaction['merchantId'] = $merchantId;
$transaction['date'] = $transactionExportArray[10];
$transaction['unique_id'] = $transactionExportArray[0];
if ($transactionExportArray[15] != null) {
$transaction['custom_id'] = $transactionExportArray[15];
}
if ($transactionExportArray[9] == 'Valide') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($transactionExportArray[9] == 'Attente') {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($transactionExportArray[9] == 'Refusé' || $transactionExportArray[9] == 'Refuse') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
} else {
throw new \Exception("New status {$transactionExportArray[9]}");
}
}
}
$transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[7]);
$transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[8]);
$totalTransactions[] = $transaction;
}
}
return $totalTransactions;
}