Oara\Network\Publisher\PaidOnResults::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();
        $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
        $urls = array();
        $valuesFormExport = array(new \Oara\Curl\Parameter('apikey', $this->_apiPassword), new \Oara\Curl\Parameter('Format', 'CSV'), new \Oara\Curl\Parameter('FieldSeparator', 'comma'), new \Oara\Curl\Parameter('Fields', 'MerchantID,OrderDate,NetworkOrderID,CustomTrackingID,OrderValue,AffiliateCommission,TransactionType,PaidtoAffiliate,DatePaidToAffiliate'), new \Oara\Curl\Parameter('AffiliateID', $this->_user), new \Oara\Curl\Parameter('DateFormat', 'DD/MM/YYYY+HH:MN:SS'), new \Oara\Curl\Parameter('PendingSales', 'YES'), new \Oara\Curl\Parameter('ValidatedSales', 'YES'), new \Oara\Curl\Parameter('VoidSales', 'YES'), new \Oara\Curl\Parameter('GetNewSales', 'YES'));
        $valuesFormExport[] = new \Oara\Curl\Parameter('DateFrom', $dStartDate->format("Y-m-d"));
        $valuesFormExport[] = new \Oara\Curl\Parameter('DateTo', $dEndDate->format("Y-m-d"));
        $urls[] = new \Oara\Curl\Request('http://affiliate.paidonresults.com/api/transactions?', $valuesFormExport);
        $exportReport = $this->_client->get($urls);
        $exportData = \str_getcsv($exportReport[0], "\r\n");
        $num = \count($exportData);
        for ($i = 1; $i < $num; $i++) {
            $exportData[$i] = preg_replace("/\n/", "", $exportData[$i]);
            $transactionExportArray = \str_getcsv($exportData[$i], ",");
            if (isset($merchantIdList[$transactionExportArray[0]])) {
                $transaction = array();
                $transaction['merchantId'] = $transactionExportArray[0];
                $transactionDate = \DateTime::createFromFormat("d/m/Y H:i:s", $transactionExportArray[1]);
                $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                $transaction['unique_id'] = $transactionExportArray[2];
                if ($transactionExportArray[3] != null) {
                    $transaction['custom_id'] = $transactionExportArray[3];
                }
                $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
                $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
                if ($transactionExportArray[6] == 'VALIDATED') {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    if ($transactionExportArray[6] == 'PENDING') {
                        $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                    } else {
                        if ($transactionExportArray[6] == 'VOID') {
                            $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                        }
                    }
                }
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }