public static class SubscriptionUpdateParams.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
SubscriptionUpdateParams.Builder |
addAllDefaultTaxRate(java.util.List<java.lang.String> elements)
Add all elements to `defaultTaxRates` list.
|
SubscriptionUpdateParams.Builder |
addAllExpand(java.util.List<java.lang.String> elements)
Add all elements to `expand` list.
|
SubscriptionUpdateParams.Builder |
addAllItem(java.util.List<SubscriptionUpdateParams.Item> elements)
Add all elements to `items` list.
|
SubscriptionUpdateParams.Builder |
addDefaultTaxRate(java.lang.String element)
Add an element to `defaultTaxRates` list.
|
SubscriptionUpdateParams.Builder |
addExpand(java.lang.String element)
Add an element to `expand` list.
|
SubscriptionUpdateParams.Builder |
addItem(SubscriptionUpdateParams.Item element)
Add an element to `items` list.
|
SubscriptionUpdateParams |
build()
Finalize and obtain parameter instance from this builder.
|
SubscriptionUpdateParams.Builder |
putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
Add all map key/value pairs to `extraParams` map.
|
SubscriptionUpdateParams.Builder |
putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
Add all map key/value pairs to `metadata` map.
|
SubscriptionUpdateParams.Builder |
putExtraParam(java.lang.String key,
java.lang.Object value)
Add a key/value pair to `extraParams` map.
|
SubscriptionUpdateParams.Builder |
putMetadata(java.lang.String key,
java.lang.String value)
Add a key/value pair to `metadata` map.
|
SubscriptionUpdateParams.Builder |
setApplicationFeePercent(java.math.BigDecimal applicationFeePercent)
A non-negative decimal between 0 and 100, with at most two decimal places.
|
SubscriptionUpdateParams.Builder |
setBillingCycleAnchor(SubscriptionUpdateParams.BillingCycleAnchor billingCycleAnchor)
Either
now or unchanged . |
SubscriptionUpdateParams.Builder |
setBillingThresholds(EmptyParam billingThresholds)
Define thresholds at which an invoice will be sent, and the subscription advanced to a new
billing period.
|
SubscriptionUpdateParams.Builder |
setBillingThresholds(SubscriptionUpdateParams.BillingThresholds billingThresholds)
Define thresholds at which an invoice will be sent, and the subscription advanced to a new
billing period.
|
SubscriptionUpdateParams.Builder |
setCancelAt(EmptyParam cancelAt)
A timestamp at which the subscription should cancel.
|
SubscriptionUpdateParams.Builder |
setCancelAt(java.lang.Long cancelAt)
A timestamp at which the subscription should cancel.
|
SubscriptionUpdateParams.Builder |
setCancelAtPeriodEnd(java.lang.Boolean cancelAtPeriodEnd)
Boolean indicating whether this subscription should cancel at the end of the current period.
|
SubscriptionUpdateParams.Builder |
setCollectionMethod(SubscriptionUpdateParams.CollectionMethod collectionMethod)
Either
charge_automatically , or send_invoice . |
SubscriptionUpdateParams.Builder |
setCoupon(EmptyParam coupon)
The code of the coupon to apply to this subscription.
|
SubscriptionUpdateParams.Builder |
setCoupon(java.lang.String coupon)
The code of the coupon to apply to this subscription.
|
SubscriptionUpdateParams.Builder |
setDaysUntilDue(java.lang.Long daysUntilDue)
Number of days a customer has to pay invoices generated by this subscription.
|
SubscriptionUpdateParams.Builder |
setDefaultPaymentMethod(EmptyParam defaultPaymentMethod)
ID of the default payment method for the subscription.
|
SubscriptionUpdateParams.Builder |
setDefaultPaymentMethod(java.lang.String defaultPaymentMethod)
ID of the default payment method for the subscription.
|
SubscriptionUpdateParams.Builder |
setDefaultSource(EmptyParam defaultSource)
ID of the default payment source for the subscription.
|
SubscriptionUpdateParams.Builder |
setDefaultSource(java.lang.String defaultSource)
ID of the default payment source for the subscription.
|
SubscriptionUpdateParams.Builder |
setDefaultTaxRates(EmptyParam defaultTaxRates)
The tax rates that will apply to any subscription item that does not have
tax_rates
set. |
SubscriptionUpdateParams.Builder |
setDefaultTaxRates(java.util.List<java.lang.String> defaultTaxRates)
The tax rates that will apply to any subscription item that does not have
tax_rates
set. |
SubscriptionUpdateParams.Builder |
setMetadata(EmptyParam metadata)
Set of key-value pairs that you can attach to an object.
|
SubscriptionUpdateParams.Builder |
setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
Set of key-value pairs that you can attach to an object.
|
SubscriptionUpdateParams.Builder |
setOffSession(java.lang.Boolean offSession)
Indicates if a customer is on or off-session while an invoice payment is attempted.
|
SubscriptionUpdateParams.Builder |
setPauseCollection(EmptyParam pauseCollection)
If specified, payment collection for this subscription will be paused.
|
SubscriptionUpdateParams.Builder |
setPauseCollection(SubscriptionUpdateParams.PauseCollection pauseCollection)
If specified, payment collection for this subscription will be paused.
|
SubscriptionUpdateParams.Builder |
setPaymentBehavior(SubscriptionUpdateParams.PaymentBehavior paymentBehavior)
Use
allow_incomplete to transition the subscription to status=past_due if a
payment is required but cannot be paid. |
SubscriptionUpdateParams.Builder |
setPendingInvoiceItemInterval(EmptyParam pendingInvoiceItemInterval)
Specifies an interval for how often to bill for any pending invoice items.
|
SubscriptionUpdateParams.Builder |
setPendingInvoiceItemInterval(SubscriptionUpdateParams.PendingInvoiceItemInterval pendingInvoiceItemInterval)
Specifies an interval for how often to bill for any pending invoice items.
|
SubscriptionUpdateParams.Builder |
setProrate(java.lang.Boolean prorate)
This field has been renamed to
proration_behavior . |
SubscriptionUpdateParams.Builder |
setProrationBehavior(SubscriptionUpdateParams.ProrationBehavior prorationBehavior)
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. |
SubscriptionUpdateParams.Builder |
setProrationDate(java.lang.Long prorationDate)
If set, the proration will be calculated as though the subscription was updated at the given
time.
|
SubscriptionUpdateParams.Builder |
setTaxPercent(java.math.BigDecimal taxPercent)
A non-negative decimal (with at most four decimal places) between 0 and 100.
|
SubscriptionUpdateParams.Builder |
setTaxPercent(EmptyParam taxPercent)
A non-negative decimal (with at most four decimal places) between 0 and 100.
|
SubscriptionUpdateParams.Builder |
setTransferData(EmptyParam transferData)
If specified, the funds from the subscription's invoices will be transferred to the
destination and the ID of the resulting transfers will be found on the resulting charges.
|
SubscriptionUpdateParams.Builder |
setTransferData(SubscriptionUpdateParams.TransferData transferData)
If specified, the funds from the subscription's invoices will be transferred to the
destination and the ID of the resulting transfers will be found on the resulting charges.
|
SubscriptionUpdateParams.Builder |
setTrialEnd(java.lang.Long trialEnd)
Unix timestamp representing the end of the trial period the customer will get before being
charged for the first time.
|
SubscriptionUpdateParams.Builder |
setTrialEnd(SubscriptionUpdateParams.TrialEnd trialEnd)
Unix timestamp representing the end of the trial period the customer will get before being
charged for the first time.
|
SubscriptionUpdateParams.Builder |
setTrialFromPlan(java.lang.Boolean trialFromPlan)
Indicates if a plan's
trial_period_days should be applied to the subscription. |
public SubscriptionUpdateParams build()
public SubscriptionUpdateParams.Builder setApplicationFeePercent(java.math.BigDecimal applicationFeePercent)
public SubscriptionUpdateParams.Builder setBillingCycleAnchor(SubscriptionUpdateParams.BillingCycleAnchor billingCycleAnchor)
now
or unchanged
. Setting the value to now
resets the
subscription's billing cycle anchor to the current time. For more information, see the
billing cycle documentation.public SubscriptionUpdateParams.Builder setBillingThresholds(SubscriptionUpdateParams.BillingThresholds billingThresholds)
public SubscriptionUpdateParams.Builder setBillingThresholds(EmptyParam billingThresholds)
public SubscriptionUpdateParams.Builder setCancelAt(java.lang.Long cancelAt)
proration_behavior
. If set during a future period, this will always cause a proration for
that period.public SubscriptionUpdateParams.Builder setCancelAt(EmptyParam cancelAt)
proration_behavior
. If set during a future period, this will always cause a proration for
that period.public SubscriptionUpdateParams.Builder setCancelAtPeriodEnd(java.lang.Boolean cancelAtPeriodEnd)
public SubscriptionUpdateParams.Builder setCollectionMethod(SubscriptionUpdateParams.CollectionMethod collectionMethod)
charge_automatically
, or send_invoice
. When charging automatically,
Stripe will attempt to pay this subscription at the end of the cycle using the default source
attached to the customer. When sending an invoice, Stripe will email your customer an invoice
with payment instructions. Defaults to charge_automatically
.public SubscriptionUpdateParams.Builder setCoupon(java.lang.String coupon)
public SubscriptionUpdateParams.Builder setCoupon(EmptyParam coupon)
public SubscriptionUpdateParams.Builder setDaysUntilDue(java.lang.Long daysUntilDue)
collection_method
is set to send_invoice
.public SubscriptionUpdateParams.Builder setDefaultPaymentMethod(java.lang.String defaultPaymentMethod)
public SubscriptionUpdateParams.Builder setDefaultPaymentMethod(EmptyParam defaultPaymentMethod)
public SubscriptionUpdateParams.Builder setDefaultSource(java.lang.String defaultSource)
public SubscriptionUpdateParams.Builder setDefaultSource(EmptyParam defaultSource)
public SubscriptionUpdateParams.Builder addDefaultTaxRate(java.lang.String element)
SubscriptionUpdateParams.defaultTaxRates
for the field documentation.public SubscriptionUpdateParams.Builder addAllDefaultTaxRate(java.util.List<java.lang.String> elements)
SubscriptionUpdateParams.defaultTaxRates
for the field documentation.public SubscriptionUpdateParams.Builder setDefaultTaxRates(EmptyParam defaultTaxRates)
tax_rates
set. Invoices created will have their default_tax_rates
populated from the
subscription. Pass an empty string to remove previously-defined tax rates.public SubscriptionUpdateParams.Builder setDefaultTaxRates(java.util.List<java.lang.String> defaultTaxRates)
tax_rates
set. Invoices created will have their default_tax_rates
populated from the
subscription. Pass an empty string to remove previously-defined tax rates.public SubscriptionUpdateParams.Builder addExpand(java.lang.String element)
SubscriptionUpdateParams.expand
for the field documentation.public SubscriptionUpdateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
SubscriptionUpdateParams.expand
for the field documentation.public SubscriptionUpdateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
SubscriptionUpdateParams.extraParams
for the field documentation.public SubscriptionUpdateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
SubscriptionUpdateParams.extraParams
for the field documentation.public SubscriptionUpdateParams.Builder addItem(SubscriptionUpdateParams.Item element)
SubscriptionUpdateParams.items
for the field documentation.public SubscriptionUpdateParams.Builder addAllItem(java.util.List<SubscriptionUpdateParams.Item> elements)
SubscriptionUpdateParams.items
for the field documentation.public SubscriptionUpdateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
SubscriptionUpdateParams.metadata
for the field documentation.public SubscriptionUpdateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
SubscriptionUpdateParams.metadata
for the field documentation.public SubscriptionUpdateParams.Builder setMetadata(EmptyParam metadata)
metadata
.public SubscriptionUpdateParams.Builder setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
metadata
.public SubscriptionUpdateParams.Builder setOffSession(java.lang.Boolean offSession)
public SubscriptionUpdateParams.Builder setPauseCollection(SubscriptionUpdateParams.PauseCollection pauseCollection)
public SubscriptionUpdateParams.Builder setPauseCollection(EmptyParam pauseCollection)
public SubscriptionUpdateParams.Builder setPaymentBehavior(SubscriptionUpdateParams.PaymentBehavior paymentBehavior)
allow_incomplete
to transition the subscription to status=past_due
if a
payment is required but cannot be paid. This allows you to manage scenarios where additional
user actions are needed to pay a subscription's invoice. For example, SCA regulation may
require 3DS authentication to complete payment. See the SCA Migration
Guide for Billing to learn more. This is the default behavior.
Use pending_if_incomplete
to update the subscription using pending updates.
When you use pending_if_incomplete
you can only pass the parameters supported
by pending updates.
Use error_if_incomplete
if you want Stripe to return an HTTP 402 status code if a
subscription's first invoice cannot be paid. For example, if a payment method requires 3DS
authentication due to SCA regulation and further user action is needed, this parameter does
not create a subscription and returns an error instead. This was the default behavior for API
versions prior to 2019-03-14. See the changelog to learn more.
public SubscriptionUpdateParams.Builder setPendingInvoiceItemInterval(SubscriptionUpdateParams.PendingInvoiceItemInterval pendingInvoiceItemInterval)
public SubscriptionUpdateParams.Builder setPendingInvoiceItemInterval(EmptyParam pendingInvoiceItemInterval)
public SubscriptionUpdateParams.Builder setProrate(java.lang.Boolean prorate)
proration_behavior
. prorate=true
can be
replaced with proration_behavior=create_prorations
and prorate=false
can be
replaced with proration_behavior=none
.public SubscriptionUpdateParams.Builder setProrationBehavior(SubscriptionUpdateParams.ProrationBehavior prorationBehavior)
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
.
public SubscriptionUpdateParams.Builder setProrationDate(java.lang.Long prorationDate)
public SubscriptionUpdateParams.Builder setTaxPercent(java.math.BigDecimal taxPercent)
tax_percent
of 20.0
will charge $12 per invoice. To unset a previously-set
value, pass an empty string. This field has been deprecated and will be removed in a future
API version, for further information view the migration docs for tax_rates
.public SubscriptionUpdateParams.Builder setTaxPercent(EmptyParam taxPercent)
tax_percent
of 20.0
will charge $12 per invoice. To unset a previously-set
value, pass an empty string. This field has been deprecated and will be removed in a future
API version, for further information view the migration docs for tax_rates
.public SubscriptionUpdateParams.Builder setTransferData(SubscriptionUpdateParams.TransferData transferData)
public SubscriptionUpdateParams.Builder setTransferData(EmptyParam transferData)
public SubscriptionUpdateParams.Builder setTrialEnd(SubscriptionUpdateParams.TrialEnd trialEnd)
now
can be provided to end the
customer's trial immediately. Can be at most two years from billing_cycle_anchor
.public SubscriptionUpdateParams.Builder setTrialEnd(java.lang.Long trialEnd)
now
can be provided to end the
customer's trial immediately. Can be at most two years from billing_cycle_anchor
.public SubscriptionUpdateParams.Builder setTrialFromPlan(java.lang.Boolean trialFromPlan)
trial_period_days
should be applied to the subscription.
Setting trial_end
per subscription is preferred, and this defaults to false
.
Setting this flag to true
together with trial_end
is not allowed.