This commit is contained in:
Constantin Simonis 2025-01-30 17:21:22 +01:00
parent e1a5995a0c
commit baf91af971
Signed by: csimonis
GPG Key ID: 3878FF77C24AF4D2
2 changed files with 12 additions and 8 deletions

View File

@ -14,8 +14,10 @@ use Symfony\Component\Serializer\SerializerInterface;
final class TicketController extends AbstractController final class TicketController extends AbstractController
{ {
public function __construct(private TicketService $service) public function __construct(
{ private TicketService $service,
private SerializerInterface $serializer,
) {
} }
#[Route('/ticket', name: 'app_ticket')] #[Route('/ticket', name: 'app_ticket')]
@ -27,12 +29,12 @@ final class TicketController extends AbstractController
} }
#[Route(path: '/ticket/submit', name: 'app_submit', methods: Request::METHOD_POST)] #[Route(path: '/ticket/submit', name: 'app_submit', methods: Request::METHOD_POST)]
public function submit(Request $request, SerializerInterface $serializer): Response public function submit(Request $request): Response
{ {
Stripe::setApiKey($_ENV['STRIPE_SECRET_KEY']); Stripe::setApiKey($_ENV['STRIPE_SECRET_KEY']);
/** @var TicketData[] $ticketData */ /** @var TicketData[] $ticketData */
$ticketData = $serializer->deserialize( $ticketData = $this->serializer->deserialize(
$request->getContent(), $request->getContent(),
TicketData::class.'[]', TicketData::class.'[]',
'json', 'json',
@ -50,9 +52,11 @@ final class TicketController extends AbstractController
return $this->render('ticket/success.html.twig'); return $this->render('ticket/success.html.twig');
} }
#[Route(path: '/test', name: 'test', methods: Request::METHOD_GET)] #[Route(path: '/cancelled', name: 'app_cancelled', methods: Request::METHOD_GET)]
public function test(): Response public function cancel(): Response
{ {
return new Response('idk'); noty()->error('Bezahlung abgebrochen');
return $this->redirectToRoute('app_ticket');
} }
} }

View File

@ -43,7 +43,7 @@ class TicketService
'line_items' => $lineItems, 'line_items' => $lineItems,
'mode' => 'payment', 'mode' => 'payment',
'success_url' => $this->generator->generate('app_success', [], 0), 'success_url' => $this->generator->generate('app_success', [], 0),
'cancel_url' => $this->generator->generate('test', [], 0), 'cancel_url' => $this->generator->generate('app_cancelled', [], 0),
]); ]);
} }