Oara\Network\Publisher\Affiliate4You::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)
    {
        $transactions = array();
        $page = 1;
        $import = true;
        $merchantIdMap = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
        while ($import) {
            $totalRows = $page * 300;
            $urls = array();
            $valuesFromExport = array();
            $valuesFromExport[] = new \Oara\Curl\Parameter('email', $this->_user);
            $valuesFromExport[] = new \Oara\Curl\Parameter('apikey', $this->_pass);
            $valuesFromExport[] = new \Oara\Curl\Parameter('from', $dStartDate->format("Y-m-d"));
            $valuesFromExport[] = new \Oara\Curl\Parameter('to', $dEndDate->format("Y-m-d"));
            $valuesFromExport[] = new \Oara\Curl\Parameter('limit', 300);
            $valuesFromExport[] = new \Oara\Curl\Parameter('page', $page);
            $urls[] = new \Oara\Curl\Request("http://api.affiliate4you.nl/1.0/orders.csv?", $valuesFromExport);
            try {
                $result = $this->_client->get($urls);
            } catch (\Exception $e) {
                return $transactions;
            }
            $exportData = \str_getcsv($result[0], "\n");
            for ($i = 1; $i < \count($exportData); $i++) {
                $transactionExportArray = \str_getcsv($exportData[$i], ";");
                if (isset($merchantIdMap[$transactionExportArray[12]])) {
                    $transaction = array();
                    $transaction['unique_id'] = $transactionExportArray[3];
                    $transaction['merchantId'] = $transactionExportArray[12];
                    $transaction['date'] = $transactionExportArray[0];
                    if ($transactionExportArray[8] != null) {
                        $transaction['custom_id'] = $transactionExportArray[8];
                    }
                    if ($transactionExportArray[5] == 'approved') {
                        $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                    } else {
                        if ($transactionExportArray[5] == 'new' || $transactionExportArray[5] == 'onhold') {
                            $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                        } else {
                            if ($transactionExportArray[5] == 'declined') {
                                $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                            }
                        }
                    }
                    $transaction['amount'] = $transactionExportArray[4];
                    $transaction['commission'] = $transactionExportArray[1];
                    $transactions[] = $transaction;
                }
            }
            if (\count($exportData) != $totalRows + 1) {
                $import = false;
            }
            $page++;
        }
        return $transactions;
    }