Platformer game using Phisycs Engine

Hello everyone,
I’m making a platformer game using the Phisycs 2.0 beaviour, where (similar to Jump King) you cannot control the player in mid air, but you can jump at different heights depending on how long you press the jump button.
The problem is that the top of the platforms should have different phisycal properties from the other three sides (see the illustration below).


So apart from the top side, the other three should be bouncy so the player can realistically bounce around. Also, I set the restitution of the player to 0, and its friction to 1.
On a friction 1 platform, the player can still move around, but it gets caught on the bottom and on the sides, and doesn’t slide down.

What I’ve tried is setting the friction of the platform to 0 and the restitution to 1, and creating a new “Surface” object with friction 1 and restitution 0 on top of every platform like this:


But when the player lands on it, it experiences a friction of 1, but also a restitution of 1 (sometimes it bounces even higher then it came from). Also, the bottom of the player’s hitbox is flat.