public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$merchantIdMap = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$result = $this->_client->getEventList(null, null, null, null, null, $dStartDate->format("Y-m-d"), $dEndDate->format("Y-m-d"), null, null, null, null, 0);
foreach ($result->handler->events as $event) {
if (isset($merchantIdMap[$event["programid"]])) {
$transaction = array();
$transaction['unique_id'] = $event["eventid"];
$transaction['merchantId'] = $event["programid"];
$transaction['date'] = $event["eventdate"];
if ($event["subid"] != null) {
$transaction['custom_id'] = $event["subid"];
if (\preg_match("/subid1=/", $transaction['custom_id'])) {
$transaction['custom_id'] = str_replace("subid1=", "", $transaction['custom_id']);
}
}
if ($event["eventstatus"] == 'APPROVED') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($event["eventstatus"] == 'PENDING') {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($event["eventstatus"] == 'REJECTED') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
}
}
}
$transaction['amount'] = \Oara\Utilities::parseDouble($event["netvalue"]);
$transaction['commission'] = \Oara\Utilities::parseDouble($event["eventcommission"]);
$totalTransactions[] = $transaction;
}
}
return $totalTransactions;
}