Control a 12 V pump with a transistor

Hey guys,
i want to build a Cocktail mixxer with 3 pumps, which need 12 V to run clearly. I use an external battery and tried to control the pumps with the help of the transistors, but it doesn't work and I don't know why. The pump runs all the time, even if there is no signal from a pin of the Arduino.

Here some facts about the pump :
Operating Voltage: DC 12V
Working Current: 0.4 A
The model of the transistor is "BD243F".
If I use a resistance between the external power and the emitter of the Arduino, the pump doesn't run.
Im a beginner in this topic and this is my first bigger project, I tried other examples from this forum, but the problem was always the same.

That BD243 is about the lowest performing power BJT I've ever seen. It has a saturation voltage of a
massive 1.5V when conducting 5A, even with 1A base current. The Arduino cannot drive nearly enough
base current to switch this device.

Totally obsolete technology, forget it and use a logic-level MOSFET with an on-resistance of 0.05 ohms or
less on-resistance.

A motor with a working current of 0.4A will pull perhaps upto 10 times that at stall (ie every time it is
switched on), so you'd normally rate the switching device to take 4A pulse, 1A continuous to be
adequate for the load.

You could also use a darlington (such as TIP120), you'd still get the 1.5V Vsat or so, but you could drive
it direct from an Arduino pin. It would need a heatsink though, MOSFET is better.