stripeapi-1.0.0.0: Stripe-Library
Safe HaskellNone
LanguageHaskell2010

StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

Description

Contains the different functions to run the operation postSubscriptionItemsSubscriptionItemUsageRecords

Synopsis

Documentation

postSubscriptionItemsSubscriptionItemUsageRecords Source #

Arguments

:: forall m. MonadHTTP m 
=> Text

subscription_item

-> PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody

The request body to send

-> StripeT m (Response PostSubscriptionItemsSubscriptionItemUsageRecordsResponse)

Monadic computation which returns the result of the operation

POST /v1/subscription_items/{subscription_item}/usage_records

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

<p>Usage records provide <code>quantity</code> 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 <a href="https://stripe.com/docs/billing/subscriptions/metered-billing">metered billing</a> plan, Stripe helps you send accurate invoices to your customers.</p>

<p>The default calculation for usage is to add up all the <code>quantity</code> values of the usage records within a billing period. You can change this default behavior with the billing plan’s <code>aggregate_usage</code> <a href="/docs/api/plans/create#create_plan-aggregate_usage">parameter</a>. When there is more than one usage record with the same timestamp, Stripe adds the <code>quantity</code> values together. In most cases, this is the desired resolution, however, you can change this behavior with the <code>action</code> parameter.</p>

<p>The default pricing model for metered billing is <a href="/docs/api/plans/object#plan_object-billing_scheme">per-unit pricing</a>. For finer granularity, you can configure metered billing to have a <a href="https://stripe.com/docs/billing/subscriptions/tiers">tiered pricing</a> model.</p>

data PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody Source #

Defines the object schema located at paths./v1/subscription_items/{subscription_item}/usage_records.POST.requestBody.content.application/x-www-form-urlencoded.schema in the specification.

Constructors

PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody 

Fields

Instances

Instances details
Eq PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

Show PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

ToJSON PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

FromJSON PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBody Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

data PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction' Source #

Defines the enum schema located at paths./v1/subscription_items/{subscription_item}/usage_records.POST.requestBody.content.application/x-www-form-urlencoded.schema.properties.action in the specification.

Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has billing thresholds, `increment` is the only allowed value.

Constructors

PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction'Other Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction'Typed Text

This constructor can be used to send values to the server which are not present in the specification yet.

PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction'EnumIncrement

Represents the JSON value "increment"

PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction'EnumSet

Represents the JSON value "set"

Instances

Instances details
Eq PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction' Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

Show PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction' Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

ToJSON PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction' Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

FromJSON PostSubscriptionItemsSubscriptionItemUsageRecordsRequestBodyAction' Source # 
Instance details

Defined in StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords

data PostSubscriptionItemsSubscriptionItemUsageRecordsResponse Source #

Represents a response of the operation postSubscriptionItemsSubscriptionItemUsageRecords.

The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), PostSubscriptionItemsSubscriptionItemUsageRecordsResponseError is used.