Oara\Network\Publisher\GetCake::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);
        $rowIndex = 0;
        $rowCount = 0;
        $apiURL = "http://{$this->_domain}/affiliates/api/5/reports.asmx/Conversions?api_key={$this->_apiPassword}&affiliate_id={$this->_user}&start_date=" . \urlencode($dStartDate->format("Y-m-d H:i:s")) . "&end_date=" . \urlencode($dEndDate->format("Y-m-d H:i:s")) . "&offer_id=0&start_at_row={$rowIndex}&row_limit={$rowCount}";
        $response = self::call($apiURL);
        if (isset($response["conversions"]["conversion"])) {
            foreach ($response["conversions"]["conversion"] as $transactionApi) {
                $transaction = array();
                $merchantId = (int) $transactionApi["offer_id"];
                if (isset($merchantIdList[$merchantId])) {
                    $transaction['merchantId'] = $merchantId;
                    $transactionDate = new \DateTime($transactionApi["conversion_date"]);
                    $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                    if (!isset($transactionApi["order_id"])) {
                        $transaction['unique_id'] = $transactionApi["conversion_id"];
                    } else {
                        $transaction['unique_id'] = $transactionApi["order_id"];
                    }
                    if (\count($transactionApi["subid_1"]) > 0) {
                        $transaction['custom_id'] = $transactionApi["subid_1"];
                    }
                    if ($transactionApi["disposition"] == "Approved") {
                        $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                    } else {
                        if ($transactionApi["disposition"] == "Pending" || $transactionApi["disposition"] == null) {
                            $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                        } else {
                            if ($transactionApi["disposition"] == "Rejected") {
                                $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                            }
                        }
                    }
                    $transaction['amount'] = $transactionApi["price"];
                    $transaction['commission'] = $transactionApi["price"];
                    $totalTransactions[] = $transaction;
                }
            }
        }
        return $totalTransactions;
    }