public static class PlanCreateParams.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
PlanCreateParams.Builder |
addAllExpand(java.util.List<java.lang.String> elements)
Add all elements to `expand` list.
|
PlanCreateParams.Builder |
addAllTier(java.util.List<PlanCreateParams.Tier> elements)
Add all elements to `tiers` list.
|
PlanCreateParams.Builder |
addExpand(java.lang.String element)
Add an element to `expand` list.
|
PlanCreateParams.Builder |
addTier(PlanCreateParams.Tier element)
Add an element to `tiers` list.
|
PlanCreateParams |
build()
Finalize and obtain parameter instance from this builder.
|
PlanCreateParams.Builder |
putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
Add all map key/value pairs to `extraParams` map.
|
PlanCreateParams.Builder |
putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
Add all map key/value pairs to `metadata` map.
|
PlanCreateParams.Builder |
putExtraParam(java.lang.String key,
java.lang.Object value)
Add a key/value pair to `extraParams` map.
|
PlanCreateParams.Builder |
putMetadata(java.lang.String key,
java.lang.String value)
Add a key/value pair to `metadata` map.
|
PlanCreateParams.Builder |
setActive(java.lang.Boolean active)
Whether the plan is currently available for new subscriptions.
|
PlanCreateParams.Builder |
setAggregateUsage(PlanCreateParams.AggregateUsage aggregateUsage)
Specifies a usage aggregation strategy for plans of
usage_type=metered . |
PlanCreateParams.Builder |
setAmount(java.lang.Long amount)
A positive integer in %s (or 0 for a free plan) representing how much to charge on a
recurring basis.
|
PlanCreateParams.Builder |
setAmountDecimal(java.math.BigDecimal amountDecimal)
Same as
amount , but accepts a decimal value with at most 12 decimal places. |
PlanCreateParams.Builder |
setBillingScheme(PlanCreateParams.BillingScheme billingScheme)
Describes how to compute the price per period.
|
PlanCreateParams.Builder |
setCurrency(java.lang.String currency)
Three-letter ISO currency
code, in lowercase.
|
PlanCreateParams.Builder |
setId(java.lang.String id)
An identifier randomly generated by Stripe.
|
PlanCreateParams.Builder |
setInterval(PlanCreateParams.Interval interval)
Specifies billing frequency.
|
PlanCreateParams.Builder |
setIntervalCount(java.lang.Long intervalCount)
The number of intervals between subscription billings.
|
PlanCreateParams.Builder |
setMetadata(EmptyParam metadata)
Set of key-value pairs that you can attach to an object.
|
PlanCreateParams.Builder |
setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
Set of key-value pairs that you can attach to an object.
|
PlanCreateParams.Builder |
setNickname(java.lang.String nickname)
A brief description of the plan, hidden from customers.
|
PlanCreateParams.Builder |
setProduct(PlanCreateParams.Product product) |
PlanCreateParams.Builder |
setProduct(java.lang.String product) |
PlanCreateParams.Builder |
setTiersMode(PlanCreateParams.TiersMode tiersMode)
Defines if the tiering price should be
graduated or volume based. |
PlanCreateParams.Builder |
setTransformUsage(PlanCreateParams.TransformUsage transformUsage)
Apply a transformation to the reported usage or set quantity before computing the billed
price.
|
PlanCreateParams.Builder |
setTrialPeriodDays(java.lang.Long trialPeriodDays)
Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true . |
PlanCreateParams.Builder |
setUsageType(PlanCreateParams.UsageType usageType)
Configures how the quantity per period should be determined.
|
public PlanCreateParams build()
public PlanCreateParams.Builder setActive(java.lang.Boolean active)
true
.public PlanCreateParams.Builder setAggregateUsage(PlanCreateParams.AggregateUsage aggregateUsage)
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 PlanCreateParams.Builder setAmount(java.lang.Long amount)
public PlanCreateParams.Builder setAmountDecimal(java.math.BigDecimal amountDecimal)
amount
, but accepts a decimal value with at most 12 decimal places. Only one
of amount
and amount_decimal
can be set.public PlanCreateParams.Builder setBillingScheme(PlanCreateParams.BillingScheme billingScheme)
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 PlanCreateParams.Builder setCurrency(java.lang.String currency)
public PlanCreateParams.Builder addExpand(java.lang.String element)
PlanCreateParams.expand
for the field documentation.public PlanCreateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
PlanCreateParams.expand
for the field documentation.public PlanCreateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
PlanCreateParams.extraParams
for the field documentation.public PlanCreateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
PlanCreateParams.extraParams
for the field documentation.public PlanCreateParams.Builder setId(java.lang.String id)
public PlanCreateParams.Builder setInterval(PlanCreateParams.Interval interval)
day
, week
, month
or year
.public PlanCreateParams.Builder setIntervalCount(java.lang.Long intervalCount)
interval=month
and interval_count=3
bills every 3 months. Maximum of one year interval allowed (1
year, 12 months, or 52 weeks).public PlanCreateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
PlanCreateParams.metadata
for the field documentation.public PlanCreateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
PlanCreateParams.metadata
for the field documentation.public PlanCreateParams.Builder setMetadata(EmptyParam metadata)
metadata
.public PlanCreateParams.Builder setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
metadata
.public PlanCreateParams.Builder setNickname(java.lang.String nickname)
public PlanCreateParams.Builder setProduct(PlanCreateParams.Product product)
public PlanCreateParams.Builder setProduct(java.lang.String product)
public PlanCreateParams.Builder addTier(PlanCreateParams.Tier element)
PlanCreateParams.tiers
for the field documentation.public PlanCreateParams.Builder addAllTier(java.util.List<PlanCreateParams.Tier> elements)
PlanCreateParams.tiers
for the field documentation.public PlanCreateParams.Builder setTiersMode(PlanCreateParams.TiersMode tiersMode)
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.Builder setTransformUsage(PlanCreateParams.TransformUsage transformUsage)
tiers
.public PlanCreateParams.Builder setTrialPeriodDays(java.lang.Long trialPeriodDays)
trial_from_plan=true
.public PlanCreateParams.Builder setUsageType(PlanCreateParams.UsageType usageType)
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
.