Handle Stripe Webhooks in Dotnet Minimal Api

Dotnet Minimal-API developers utilize Composing to define webhook event handlers as functions within their application's code, specifying the exact HTTP method, path, and request body schema for each Stripe webhook event (e.g., `CreatePayment`, `WebhookSignature`). Composing then automatically manages the incoming Stripe webhook payload, validates it against the configured schema, and executes the corresponding handler function, simplifying the process of receiving and processing Stripe events without manual payload parsing or signature verification.

Zero Boilerplate

Stop writing the same event handlers over and over. Comorando executes your logic automatically.

Smart Retries

Exponential backoff, dead-letter queues, and alert escalation — built in, no config needed.

AI Decisions

Gemma 4 evaluates every event and suggests the optimal action based on your business rules.

Code Example

// minimal-api — stripe-webhooks handler with Comorando
[ApiController, Route("webhook")]
public class WebhookController : ControllerBase {
    private readonly IComorandoClient _comorando;
    public WebhookController(IComorandoClient comorando) => _comorando = comorando;

    [HttpPost]
    public async Task<IActionResult> Handle() {
        var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
        var stripeEvent = EventUtility.ConstructEvent(json,
            Request.Headers["Stripe-Signature"], _webhookSecret);

        // Comorando evaluates rules and fires actions automatically
        await _comorando.Decisions.CreateAsync(new DecisionRequest {
            Event = stripeEvent.Type,
            Data  = stripeEvent.Data.RawObject,
            OrgId = Environment.GetEnvironmentVariable("COMORANDO_ORG_ID")
        });
        return Ok(new { received = true });
    }
}

Automate your backend events today

Free tier includes 10,000 events/month. No credit card required.

Start Free See Pricing