An active absorption layer with a narrow band gap has been achieved through adjusting the halide ratio in a halide perovskite, and it had better energy alignment with the Zn2SnO4 electron transport layer. An efficiency of 19.37% can be obtained, and this has also been improved to 20.26% through the incorporation of cesium, giving a new triple cation perovskite.