You have a typo:-
public function __construct(PaymentGatewayInteface $gateway)
^ 'r' missing
Should be:-
public function __construct(PaymentGatewayInterface $gateway)
You are missing the 'r' in interface.