Oara\Network\Publisher\Effiliation::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);
        $url = 'http://api.effiliation.com/apiv2/transaction.csv?key=' . $this->_credentials["apipassword"] . '&start=' . $dStartDate->format("d/m/Y") . '&end=' . $dEndDate->format("d/m/Y") . '&type=date';
        $content = \utf8_encode(\file_get_contents($url));
        $exportData = \str_getcsv($content, "\n");
        $num = \count($exportData);
        for ($i = 1; $i < $num; $i++) {
            $transactionExportArray = \str_getcsv($exportData[$i], "|");
            if (isset($merchantIdList[(int) $transactionExportArray[2]])) {
                $transaction = array();
                $merchantId = (int) $transactionExportArray[2];
                $transaction['merchantId'] = $merchantId;
                $transaction['date'] = $transactionExportArray[10];
                $transaction['unique_id'] = $transactionExportArray[0];
                if ($transactionExportArray[15] != null) {
                    $transaction['custom_id'] = $transactionExportArray[15];
                }
                if ($transactionExportArray[9] == 'Valide') {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    if ($transactionExportArray[9] == 'Attente') {
                        $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                    } else {
                        if ($transactionExportArray[9] == 'Refusé' || $transactionExportArray[9] == 'Refuse') {
                            $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                        } else {
                            throw new \Exception("New status {$transactionExportArray[9]}");
                        }
                    }
                }
                $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[7]);
                $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[8]);
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }