Class PlanCreateParams.Builder

  • Enclosing class:
    PlanCreateParams

    public static class PlanCreateParams.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • 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 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​(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 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.
      • 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. See PlanCreateParams.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. See PlanCreateParams.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. See PlanCreateParams.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. See PlanCreateParams.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.
      • setIntervalCount

        public PlanCreateParams.Builder setIntervalCount​(java.lang.Long intervalCount)
        The number of intervals between subscription billings. For example, interval=month and interval_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. See PlanCreateParams.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. 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​(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 to metadata.
      • setNickname

        public PlanCreateParams.Builder setNickname​(java.lang.String nickname)
        A brief description of the plan, hidden from customers.
      • 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.
      • 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.