Oara\Network\Publisher\PepperJam::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);
        $urls = array();
        $urls[] = new \Oara\Curl\Request($this->_url . "publisher/report/transaction-details?apiKey={$this->_password}&startDate={$dStartDate->format("Y-m-d")}&endDate={$dEndDate->format("Y-m-d")}&joined&format=json", array());
        $exportReport = $this->_client->get($urls);
        $transactionList = \json_decode($exportReport[0], true);
        foreach ($transactionList["data"] as $transactionExportArray) {
            if (isset($merchantIdList[(int) $transactionExportArray["program_id"]])) {
                $transaction = array();
                $merchantId = (int) $transactionExportArray["program_id"];
                $transaction['merchantId'] = $merchantId;
                $transaction['date'] = $transactionExportArray["date"];
                $transaction['unique_id'] = $transactionExportArray["transaction_id"];
                if ($transactionExportArray["sid"] != null) {
                    $transaction['custom_id'] = $transactionExportArray["sid"];
                }
                $status = $transactionExportArray["status"];
                if ($status == 'pending' || $status == 'delayed' || $status == 'unconfirmed') {
                    $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                } elseif ($status == 'locked') {
                    $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                } elseif ($status == 'paid') {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    throw new \Exception("Status {$status} unknown");
                }
                $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray["sale_amount"]);
                $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray["commission"]);
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }