Loading…
Building serverless usage notification with AWS
Hidetaka Okamoto
- Source
- Stripe
- Published
- Added to Yomu
Summary
Pay-as-you-go services need a way to warn customers when consumption reaches a configured limit, but building usage aggregation, monitoring, and notification workflows adds operational complexity. This tutorial uses Stripe Billing Alerts to define a customer-specific usage threshold with a customer_id, meter_id, gte value, and recurrence, then sends billing.alert.triggered events through Stripe Event Destinations to an Amazon EventBridge partner event source. It tests the flow with Stripe Meter Events and shows AWS CLI rules routing the event to Amazon SNS, as well as a Lambda example that retrieves the customer's email from Stripe and sends mail with Amazon SES. The result is a minimal-code notification path using AWS services, with sandbox setup required because some APIs and features may not be available in conventional test mode.
Context
Pay-as-you-go customers may worry about charges exceeding their budgets, while service providers must otherwise build and operate databases, usage aggregation, monitoring, and notification workflows to detect thresholds.
Approach / What changed
Create Stripe Billing Alerts for customer usage thresholds, send billing.alert.triggered events through Stripe Event Destinations to an Amazon EventBridge partner event source, and route them with AWS services such as SNS or Lambda and SES. The flow is tested by sending usage through Stripe Meter Events.
Takeaways
- Stripe's Billing Alert API supports usage_threshold alerts filtered by customer and meter, with a gte threshold and recurrence setting.
- Stripe Event Destinations can send billing.alert.triggered events to an Amazon EventBridge partner event source; the setup does not require creating an IAM user or role.
- Amazon SNS can deliver the event by email, while a Lambda example retrieves the Stripe customer's email and sends a personalized message through Amazon SES.