[HttpPost("{id}/supporter", Name = "createUserSupporterCheckout"), RequireUser, RequireDbWrite] // RequireDbWrite to prevent supporter purchase during maintenance public async Task <CreateSupporterCheckoutResponse> CreateSupporterCheckoutAsync(CreateSupporterCheckoutRequest request) { var session = await _stripe.CreateSupporterCheckoutAsync(User, request.Amount); return(new CreateSupporterCheckoutResponse { SessionId = session.Id }); }