Meter ​
The Meter resource lets you create and manage Stripe Billing Meters for your Stripe account. Meters define how usage of a product is measured and aggregated for billing purposes.
Minimal Example ​
Create a basic meter to track API calls:
ts
import { Meter } from "alchemy/stripe";
const apiCallMeter = await Meter("apiUsageMeter", {
displayName: "API Call Usage",
eventName: "api.call.recorded",
defaultAggregation: {
formula: "sum"
},
customerMapping: {
eventPayloadKey: "customer_id",
type: "by_id"
},
valueSettings: {
eventPayloadKey: "count"
}
});
Last-Value Meter ​
Create a meter that captures the last reported value during a billing period:
ts
import { Meter } from "alchemy/stripe";
const storageMeter = await Meter("dataStorageMeter", {
displayName: "Data Storage GB",
eventName: "data.storage.reported",
defaultAggregation: {
formula: "last_during_period"
},
customerMapping: {
eventPayloadKey: "user_stripe_id",
type: "by_id"
},
valueSettings: {
eventPayloadKey: "gb_used"
}
});
Inactive Meter ​
Create a meter that is initially inactive:
ts
import { Meter } from "alchemy/stripe";
const inactiveFeatureMeter = await Meter("featureUsageMeter", {
displayName: "Feature Usage",
eventName: "feature.usage.recorded",
status: "inactive",
defaultAggregation: {
formula: "sum"
},
customerMapping: {
eventPayloadKey: "customer_id",
type: "by_id"
},
valueSettings: {
eventPayloadKey: "feature_count"
}
});