A PricingPlanSubscription links a PricingPlan to a specific billing Cadence. While the PricingPlanSubscription is active, Stripe will bill the Payer according to the PricingPlan’s components.
- POST/
Attributes
- idstring
Unique identifier for the PricingPlanSubscription.
- objectstring, value is "v2.billing.pricing_plan_subscription"
String representing the object’s type. Objects of the same type share the same value of the object field.
- billing_
cadencestring The ID of the Cadence this subscription is billed on.
- cancellation_
scheduled_ fornullable timestamp Time at which this subscription will be canceled.
- collection_
statusenum Current collection status of this subscription.
Possible enum valuesawaiting_
customer_ action The subscription payment is pending and requires customer action.
current
The subscription is in good standing. All payments have been successfully processed.
past_
due The subscription is currently overdue for payment. We are actively attempting to process the payment.
paused
Payment collection for the subscription is temporarily paused. The subscription may be resumed in the future, but no payments are being processed at this time.
unpaid
All attempts to collect payment for the subscription have been unsuccessful, and the outstanding balance is marked as uncollectible.
- collection_
status_ transitionsobject Timestamps for collection status transitions.
- createdtimestamp
Time at which the object was created.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - metadatanullable map
Set of key-value pairs that you can attach to an object.
- pricing_
planstring The ID of the PricingPlan for this subscription.
- pricing_
plan_ versionstring The ID of the PricingPlanVersion for this subscription.
- servicing_
statusenum Current servicing status of this subscription.
Possible enum valuesactive
The provisionee of this subscription is receiving servicing.
canceled
Servicing for this subscription is canceled.
paused
The servicing for the provisionee of this subscription is paused.
pending
The subscription is pending a successful payment and is not being serviced yet.
- servicing_
status_ transitionsobject Timestamps for servicing status transitions.
- test_
clocknullable string The ID of the TestClock of the associated Cadence, if any.
{ "billing_cadence": "bc_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "cancelation_scheduled_for": "2025-01-01T00:00:00.000Z", "collection_status": "current", "collection_status_transitions": { "awaiting_customer_action_at": null, "current_at": "2025-01-01T00:00:00.000Z", "past_due_at": null, "paused_at": null, "unpaid_at": null }, "created": "2025-01-01T00:00:00.000Z", "id": "bpps_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "metadata": { "key": "value" }, "object": "v2.billing.pricing_plan_subscription", "pricing_plan": "bpp_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "pricing_plan_version": "bppv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "servicing_status": "active", "servicing_status_transitions": { "activated_at": "2025-01-01T00:00:00.000Z", "canceled_at": null, "paused_at": null }, "test_clock": "clock_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "livemode": true}
Attributes
- idstring
Unique identifier for the BillingIntent.
- objectstring, value is "v2.billing.intent"
String representing the object’s type. Objects of the same type share the same value of the object field.
- amount_
detailsobject Breakdown of the amount for this BillingIntent.
- cadencenullable string
ID of an existing Cadence to use.
- cadence_
datanullable object Data for creating a new Cadence.
- createdtimestamp
Time at which the object was created.
- currencystring
Three-letter ISO currency code, in lowercase.
- effective_
atenum When the BillingIntent will take effect.
Possible enum valuescurrent_
billing_ period_ start The BillingIntent will take effect at the start of the current billing period.
on_
commit The BillingIntent will take effect when committed.
on_
reserve The BillingIntent will take effect at the reserved time.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - statusenum
Current status of the BillingIntent.
Possible enum valuescanceled
The BillingIntent is canceled.
committed
The BillingIntent is committed.
draft
The BillingIntent is in draft state.
reserved
The BillingIntent is reserved.
- status_
transitionsobject Timestamps for status transitions of the BillingIntent.
{ "amount_details": { "currency": "usd", "discount": 0, "shipping": 0, "subtotal": 0, "tax": 0, "total": 0 }, "created": "2025-01-01T00:00:00.000Z", "currency": "usd", "effective_at": "current_billing_period_start", "id": "bilint_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "object": "v2.billing.billing_intent", "status": "draft", "status_transitions": { "canceled_at": null, "committed_at": null, "drafted_at": "2025-01-01T00:00:00.000Z", "reserved_at": null }, "livemode": true, "cadence": "bc_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "cadence_data": { "billing_cycle": { "interval_count": 1, "type": "month", "month": { "day_of_month": 1, "time": { "hour": 0, "minute": 0 } } }, "payer": { "billing_profile": "bilp_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "customer": "cus_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "type": "customer" }, "settings": { "bill": { "id": "bblset_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "version": "bblsetv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy" }, "collection": { "id": "bclset_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "version": "bclsetv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy" } } }}
Create a BillingIntent.
Learn more about calling API v2 endpoints.Parameters
- actionsarray of objectsRequired
Actions to be performed by this BillingIntent.
- currencystringRequired
Three-letter ISO currency code, in lowercase.
- effective_
atenumRequired When the BillingIntent will take effect.
Possible enum valuescurrent_
billing_ period_ start The BillingIntent will take effect at the start of the current billing period.
on_
commit The BillingIntent will take effect when committed.
on_
reserve The BillingIntent will take effect at the reserved time.
- cadencestring
ID of an existing Cadence to use.
- cadence_
dataobject Data for creating a new Cadence.
Returns
Response attributes
- idstring
Unique identifier for the BillingIntent.
- objectstring, value is "v2.billing.intent"
String representing the object’s type. Objects of the same type share the same value of the object field.
- amount_
detailsobject Breakdown of the amount for this BillingIntent.
- cadencenullable string
ID of an existing Cadence to use.
- cadence_
datanullable object Data for creating a new Cadence.
- createdtimestamp
Time at which the object was created.
- currencystring
Three-letter ISO currency code, in lowercase.
- effective_
atenum When the BillingIntent will take effect.
Possible enum valuescurrent_
billing_ period_ start The BillingIntent will take effect at the start of the current billing period.
on_
commit The BillingIntent will take effect when committed.
on_
reserve The BillingIntent will take effect at the reserved time.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - statusenum
Current status of the BillingIntent.
Possible enum valuescanceled
The BillingIntent is canceled.
committed
The BillingIntent is committed.
draft
The BillingIntent is in draft state.
reserved
The BillingIntent is reserved.
- status_
transitionsobject Timestamps for status transitions of the BillingIntent.
Returned when trying to cancel a billing cadence that has already been canceled.
Returned when trying to create a BillingIntent for a currency that is not supported by the billing cadence.
Returned when creating a rate card subscription for a billing cadence and the rate card currency does not match the billing cadence currency.
Returned by billing cadences when invalid dates for a billing cycle are set.
Returned when creating or updating a cadence with a deleted customer.
Returned when trying to apply a discount with an invalid percent_off value.
Returned when trying to subscribe to a pricing plan that does not have any components on the version.
Returned when creating a rate card subscription for a billing cadence and the rate card currency does not match the billing cadence currency.
Returned when the license fee servicing interval exceeds the billing cadence cycle length.
Returned when the ManualTaxConfiguration is inactive.
Returned when applying a discount without a discount function.
Returned when trying to create a BillingIntent for a currency that is not supported by the PricingPlan.
Returned when trying to create or modify a subscription for an inactive pricing plan.
Returned when a user tries to create a rate card subscription for a billing cadence that has already subscribed to the same rate card.
Returned when removing a discount without providing a cadence.
Returned when applying a discount without providing a cadence or cadence_data.
Returned when the rate card servicing interval exceeds the billing cadence cycle length.
Returned when a user tries to create a pricing plan subscription for a billing cadence that has already reached the limit of active pricing plan subscriptions.
Returned when a user tries to create a rate card subscription for a billing cadence that has already reached the limit of active subscriptions.
Returned when no rates can be found for the given rate card ID and version.
Returned when the bill settings ID cannot be found.
Returned when the provided bill settings version ID cannot be found.
Returned when the provided billing_cadence ID cannot be found.
Returned when the collection settings ID cannot be found.
Returned when the provided collection settings version ID cannot be found.
Returned when the customer for the provided ID cannot be found.
Returned when removing a non-existent discount, or when the discount is not found for the cadence.
Returned when no ManualTaxConfiguration object was found for the given ID.
Returned when the provided pricing_plan_component ID cannot be found.
Returned when the provided pricing_plan ID cannot be found.
Returned when a pricing plan subscription with the provided ID cannot be found.
Returned when the provided pricing_plan_version ID cannot be found.
{ "amount_details": { "currency": "usd", "discount": 0, "shipping": 0, "subtotal": 2000, "tax": 200, "total": 2200 }, "created": "2025-01-01T00:00:00.000Z", "currency": "usd", "effective_at": "current_billing_period_start", "id": "bilint_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "object": "v2.billing.billing_intent", "status": "draft", "status_transitions": { "canceled_at": null, "committed_at": null, "drafted_at": "2025-01-01T00:00:00.000Z", "reserved_at": null }, "livemode": true, "cadence": "bc_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy"}
Update a PricingPlanSubscription object.
Learn more about calling API v2 endpoints.Parameters
- idstringRequired
The ID of the PricingPlanSubscription to update.
- metadatamap
Set of key-value pairs that you can attach to an object.
Returns
Response attributes
- idstring
Unique identifier for the PricingPlanSubscription.
- objectstring, value is "v2.billing.pricing_plan_subscription"
String representing the object’s type. Objects of the same type share the same value of the object field.
- billing_
cadencestring The ID of the Cadence this subscription is billed on.
- cancellation_
scheduled_ fornullable timestamp Time at which this subscription will be canceled.
- collection_
statusenum Current collection status of this subscription.
Possible enum valuesawaiting_
customer_ action The subscription payment is pending and requires customer action.
current
The subscription is in good standing. All payments have been successfully processed.
past_
due The subscription is currently overdue for payment. We are actively attempting to process the payment.
paused
Payment collection for the subscription is temporarily paused. The subscription may be resumed in the future, but no payments are being processed at this time.
unpaid
All attempts to collect payment for the subscription have been unsuccessful, and the outstanding balance is marked as uncollectible.
- collection_
status_ transitionsobject Timestamps for collection status transitions.
- createdtimestamp
Time at which the object was created.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - metadatanullable map
Set of key-value pairs that you can attach to an object.
- pricing_
planstring The ID of the PricingPlan for this subscription.
- pricing_
plan_ versionstring The ID of the PricingPlanVersion for this subscription.
- servicing_
statusenum Current servicing status of this subscription.
Possible enum valuesactive
The provisionee of this subscription is receiving servicing.
canceled
Servicing for this subscription is canceled.
paused
The servicing for the provisionee of this subscription is paused.
pending
The subscription is pending a successful payment and is not being serviced yet.
- servicing_
status_ transitionsobject Timestamps for servicing status transitions.
- test_
clocknullable string The ID of the TestClock of the associated Cadence, if any.
Returned when trying to update a pricing plan subscription with servicing status canceled
.
Returned when a pricing plan subscription with the provided ID cannot be found.
{ "billing_cadence": "bc_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "collection_status": "awaiting_customer_action", "collection_status_transitions": { "awaiting_customer_action_at": null, "current_at": "2025-01-01T00:00:00.000Z", "past_due_at": null, "paused_at": null, "unpaid_at": null }, "created": "2025-01-01T00:00:00.000Z", "id": "bpps_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "metadata": { "existing_key": "updated_value", "new_key": "new_value" }, "object": "v2.billing.pricing_plan_subscription", "pricing_plan": "bpp_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "pricing_plan_version": "bppv_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "servicing_status": "active", "servicing_status_transitions": { "activated_at": "2025-01-01T00:00:00.000Z", "canceled_at": null, "paused_at": null }, "test_clock": "clock_61SbQ4ZVMJ2ESqq2416S40x4RVA8P2F2ShZStd6x6RCy", "livemode": true}