¿Cómo inicializo un receptor de webhook en ASP.Net MVC?

Estoy siguiendo esta guíaaquí para instalar y usar webhooks en ASP.Net MVC, pero parece que esta guía es para un proyecto de tipo wep api. Estoy usando un proyecto de tipo MVC y no hay un método de registro, a diferencia de un proyecto API. En MVC tenemos un método RegisterRoutes. Entonces, ¿cómo registro mis webhooks en MVC?

un proyecto de API que usa Register y config, mi sitio ASP.Net MVC no tiene esto.

MVC usa RegisterRoutes

Actualizar Aquí agregué un controlador de API web y el código que publiqué a continuación es lo que está en el controlador de API web. Incluí los paquetes nuget para webhooks, el registro en global.asax.cs y en el método de registro. Pero todavía tengo problemas para llegar al código 'ExecuteAsync', no se alcanzan puntos de interrupción

public class StripeWebHookHandler : WebHookHandler
{
    // ngrok http -host-header="localhost:[port]" [port]
    // http(s)://<yourhost>/api/webhooks/incoming/stripe/   strip receiver

    public StripeWebHookHandler()
    {
        this.Receiver = StripeWebHookReceiver.ReceiverName;
    }

    public override Task ExecuteAsync(string generator, WebHookHandlerContext context)
    {
        // For more information about Stripe WebHook payloads, please see 
        // 'https://stripe.com/docs/webhooks'
        StripeEvent entry = context.GetDataOrDefault<StripeEvent>();

        // We can trace to see what is going on.
        Trace.WriteLine(entry.ToString());

        // Switch over the event types if you want to
        switch (entry.EventType)
        {
            default:
                // Information can be returned in a plain text response
                context.Response = context.Request.CreateResponse();
                context.Response.Content = new StringContent(string.Format("Hello {0} event!", entry.EventType));
                break;
        }

        return Task.FromResult(true);
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta