public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$options = array('registrationDateFrom' => $dStartDate->format('Y-m-d'), 'registrationDateTo' => $dEndDate->add(new \DateInterval('P1D'))->format('Y-m-d'));
$affiliateSitesList = $this->_apiClient->getAffiliateSites();
foreach ($affiliateSitesList as $affiliateSite) {
foreach ($this->_apiClient->getConversionTransactions($affiliateSite->ID, $options) as $transaction) {
if ($merchantList == null || isset($merchantIdList[(int) $transaction->campaign->ID])) {
$object = array();
$object['unique_id'] = $transaction->ID;
$object['merchantId'] = $transaction->campaign->ID;
$transactionDate = new \DateTime($transaction->registrationDate);
$object['date'] = $transactionDate->format("Y-m-d H:i:s");
if ($transaction->reference != null) {
$object['custom_id'] = $transaction->reference;
}
if ($transaction->transactionStatus == 'accepted') {
$object['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($transaction->transactionStatus == 'pending') {
$object['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($transaction->transactionStatus == 'rejected') {
$object['status'] = \Oara\Utilities::STATUS_DECLINED;
}
}
}
$object['amount'] = \Oara\Utilities::parseDouble($transaction->orderAmount);
$object['commission'] = \Oara\Utilities::parseDouble($transaction->commission);
$totalTransactions[] = $object;
}
}
}
return $totalTransactions;
}