Senior
October 4, 2026

Spot the bug: Laravel

One snippet. Find the bug, or prove there isn't one.

php
1<?php
2
3namespace App\Payments;
4
5interface PaymentGatewayFactoryInterface
6{
7    public function create(): PaymentGatewayInterface;
8}
9
10class StripeGatewayFactory implements PaymentGatewayFactoryInterface
11{
12    public function create(): PaymentGatewayInterface
13    {
14        return new StripeGateway(config('services.stripe.secret'));
15    }
16}
17
18class PaymentService
19{
20    public function __construct(private PaymentGatewayFactoryInterface $factory) {}
21
22    public function charge(int $cents): void
23    {
24        $this->factory->create()->charge($cents);
25    }
26}
27

Click the lines that carry the problem.

Your verdict

One attempt per day. The answer shows up right after.

Keep your streak

Create an account to keep your streak and track your progress.

Create an account