public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
$rowIndex = 0;
$rowCount = 0;
$apiURL = "http://{$this->_domain}/affiliates/api/5/reports.asmx/Conversions?api_key={$this->_apiPassword}&affiliate_id={$this->_user}&start_date=" . \urlencode($dStartDate->format("Y-m-d H:i:s")) . "&end_date=" . \urlencode($dEndDate->format("Y-m-d H:i:s")) . "&offer_id=0&start_at_row={$rowIndex}&row_limit={$rowCount}";
$response = self::call($apiURL);
if (isset($response["conversions"]["conversion"])) {
foreach ($response["conversions"]["conversion"] as $transactionApi) {
$transaction = array();
$merchantId = (int) $transactionApi["offer_id"];
if (isset($merchantIdList[$merchantId])) {
$transaction['merchantId'] = $merchantId;
$transactionDate = new \DateTime($transactionApi["conversion_date"]);
$transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
if (!isset($transactionApi["order_id"])) {
$transaction['unique_id'] = $transactionApi["conversion_id"];
} else {
$transaction['unique_id'] = $transactionApi["order_id"];
}
if (\count($transactionApi["subid_1"]) > 0) {
$transaction['custom_id'] = $transactionApi["subid_1"];
}
if ($transactionApi["disposition"] == "Approved") {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
} else {
if ($transactionApi["disposition"] == "Pending" || $transactionApi["disposition"] == null) {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if ($transactionApi["disposition"] == "Rejected") {
$transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
}
}
}
$transaction['amount'] = $transactionApi["price"];
$transaction['commission'] = $transactionApi["price"];
$totalTransactions[] = $transaction;
}
}
}
return $totalTransactions;
}