Oara\Network\Publisher\TradeTracker::getTransactionList PHP Метод

getTransactionList() публичный Метод

public getTransactionList ( null $merchantList = null, DateTime $dStartDate = null, DateTime $dEndDate = null ) : array
$merchantList null
$dStartDate DateTime
$dEndDate DateTime
Результат array
    public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
    {
        $totalTransactions = array();
        $merchantIdList = \Oara\Utilities::getMerchantIdMapFromMerchantList($merchantList);
        $options = array('registrationDateFrom' => $dStartDate->format('Y-m-d'), 'registrationDateTo' => $dEndDate->add(new \DateInterval('P1D'))->format('Y-m-d'));
        $affiliateSitesList = $this->_apiClient->getAffiliateSites();
        foreach ($affiliateSitesList as $affiliateSite) {
            foreach ($this->_apiClient->getConversionTransactions($affiliateSite->ID, $options) as $transaction) {
                if ($merchantList == null || isset($merchantIdList[(int) $transaction->campaign->ID])) {
                    $object = array();
                    $object['unique_id'] = $transaction->ID;
                    $object['merchantId'] = $transaction->campaign->ID;
                    $transactionDate = new \DateTime($transaction->registrationDate);
                    $object['date'] = $transactionDate->format("Y-m-d H:i:s");
                    if ($transaction->reference != null) {
                        $object['custom_id'] = $transaction->reference;
                    }
                    if ($transaction->transactionStatus == 'accepted') {
                        $object['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                    } else {
                        if ($transaction->transactionStatus == 'pending') {
                            $object['status'] = \Oara\Utilities::STATUS_PENDING;
                        } else {
                            if ($transaction->transactionStatus == 'rejected') {
                                $object['status'] = \Oara\Utilities::STATUS_DECLINED;
                            }
                        }
                    }
                    $object['amount'] = \Oara\Utilities::parseDouble($transaction->orderAmount);
                    $object['commission'] = \Oara\Utilities::parseDouble($transaction->commission);
                    $totalTransactions[] = $object;
                }
            }
        }
        return $totalTransactions;
    }