Oara\Network\Publisher\Afiliant::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)
    {
        $totalTransactions = array();
        $merchantMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
        $valuesFromExport = array();
        $valuesFromExport[] = new \Oara\Curl\Parameter('c', 'stats');
        $valuesFromExport[] = new \Oara\Curl\Parameter('id_shop', '');
        $valuesFromExport[] = new \Oara\Curl\Parameter('a', 'listMonthDayOrder');
        $valuesFromExport[] = new \Oara\Curl\Parameter('month', $dEndDate->fromat("Y-m"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('export', 'csv');
        $urls = array();
        $urls[] = new \Oara\Curl\Request('http://www.afiliant.com/publisher/index.php?', $valuesFromExport);
        $exportData = null;
        try {
            $exportReport = $this->_client->get($urls);
            $exportData = \str_getcsv($exportReport[0], "\r\n");
        } catch (\Exception $e) {
            echo "No data \n";
        }
        if ($exportData != null) {
            $num = \count($exportData);
            for ($i = 0; $i < $num; $i++) {
                $transactionExportArray = \str_getcsv($exportData[$i], ";");
                if (isset($merchantMap[$transactionExportArray[1]])) {
                    $transaction = array();
                    $merchantId = (int) $merchantMap[$transactionExportArray[1]];
                    $transaction['merchantId'] = $merchantId;
                    $transaction['date'] = $transactionExportArray[0] . " 00:00:00";
                    $transaction['unique_id'] = $transactionExportArray[3];
                    if (isset($transactionExportArray[8]) && $transactionExportArray[8] != null) {
                        $transaction['custom_id'] = $transactionExportArray[8];
                    }
                    if ($transactionExportArray[6] == 'zaakceptowana') {
                        $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                    } else {
                        if ($transactionExportArray[6] == 'oczekuje') {
                            $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                        } else {
                            if ($transactionExportArray[6] == 'odrzucona') {
                                $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                            }
                        }
                    }
                    $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
                    $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
                    $totalTransactions[] = $transaction;
                }
            }
        }
        return $totalTransactions;
    }