View Source Stripe.UsageRecord (stripity_stripe v3.2.0)

Usage records allow you to report customer usage and metrics to Stripe for metered billing of subscription prices.

Related guide: Metered billing

Summary

Types

t()

The usage_record type.

Functions

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

Types

@type t() :: %Stripe.UsageRecord{
  id: binary(),
  livemode: boolean(),
  object: binary(),
  quantity: integer(),
  subscription_item: binary(),
  timestamp: integer()
}

The usage_record type.

  • id Unique identifier for the object.
  • livemode Has the value true if the object exists in live mode or the value false if the object exists in test mode.
  • object String representing the object's type. Objects of the same type share the same value.
  • quantity The usage quantity for the specified date.
  • subscription_item The ID of the subscription item this usage record contains data for.
  • timestamp The timestamp when this usage occurred.

Functions

Link to this function

create(subscription_item, params \\ %{}, opts \\ [])

View Source
@spec create(
  subscription_item :: binary(),
  params :: %{
    optional(:action) => :increment | :set,
    optional(:expand) => [binary()],
    optional(:quantity) => integer(),
    optional(:timestamp) => :now | integer()
  },
  opts :: Keyword.t()
) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.

The default calculation for usage is to add up all the quantity values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usage parameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity values together. In most cases, this is the desired resolution, however, you can change this behavior with the action parameter.

The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

Details

  • Method: post
  • Path: /v1/subscription_items/{subscription_item}/usage_records