public class PlanCreateParams extends ApiRequestParams
Modifier and Type | Class and Description |
---|---|
static class |
PlanCreateParams.AggregateUsage |
static class |
PlanCreateParams.BillingScheme |
static class |
PlanCreateParams.Builder |
static class |
PlanCreateParams.Interval |
static class |
PlanCreateParams.Product |
static class |
PlanCreateParams.Tier
A label that represents units of this product in Stripe and on customers’ receipts and
invoices.
|
static class |
PlanCreateParams.TiersMode |
static class |
PlanCreateParams.TransformUsage |
static class |
PlanCreateParams.UsageType |
ApiRequestParams.EnumParam
EXTRA_PARAMS_KEY
Modifier and Type | Method and Description |
---|---|
static PlanCreateParams.Builder |
builder() |
java.lang.Boolean |
getActive()
Whether the plan is currently available for new subscriptions.
|
PlanCreateParams.AggregateUsage |
getAggregateUsage()
Specifies a usage aggregation strategy for plans of
usage_type=metered . |
java.lang.Long |
getAmount()
A positive integer in %s (or 0 for a free plan) representing how much to charge on a recurring
basis.
|
java.math.BigDecimal |
getAmountDecimal()
Same as
amount , but accepts a decimal value with at most 12 decimal places. |
PlanCreateParams.BillingScheme |
getBillingScheme()
Describes how to compute the price per period.
|
java.lang.String |
getCurrency()
Three-letter ISO currency code,
in lowercase.
|
java.util.List<java.lang.String> |
getExpand()
Specifies which fields in the response should be expanded.
|
java.util.Map<java.lang.String,java.lang.Object> |
getExtraParams()
Map of extra parameters for custom features not available in this client library.
|
java.lang.String |
getId()
An identifier randomly generated by Stripe.
|
PlanCreateParams.Interval |
getInterval()
Specifies billing frequency.
|
java.lang.Long |
getIntervalCount()
The number of intervals between subscription billings.
|
java.util.Map<java.lang.String,java.lang.String> |
getMetadata()
Set of key-value pairs that you can attach to an object.
|
java.lang.String |
getNickname()
A brief description of the plan, hidden from customers.
|
java.lang.Object |
getProduct() |
java.util.List<PlanCreateParams.Tier> |
getTiers()
Each element represents a pricing tier.
|
PlanCreateParams.TiersMode |
getTiersMode()
Defines if the tiering price should be
graduated or volume based. |
PlanCreateParams.TransformUsage |
getTransformUsage()
Apply a transformation to the reported usage or set quantity before computing the billed price.
|
java.lang.Long |
getTrialPeriodDays()
Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true . |
PlanCreateParams.UsageType |
getUsageType()
Configures how the quantity per period should be determined.
|
toMap
public static PlanCreateParams.Builder builder()
public java.lang.Boolean getActive()
true
.public PlanCreateParams.AggregateUsage getAggregateUsage()
usage_type=metered
. Allowed values
are sum
for summing up all usage during a period, last_during_period
for using
the last usage record reported within a period, last_ever
for using the last usage
record ever (across period bounds) or max
which uses the usage record with the maximum
reported usage during a period. Defaults to sum
.public java.lang.Long getAmount()
public java.math.BigDecimal getAmountDecimal()
amount
, but accepts a decimal value with at most 12 decimal places. Only one of
amount
and amount_decimal
can be set.public PlanCreateParams.BillingScheme getBillingScheme()
per_unit
or tiered
.
per_unit
indicates that the fixed amount (specified in amount
) will be charged
per unit in quantity
(for plans with usage_type=licensed
), or per unit of total
usage (for plans with usage_type=metered
). tiered
indicates that the unit
pricing will be computed using a tiering strategy as defined using the tiers
and tiers_mode
attributes.public java.lang.String getCurrency()
public java.util.List<java.lang.String> getExpand()
public java.util.Map<java.lang.String,java.lang.Object> getExtraParams()
@SerializedName
value. Instead, each
key/value pair is serialized as if the key is a root-level field (serialized) name in this
param object. Effectively, this map is flattened to its parent instance.public java.lang.String getId()
public PlanCreateParams.Interval getInterval()
day
, week
, month
or year
.public java.lang.Long getIntervalCount()
interval=month
and
interval_count=3
bills every 3 months. Maximum of one year interval allowed (1 year, 12
months, or 52 weeks).public java.util.Map<java.lang.String,java.lang.String> getMetadata()
metadata
.public java.lang.String getNickname()
public java.lang.Object getProduct()
public java.util.List<PlanCreateParams.Tier> getTiers()
billing_scheme
to be
set to tiered
. See also the documentation for billing_scheme
.public PlanCreateParams.TiersMode getTiersMode()
graduated
or volume
based. In volume
-based tiering, the maximum quantity within a period determines the per unit price, in
graduated
tiering pricing can successively change as the quantity grows.public PlanCreateParams.TransformUsage getTransformUsage()
tiers
.public java.lang.Long getTrialPeriodDays()
trial_from_plan=true
.public PlanCreateParams.UsageType getUsageType()
metered
or
licensed
. licensed
automatically bills the quantity
set when adding it
to a subscription. metered
aggregates the total usage based on usage records. Defaults
to licensed
.