Preheat the oven to 350°F. Line a cupcake pan with paper liners.
In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large bowl, beat the softened butter and granulated sugar together until light and fluffy, about 3-4 minutes. Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
Gradually add the dry ingredients to the wet mixture, alternating with the milk. Begin and end with the flour mixture. Mix until just combined.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full. Bake for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Allow to cool in the pan for 5 minutes before transferring to a wire rack to cool completely.
Once the cupcakes are cool, use a small knife or cupcake corer to remove a small portion from the center of each cupcake. Fill each cavity with about 1 tablespoon of vanilla pudding.
In a medium bowl, whip the heavy cream with the powdered sugar until soft peaks form. Top each filled cupcake with a dollop of whipped cream.
In a microwave-safe bowl, combine the chocolate chips and butter. Microwave in 30-second intervals, stirring in between, until melted and smooth. Drizzle the chocolate over the whipped cream on each cupcake.