Oara\Network\Publisher\AffiliateGateway::getTransactionList PHP Method

getTransactionList() public method

public getTransactionList ( null $merchantList = null, DateTime $dStartDate = null, DateTime $dEndDate = null ) : array
$merchantList null
$dStartDate DateTime
$dEndDate DateTime
return array
    public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
    {
        $merchantNameMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
        $totalTransactions = array();
        $valuesFromExport = array();
        $valuesFromExport[] = new \Oara\Curl\Parameter('period', '-1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('subPeriod', '0');
        $valuesFromExport[] = new \Oara\Curl\Parameter('websiteId', '-1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('hdnMerchantProgram', '');
        $valuesFromExport[] = new \Oara\Curl\Parameter('searchType', '1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('merchantId', '-1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('subId', '');
        $valuesFromExport[] = new \Oara\Curl\Parameter('approvalStatus', '-1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('records', '20');
        $valuesFromExport[] = new \Oara\Curl\Parameter('sortField', 'transactionDateTime');
        $valuesFromExport[] = new \Oara\Curl\Parameter('time', '1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('p', '1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('changePage', '1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('oldColumn', 'transactionDateTime');
        $valuesFromExport[] = new \Oara\Curl\Parameter('order', 'down');
        $valuesFromExport[] = new \Oara\Curl\Parameter('mId', '-1');
        $valuesFromExport[] = new \Oara\Curl\Parameter('submittedPeriod', -1);
        $valuesFromExport[] = new \Oara\Curl\Parameter('submittedSubId', '');
        $valuesFromExport[] = new \Oara\Curl\Parameter('exportType', 'csv');
        $valuesFromExport[] = new \Oara\Curl\Parameter('reportTitle', 'report');
        $valuesFromExport[] = new \Oara\Curl\Parameter('reportId', '');
        $valuesFromExport[] = new \Oara\Curl\Parameter('startDate', $dStartDate->format("d/m/Y"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('endDate', $dEndDate->format("d/m/Y"));
        $urls = array();
        $urls[] = new \Oara\Curl\Request("{$this->_extension}/affiliate_statistic_transaction.html?", $valuesFromExport);
        $exportReport = $this->_client->post($urls);
        $exportData = \str_getcsv($exportReport[0], "\n");
        $num = \count($exportData);
        for ($i = 2; $i < $num; $i++) {
            $transactionExportArray = str_getcsv($exportData[$i], ",");
            if (isset($merchantNameMap[$transactionExportArray[2]])) {
                $merchantId = $merchantNameMap[$transactionExportArray[2]];
                $transaction = array();
                $transaction['merchantId'] = $merchantId;
                $transactionDate = \DateTime::createFromFormat("d/m/Y H:i:s", $transactionExportArray[4]);
                $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                $transaction['unique_id'] = $transactionExportArray[0];
                if ($transactionExportArray[12] != null && \trim($transactionExportArray[12]) != null) {
                    $transaction['custom_id'] = $transactionExportArray[12];
                }
                if ($transactionExportArray[15] == "Approved" || $transactionExportArray[15] == "Approve") {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    if ($transactionExportArray[15] == "Pending") {
                        $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                    } else {
                        if ($transactionExportArray[15] == "Declined" || $transactionExportArray[15] == "Rejected") {
                            $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                        } else {
                            throw new \Exception("No Status found " . $transactionExportArray[15]);
                        }
                    }
                }
                $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[7]);
                $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[9]);
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }