public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$transactionXml = $this->_apiClient->GetSales($this->_user, $this->_pass, 0, 'all', 'validated', $dStartDate->format("Y-m-d"), $dEndDate->format("Y-m-d"));
$xmlObject = new \SimpleXMLElement($transactionXml);
if ($xmlObject->attributes()->status != 'error') {
$campaignIdList = array();
foreach ($merchantList as $merchantId) {
if (isset($this->_advertisersCampaings[(string) $merchantId])) {
$campaingList = \explode(",", $this->_advertisersCampaings[(string) $merchantId]);
foreach ($campaingList as $campaignId) {
$campaignIdList[$campaignId] = $merchantId;
}
}
}
foreach ($xmlObject->sales->sale as $sale) {
if (isset($campaignIdList[(string) $sale->Campaignid])) {
$transaction = array();
$transaction['unique_id'] = (string) $sale->OrderID;
$transaction['merchantId'] = $campaignIdList[(string) $sale->CampaignID];
$transaction['date'] = (string) $sale->SaleDate;
if ((string) $sale->CompanyID != null) {
$transaction['custom_id'] = (string) $sale->CompanyID;
}
if ((string) $sale->SaleStatus == 'Approved') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ((string) $sale->SaleStatus == 'Pending') {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ((string) $sale->SaleStatus == 'Deleted') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
}
}
}
$transaction['amount'] = (string) $sale->SaleValue;
$transaction['commission'] = (string) $sale->SaleCommission;
$totalTransactions[] = $transaction;
}
}
}
return $totalTransactions;
}