public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
//----------------------------------------------
// get recordset of list of transactions
$request = new \Pap_Api_TransactionsGrid($this->_session);
// set filter
$request->addFilter('dateinserted', 'D>=', $dStartDate->format("Y-m-d"));
$request->addFilter('dateinserted', 'D<=', $dEndDate->format("Y-m-d"));
$request->setLimit(0, 100);
$request->setSorting('t_orderid', false);
$request->sendNow();
$grid = $request->getGrid();
$recordset = $grid->getRecordset();
// iterate through the records
foreach ($recordset as $rec) {
$transaction = array();
$transaction['merchantId'] = 1;
$transaction['unique_id'] = $rec->get('id');
$transaction['date'] = $rec->get('dateinserted');
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
$transaction['amount'] = \Oara\Utilities::parseDouble($rec->get('totalcost'));
$transaction['commission'] = \Oara\Utilities::parseDouble($rec->get('commission'));
$totalTransactions[] = $transaction;
}
//----------------------------------------------
// in case there are more than 30 records total
// we should load and display the rest of the records
// in the cycle
$totalRecords = $grid->getTotalCount();
$maxRecords = $recordset->getSize();
if ($maxRecords > 0) {
$cycles = \ceil($totalRecords / $maxRecords);
for ($i = 1; $i < $cycles; $i++) {
// now get next 30 records
$request->setLimit($i * $maxRecords, $maxRecords);
$request->sendNow();
$recordset = $request->getGrid()->getRecordset();
// iterate through the records
foreach ($recordset as $rec) {
$transaction = array();
$transaction['merchantId'] = 1;
$transaction['unique_id'] = $rec->get('id');
$transaction['date'] = $rec->get('dateinserted');
if ($rec->get('rstatus') == 'D') {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
} else {
if ($rec->get('rstatus') == 'P') {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($rec->get('rstatus') == 'A') {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
}
}
}
$transaction['amount'] = \Oara\Utilities::parseDouble($rec->get('totalcost'));
$transaction['commission'] = \Oara\Utilities::parseDouble($rec->get('commission'));
$totalTransactions[] = $transaction;
}
}
}
return $totalTransactions;
}