Class PlanCreateParams.Builder

java.lang.Object
com.stripe.param.PlanCreateParams.Builder
Enclosing class:
PlanCreateParams

public static class PlanCreateParams.Builder extends Object
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • build

      public PlanCreateParams build()
      Finalize and obtain parameter instance from this builder.
    • setActive

      public PlanCreateParams.Builder setActive(Boolean active)
      Whether the plan is currently available for new subscriptions. Defaults to true.
    • setAggregateUsage

      public PlanCreateParams.Builder setAggregateUsage(PlanCreateParams.AggregateUsage aggregateUsage)
      Specifies a usage aggregation strategy for plans of 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.
    • setAmount

      public PlanCreateParams.Builder setAmount(Long amount)
      A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis.
    • setAmountDecimal

      public PlanCreateParams.Builder setAmountDecimal(BigDecimal amountDecimal)
      Same as amount, but accepts a decimal value with at most 12 decimal places. Only one of amount and amount_decimal can be set.
    • setBillingScheme

      public PlanCreateParams.Builder setBillingScheme(PlanCreateParams.BillingScheme billingScheme)
      Describes how to compute the price per period. Either 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.
    • setCurrency

      public PlanCreateParams.Builder setCurrency(String currency)
      Required. Three-letter ISO currency code, in lowercase. Must be a supported currency.
    • addExpand

      public PlanCreateParams.Builder addExpand(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. See PlanCreateParams.expand for the field documentation.
    • addAllExpand

      public PlanCreateParams.Builder addAllExpand(List<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. See PlanCreateParams.expand for the field documentation.
    • putExtraParam

      public PlanCreateParams.Builder putExtraParam(String key, 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. See PlanCreateParams.extraParams for the field documentation.
    • putAllExtraParam

      public PlanCreateParams.Builder putAllExtraParam(Map<String,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. See PlanCreateParams.extraParams for the field documentation.
    • setId

      public PlanCreateParams.Builder setId(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)
      Required. Specifies billing frequency. Either day, week, month or year.
    • setIntervalCount

      public PlanCreateParams.Builder setIntervalCount(Long intervalCount)
      The number of intervals between subscription billings. For example, interval=month and interval_count=3 bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
    • putMetadata

      public PlanCreateParams.Builder putMetadata(String key, 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. See PlanCreateParams.metadata for the field documentation.
    • putAllMetadata

      public PlanCreateParams.Builder putAllMetadata(Map<String,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. See PlanCreateParams.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 to metadata.
    • setMetadata

      public PlanCreateParams.Builder setMetadata(Map<String,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 to metadata.
    • setMeter

      public PlanCreateParams.Builder setMeter(String meter)
      The meter tracking the usage of a metered price.
    • setNickname

      public PlanCreateParams.Builder setNickname(String nickname)
      A brief description of the plan, hidden from customers.
    • setProduct

    • setProduct

      public PlanCreateParams.Builder setProduct(String product)
    • addTier

      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. See PlanCreateParams.tiers for the field documentation.
    • addAllTier

      public PlanCreateParams.Builder addAllTier(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. See PlanCreateParams.tiers for the field documentation.
    • setTiersMode

      public PlanCreateParams.Builder setTiersMode(PlanCreateParams.TiersMode tiersMode)
      Defines if the tiering price should be 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.
    • 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 with tiers.
    • setTrialPeriodDays

      public PlanCreateParams.Builder setTrialPeriodDays(Long trialPeriodDays)
      Default number of trial days when subscribing a customer to this plan using trial_from_plan=true.
    • setUsageType

      public PlanCreateParams.Builder setUsageType(PlanCreateParams.UsageType usageType)
      Configures how the quantity per period should be determined. Can be either 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.