public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
foreach ($this->_accounts as $account) {
//New Interface
$uri = "https://" . $account['accountSid'] . ":" . $account['authToken'] . "@api.impactradius.com/2010-09-01/Mediapartners/" . $account['accountSid'] . "/Actions?ActionDateStart=" . $dStartDate->format('Y-m-d\\TH:i:s') . "-00:00&ActionDateEnd=" . $dEndDate->format('Y-m-d\\TH:i:s') . "-00:00";
$res = \simplexml_load_file($uri);
if ($res) {
$currentPage = (int) $res->Actions->attributes()->page;
$pageNumber = (int) $res->Actions->attributes()->numpages;
while ($currentPage <= $pageNumber) {
foreach ($res->Actions->Action as $action) {
$transaction = array();
$transaction['merchantId'] = (int) $action->CampaignId;
$transactionDate = \DateTime::createFromFormat("Y-m-d\\TH:i:s", \substr((string) $action->EventDate, 0, 19));
$transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
$transaction['unique_id'] = (string) $action->Id;
if ((string) $action->SharedId != '') {
$transaction['custom_id'] = (string) $action->SharedId;
}
if ((string) $action->SubId1 != '') {
$transaction['custom_id'] = (string) $action->SubId1;
}
$status = (string) $action->Status;
$statusArray[$status] = "";
if ($status == 'APPROVED' || $status == 'DEFAULT') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($status == 'REJECTED') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
} else {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
}
}
$transaction['amount'] = (double) $action->Amount;
$transaction['commission'] = (double) $action->Payout;
$totalTransactions[] = $transaction;
}
$currentPage++;
$nextPageUri = (string) $res->Actions->attributes()->nextpageuri;
if ($nextPageUri != null) {
$res = \simplexml_load_file("https://" . $account['accountSid'] . ":" . $account['authToken'] . "@api.impactradius.com" . $nextPageUri);
}
}
}
}
return $totalTransactions;
}