public static class SubscriptionCreateParams.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
SubscriptionCreateParams.Builder |
addAddInvoiceItem(SubscriptionCreateParams.AddInvoiceItem element)
Add an element to `addInvoiceItems` list.
|
SubscriptionCreateParams.Builder |
addAllAddInvoiceItem(java.util.List<SubscriptionCreateParams.AddInvoiceItem> elements)
Add all elements to `addInvoiceItems` list.
|
SubscriptionCreateParams.Builder |
addAllDefaultTaxRate(java.util.List<java.lang.String> elements)
Add all elements to `defaultTaxRates` list.
|
SubscriptionCreateParams.Builder |
addAllExpand(java.util.List<java.lang.String> elements)
Add all elements to `expand` list.
|
SubscriptionCreateParams.Builder |
addAllItem(java.util.List<SubscriptionCreateParams.Item> elements)
Add all elements to `items` list.
|
SubscriptionCreateParams.Builder |
addDefaultTaxRate(java.lang.String element)
Add an element to `defaultTaxRates` list.
|
SubscriptionCreateParams.Builder |
addExpand(java.lang.String element)
Add an element to `expand` list.
|
SubscriptionCreateParams.Builder |
addItem(SubscriptionCreateParams.Item element)
Add an element to `items` list.
|
SubscriptionCreateParams |
build()
Finalize and obtain parameter instance from this builder.
|
SubscriptionCreateParams.Builder |
putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
Add all map key/value pairs to `extraParams` map.
|
SubscriptionCreateParams.Builder |
putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
Add all map key/value pairs to `metadata` map.
|
SubscriptionCreateParams.Builder |
putExtraParam(java.lang.String key,
java.lang.Object value)
Add a key/value pair to `extraParams` map.
|
SubscriptionCreateParams.Builder |
putMetadata(java.lang.String key,
java.lang.String value)
Add a key/value pair to `metadata` map.
|
SubscriptionCreateParams.Builder |
setApplicationFeePercent(java.math.BigDecimal applicationFeePercent)
A non-negative decimal between 0 and 100, with at most two decimal places.
|
SubscriptionCreateParams.Builder |
setBackdateStartDate(java.lang.Long backdateStartDate)
For new subscriptions, a past timestamp to backdate the subscription's start date to.
|
SubscriptionCreateParams.Builder |
setBillingCycleAnchor(java.lang.Long billingCycleAnchor)
A future timestamp to anchor the subscription's billing cycle.
|
SubscriptionCreateParams.Builder |
setBillingThresholds(EmptyParam billingThresholds)
Define thresholds at which an invoice will be sent, and the subscription advanced to a new
billing period.
|
SubscriptionCreateParams.Builder |
setBillingThresholds(SubscriptionCreateParams.BillingThresholds billingThresholds)
Define thresholds at which an invoice will be sent, and the subscription advanced to a new
billing period.
|
SubscriptionCreateParams.Builder |
setCancelAt(java.lang.Long cancelAt)
A timestamp at which the subscription should cancel.
|
SubscriptionCreateParams.Builder |
setCancelAtPeriodEnd(java.lang.Boolean cancelAtPeriodEnd)
Boolean indicating whether this subscription should cancel at the end of the current period.
|
SubscriptionCreateParams.Builder |
setCollectionMethod(SubscriptionCreateParams.CollectionMethod collectionMethod)
Either
charge_automatically , or send_invoice . |
SubscriptionCreateParams.Builder |
setCoupon(java.lang.String coupon)
The code of the coupon to apply to this subscription.
|
SubscriptionCreateParams.Builder |
setCustomer(java.lang.String customer)
The identifier of the customer to subscribe.
|
SubscriptionCreateParams.Builder |
setDaysUntilDue(java.lang.Long daysUntilDue)
Number of days a customer has to pay invoices generated by this subscription.
|
SubscriptionCreateParams.Builder |
setDefaultPaymentMethod(java.lang.String defaultPaymentMethod)
ID of the default payment method for the subscription.
|
SubscriptionCreateParams.Builder |
setDefaultSource(java.lang.String defaultSource)
ID of the default payment source for the subscription.
|
SubscriptionCreateParams.Builder |
setDefaultTaxRates(EmptyParam defaultTaxRates)
The tax rates that will apply to any subscription item that does not have
tax_rates
set. |
SubscriptionCreateParams.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. |
SubscriptionCreateParams.Builder |
setMetadata(EmptyParam metadata)
Set of key-value pairs that you can attach
to an object.
|
SubscriptionCreateParams.Builder |
setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
Set of key-value pairs that you can attach
to an object.
|
SubscriptionCreateParams.Builder |
setOffSession(java.lang.Boolean offSession)
Indicates if a customer is on or off-session while an invoice payment is attempted.
|
SubscriptionCreateParams.Builder |
setPaymentBehavior(SubscriptionCreateParams.PaymentBehavior paymentBehavior)
Use
allow_incomplete to create subscriptions with status=incomplete if the
first invoice cannot be paid. |
SubscriptionCreateParams.Builder |
setPendingInvoiceItemInterval(EmptyParam pendingInvoiceItemInterval)
Specifies an interval for how often to bill for any pending invoice items.
|
SubscriptionCreateParams.Builder |
setPendingInvoiceItemInterval(SubscriptionCreateParams.PendingInvoiceItemInterval pendingInvoiceItemInterval)
Specifies an interval for how often to bill for any pending invoice items.
|
SubscriptionCreateParams.Builder |
setPromotionCode(java.lang.String promotionCode)
The API ID of a promotion code to apply to this subscription.
|
SubscriptionCreateParams.Builder |
setProrationBehavior(SubscriptionCreateParams.ProrationBehavior prorationBehavior)
Determines how to handle prorations
resulting from the
billing_cycle_anchor . |
SubscriptionCreateParams.Builder |
setTransferData(SubscriptionCreateParams.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.
|
SubscriptionCreateParams.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.
|
SubscriptionCreateParams.Builder |
setTrialEnd(SubscriptionCreateParams.TrialEnd trialEnd)
Unix timestamp representing the end of the trial period the customer will get before being
charged for the first time.
|
SubscriptionCreateParams.Builder |
setTrialFromPlan(java.lang.Boolean trialFromPlan)
Indicates if a plan's
trial_period_days should be applied to the subscription. |
SubscriptionCreateParams.Builder |
setTrialPeriodDays(java.lang.Long trialPeriodDays)
Integer representing the number of trial period days before the customer is charged for the
first time.
|
public SubscriptionCreateParams build()
public SubscriptionCreateParams.Builder addAddInvoiceItem(SubscriptionCreateParams.AddInvoiceItem element)
SubscriptionCreateParams.addInvoiceItems
for the field documentation.public SubscriptionCreateParams.Builder addAllAddInvoiceItem(java.util.List<SubscriptionCreateParams.AddInvoiceItem> elements)
SubscriptionCreateParams.addInvoiceItems
for the field documentation.public SubscriptionCreateParams.Builder setApplicationFeePercent(java.math.BigDecimal applicationFeePercent)
public SubscriptionCreateParams.Builder setBackdateStartDate(java.lang.Long backdateStartDate)
public SubscriptionCreateParams.Builder setBillingCycleAnchor(java.lang.Long billingCycleAnchor)
month
or year
intervals, the day of the month for subsequent invoices.public SubscriptionCreateParams.Builder setBillingThresholds(SubscriptionCreateParams.BillingThresholds billingThresholds)
public SubscriptionCreateParams.Builder setBillingThresholds(EmptyParam billingThresholds)
public SubscriptionCreateParams.Builder setCancelAt(java.lang.Long cancelAt)
proration_behavior
. If set during a future period, this will always cause a proration for
that period.public SubscriptionCreateParams.Builder setCancelAtPeriodEnd(java.lang.Boolean cancelAtPeriodEnd)
public SubscriptionCreateParams.Builder setCollectionMethod(SubscriptionCreateParams.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 SubscriptionCreateParams.Builder setCoupon(java.lang.String coupon)
public SubscriptionCreateParams.Builder setCustomer(java.lang.String customer)
public SubscriptionCreateParams.Builder setDaysUntilDue(java.lang.Long daysUntilDue)
collection_method
is set to send_invoice
.public SubscriptionCreateParams.Builder setDefaultPaymentMethod(java.lang.String defaultPaymentMethod)
default_source
. If
neither are set, invoices will use the customer's invoice_settings.default_payment_method
or default_source.public SubscriptionCreateParams.Builder setDefaultSource(java.lang.String defaultSource)
default_payment_method
is also set, default_payment_method
will take precedence. If
neither are set, invoices will use the customer's invoice_settings.default_payment_method
or default_source.public SubscriptionCreateParams.Builder addDefaultTaxRate(java.lang.String element)
SubscriptionCreateParams.defaultTaxRates
for the field documentation.public SubscriptionCreateParams.Builder addAllDefaultTaxRate(java.util.List<java.lang.String> elements)
SubscriptionCreateParams.defaultTaxRates
for the field documentation.public SubscriptionCreateParams.Builder setDefaultTaxRates(EmptyParam defaultTaxRates)
tax_rates
set. Invoices created will have their default_tax_rates
populated from the
subscription.public SubscriptionCreateParams.Builder setDefaultTaxRates(java.util.List<java.lang.String> defaultTaxRates)
tax_rates
set. Invoices created will have their default_tax_rates
populated from the
subscription.public SubscriptionCreateParams.Builder addExpand(java.lang.String element)
SubscriptionCreateParams.expand
for the field documentation.public SubscriptionCreateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
SubscriptionCreateParams.expand
for the field documentation.public SubscriptionCreateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
SubscriptionCreateParams.extraParams
for the field documentation.public SubscriptionCreateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
SubscriptionCreateParams.extraParams
for the field documentation.public SubscriptionCreateParams.Builder addItem(SubscriptionCreateParams.Item element)
SubscriptionCreateParams.items
for the field documentation.public SubscriptionCreateParams.Builder addAllItem(java.util.List<SubscriptionCreateParams.Item> elements)
SubscriptionCreateParams.items
for the field documentation.public SubscriptionCreateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
SubscriptionCreateParams.metadata
for the field documentation.public SubscriptionCreateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
SubscriptionCreateParams.metadata
for the field documentation.public SubscriptionCreateParams.Builder setMetadata(EmptyParam metadata)
metadata
.public SubscriptionCreateParams.Builder setMetadata(java.util.Map<java.lang.String,java.lang.String> metadata)
metadata
.public SubscriptionCreateParams.Builder setOffSession(java.lang.Boolean offSession)
public SubscriptionCreateParams.Builder setPaymentBehavior(SubscriptionCreateParams.PaymentBehavior paymentBehavior)
allow_incomplete
to create subscriptions with status=incomplete
if the
first invoice cannot be paid. Creating subscriptions with this status 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 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.
pending_if_incomplete
is only used with updates and cannot be passed when creating
a subscription.
public SubscriptionCreateParams.Builder setPendingInvoiceItemInterval(SubscriptionCreateParams.PendingInvoiceItemInterval pendingInvoiceItemInterval)
public SubscriptionCreateParams.Builder setPendingInvoiceItemInterval(EmptyParam pendingInvoiceItemInterval)
public SubscriptionCreateParams.Builder setPromotionCode(java.lang.String promotionCode)
public SubscriptionCreateParams.Builder setProrationBehavior(SubscriptionCreateParams.ProrationBehavior prorationBehavior)
billing_cycle_anchor
. Valid values are create_prorations
or none
.
Passing create_prorations
will cause proration invoice items to be created when
applicable. Prorations can be disabled by passing none
. If no value is passed, the
default is create_prorations
.
public SubscriptionCreateParams.Builder setTransferData(SubscriptionCreateParams.TransferData transferData)
public SubscriptionCreateParams.Builder setTrialEnd(SubscriptionCreateParams.TrialEnd trialEnd)
now
can be provided to end the
customer's trial immediately. Can be at most two years from billing_cycle_anchor
.public SubscriptionCreateParams.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 SubscriptionCreateParams.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.public SubscriptionCreateParams.Builder setTrialPeriodDays(java.lang.Long trialPeriodDays)