Class InvoiceUpcomingParams

    • Method Detail

      • getCoupon

        public java.lang.String getCoupon()
        The code of the coupon to apply. If subscription or subscription_items is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.
      • getCustomer

        public java.lang.String getCustomer()
        The identifier of the customer whose upcoming invoice you'd like to retrieve.
      • getDiscounts

        public java.lang.Object getDiscounts()
        The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the coupon parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use coupon instead.
      • getExpand

        public java.util.List<java.lang.String> getExpand()
        Specifies which fields in the response should be expanded.
      • getExtraParams

        public java.util.Map<java.lang.String,​java.lang.Object> getExtraParams()
        Map of extra parameters for custom features not available in this client library. The content in this map is not serialized under this field's @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.
      • getInvoiceItems

        public java.util.List<InvoiceUpcomingParams.InvoiceItem> getInvoiceItems()
        List of invoice items to add or update in the upcoming invoice preview.
      • getSchedule

        public java.lang.String getSchedule()
        The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.
      • getSubscription

        public java.lang.String getSubscription()
        The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a subscription_items is provided, you will preview creating a subscription with those items. If neither subscription nor subscription_items is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.
      • getSubscriptionBillingCycleAnchor

        public java.lang.Object getSubscriptionBillingCycleAnchor()
        For new subscriptions, a future timestamp to anchor the subscription's billing cycle. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to now or unchanged.
      • getSubscriptionCancelAt

        public java.lang.Object getSubscriptionCancelAt()
        Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using proration_behavior.
      • getSubscriptionCancelAtPeriodEnd

        public java.lang.Boolean getSubscriptionCancelAtPeriodEnd()
        Boolean indicating whether this subscription should cancel at the end of the current period.
      • getSubscriptionCancelNow

        public java.lang.Boolean getSubscriptionCancelNow()
        This simulates the subscription being canceled or expired immediately.
      • getSubscriptionDefaultTaxRates

        public java.lang.Object getSubscriptionDefaultTaxRates()
        If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have tax_rates set.
      • getSubscriptionProrationBehavior

        public InvoiceUpcomingParams.SubscriptionProrationBehavior getSubscriptionProrationBehavior()
        Determines how to handle prorations when the billing cycle changes (e.g., when switching plans, resetting billing_cycle_anchor=now, or starting a trial), or if an item's quantity changes. Valid values are create_prorations, none, or always_invoice.

        Passing create_prorations will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under certain conditions. In order to always invoice immediately for prorations, pass always_invoice.

        Prorations can be disabled by passing none.

      • getSubscriptionProrationDate

        public java.lang.Long getSubscriptionProrationDate()
        If previewing an update to a subscription, and doing proration, subscription_proration_date forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, subscription, and one of subscription_items, or subscription_trial_end are required. Also, subscription_proration_behavior cannot be set to 'none'.
      • getSubscriptionStartDate

        public java.lang.Long getSubscriptionStartDate()
        Date a subscription is intended to start (can be future or past).
      • getSubscriptionTrialEnd

        public java.lang.Object getSubscriptionTrialEnd()
        If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of subscription_items or subscription is required.
      • getSubscriptionTrialFromPlan

        public java.lang.Boolean getSubscriptionTrialFromPlan()
        Indicates if a plan's trial_period_days should be applied to the subscription. Setting subscription_trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with subscription_trial_end is not allowed. See Using trial periods on subscriptions to learn more.