In a large saucepan, heat the oil. Add the onion and ginger and cook over moderate heat, stirring, until softened, about 5 minutes. Add the rice and cook, stirring, until coated with the oil. Stir in the kidney beans and Scotch bonnet, then stir in the coconut milk and water. Season with salt and pepper and bring to a boil. Cover and cook over low heat until the rice is tender and the liquid is absorbed, 18 minutes.
Remove the rice from the heat and let stand, covered, for 5 minutes. Fluff with a fork. Stir in the scallions and season with salt and black pepper. Discard the Scotch bonnet and serve.