Package com.stripe.param
Class PlanCreateParams.Builder
- java.lang.Object
-
- com.stripe.param.PlanCreateParams.Builder
-
- Enclosing class:
- PlanCreateParams
public static class PlanCreateParams.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 ofusage_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 asamount
, 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 begraduated
orvolume
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 usingtrial_from_plan=true
.PlanCreateParams.Builder
setUsageType(PlanCreateParams.UsageType usageType)
Configures how the quantity per period should be determined.
-
-
-
Method Detail
-
build
public PlanCreateParams build()
Finalize and obtain parameter instance from this builder.
-
setActive
public PlanCreateParams.Builder setActive(java.lang.Boolean active)
Whether the plan is currently available for new subscriptions. Defaults totrue
.
-
setAggregateUsage
public PlanCreateParams.Builder setAggregateUsage(PlanCreateParams.AggregateUsage aggregateUsage)
Specifies a usage aggregation strategy for plans ofusage_type=metered
. Allowed values aresum
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) ormax
which uses the usage record with the maximum reported usage during a period. Defaults tosum
.
-
setAmount
public 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.
-
setAmountDecimal
public PlanCreateParams.Builder setAmountDecimal(java.math.BigDecimal amountDecimal)
Same asamount
, but accepts a decimal value with at most 12 decimal places. Only one ofamount
andamount_decimal
can be set.
-
setBillingScheme
public PlanCreateParams.Builder setBillingScheme(PlanCreateParams.BillingScheme billingScheme)
Describes how to compute the price per period. Eitherper_unit
ortiered
.per_unit
indicates that the fixed amount (specified inamount
) will be charged per unit inquantity
(for plans withusage_type=licensed
), or per unit of total usage (for plans withusage_type=metered
).tiered
indicates that the unit pricing will be computed using a tiering strategy as defined using thetiers
andtiers_mode
attributes.
-
setCurrency
public PlanCreateParams.Builder setCurrency(java.lang.String currency)
Three-letter ISO currency code, in lowercase. Must be a supported currency.
-
addExpand
public PlanCreateParams.Builder addExpand(java.lang.String element)
Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePlanCreateParams.expand
for the field documentation.
-
addAllExpand
public PlanCreateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePlanCreateParams.expand
for the field documentation.
-
putExtraParam
public PlanCreateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. SeePlanCreateParams.extraParams
for the field documentation.
-
putAllExtraParam
public PlanCreateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
Add all map key/value pairs to `extraParams` map. A map is initialized for the first `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. SeePlanCreateParams.extraParams
for the field documentation.
-
setId
public PlanCreateParams.Builder setId(java.lang.String id)
An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.
-
setInterval
public PlanCreateParams.Builder setInterval(PlanCreateParams.Interval interval)
Specifies billing frequency. Eitherday
,week
,month
oryear
.
-
setIntervalCount
public PlanCreateParams.Builder setIntervalCount(java.lang.Long intervalCount)
The number of intervals between subscription billings. For example,interval=month
andinterval_count=3
bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).
-
putMetadata
public PlanCreateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. SeePlanCreateParams.metadata
for the field documentation.
-
putAllMetadata
public PlanCreateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
Add all map key/value pairs to `metadata` map. A map is initialized for the first `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. SeePlanCreateParams.metadata
for the field documentation.
-
setMetadata
public PlanCreateParams.Builder setMetadata(EmptyParam metadata)
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata
.
-
setMetadata
public 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. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value tometadata
.
-
setNickname
public PlanCreateParams.Builder setNickname(java.lang.String nickname)
A brief description of the plan, hidden from customers.
-
setProduct
public PlanCreateParams.Builder setProduct(PlanCreateParams.Product product)
-
setProduct
public PlanCreateParams.Builder setProduct(java.lang.String product)
-
addTier
public PlanCreateParams.Builder addTier(PlanCreateParams.Tier element)
Add an element to `tiers` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePlanCreateParams.tiers
for the field documentation.
-
addAllTier
public PlanCreateParams.Builder addAllTier(java.util.List<PlanCreateParams.Tier> elements)
Add all elements to `tiers` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePlanCreateParams.tiers
for the field documentation.
-
setTiersMode
public PlanCreateParams.Builder setTiersMode(PlanCreateParams.TiersMode tiersMode)
Defines if the tiering price should begraduated
orvolume
based. Involume
-based tiering, the maximum quantity within a period determines the per unit price, ingraduated
tiering pricing can successively change as the quantity grows.
-
setTransformUsage
public PlanCreateParams.Builder setTransformUsage(PlanCreateParams.TransformUsage transformUsage)
Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined withtiers
.
-
setTrialPeriodDays
public PlanCreateParams.Builder setTrialPeriodDays(java.lang.Long trialPeriodDays)
Default number of trial days when subscribing a customer to this plan usingtrial_from_plan=true
.
-
setUsageType
public PlanCreateParams.Builder setUsageType(PlanCreateParams.UsageType usageType)
Configures how the quantity per period should be determined. Can be eithermetered
orlicensed
.licensed
automatically bills thequantity
set when adding it to a subscription.metered
aggregates the total usage based on usage records. Defaults tolicensed
.
-
-