diff --git a/app/TicketPurchasingService.php b/app/TicketPurchasingService.php new file mode 100644 index 0000000..5b80eb9 --- /dev/null +++ b/app/TicketPurchasingService.php @@ -0,0 +1,25 @@ +paymentGateway = $paymentGateway; + } + + public function purchaseTickets($concert, $ticketQuantity, $email, $paymentToken) + { + $reservation = $concert->reserveTickets($ticketQuantity, $email); + + $this->paymentGateway->charge($reservation->totalCost(), $paymentToken); + + return Order::forTickets($reservation->tickets(), $reservation->email(), $reservation->totalCost()); + } +}