示例#1
0
 /**
  * Settlement Report
  *
  * @author MS, EA
  * @param int $merchant
  * @param int $id
  * @param \Illuminate\Http\Request $request
  * @return \Illuminate\View\View
  * @throws RedirectException
  */
 public function settlementReport($merchant, $id, Request $request)
 {
     try {
         $aggregateSettlementReport = $this->settlementGateway->getSingleAggregateSettlementReport($this->fetchMerchantById($merchant)->token, $id);
     } catch (\Exception $e) {
         throw $this->redirectWithException('/', 'Failed fetching settlements', $e);
     }
     $settlementDate = $request->get('date');
     return View('settlements.settlement_report', ['settlement_date' => $settlementDate, 'settlement_amount' => $request->get('amount', ''), 'settlement_provider' => $request->get('provider', ''), 'aggregate_settlement_report' => $aggregateSettlementReport, 'aggregate_settlement_total' => array_sum(array_column($aggregateSettlementReport, 'settlement_amount')), 'merchant' => Merchant::where('id', '=', $merchant)->first(), 'export_api_filename' => 'settlement-raw-' . $id . '-' . date_format(DateTime::createFromFormat('Y-m-d', $settlementDate), 'Ymd'), 'export_view_filename' => 'settlement-report-' . $id . '-' . date_format(DateTime::createFromFormat('Y-m-d', $settlementDate), 'Ymd')]);
 }