public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$transactions = array();
$merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$transactionsExportList = self::request("https://api.commissionfactory.com.au/V1/Affiliate/Transactions?apiKey={$this->_apiKey}&fromDate={$dStartDate->format("Y-m-d")}&toDate={$dEndDate->format("Y-m-d")}");
foreach ($transactionsExportList as $transaction) {
if (isset($merchantIdList[$transaction["MerchantId"]])) {
$obj = array();
$obj['merchantId'] = $transaction["MerchantId"];
$transactionDate = \DateTime::createFromFormat("Y-m-d\\TH:i:s", \substr($transaction["DateCreated"], 0, 19));
$obj['date'] = $transactionDate->format("Y-m-d H:i:s");
if ($transaction["UniqueId"] != null) {
$obj['custom_id'] = $transaction["UniqueId"];
}
$obj['unique_id'] = $transaction["Id"];
if ($transaction["Status"] == "Approved") {
$obj['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($transaction["Status"] == "Pending") {
$obj['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($transaction["Status"] == "Void") {
$obj['status'] = \Oara\Utilities::STATUS_DECLINED;
}
}
}
$obj['amount'] = \Oara\Utilities::parseDouble($transaction["SaleValue"]);
$obj['commission'] = \Oara\Utilities::parseDouble($transaction["Commission"]);
$transactions[] = $obj;
}
}
return $transactions;
}