Class PaymentIntentCreateParams.Builder
- Enclosing class:
- PaymentIntentCreateParams
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddAllExpand
(List<String> elements) Add all elements to `expand` list.addAllPaymentMethodType
(List<String> elements) Add all elements to `paymentMethodTypes` list.Add an element to `expand` list.addPaymentMethodType
(String element) Add an element to `paymentMethodTypes` list.build()
Finalize and obtain parameter instance from this builder.putAllExtraParam
(Map<String, Object> map) Add all map key/value pairs to `extraParams` map.putAllMetadata
(Map<String, String> map) Add all map key/value pairs to `metadata` map.putExtraParam
(String key, Object value) Add a key/value pair to `extraParams` map.putMetadata
(String key, String value) Add a key/value pair to `metadata` map.Required. Amount intended to be collected by this PaymentIntent.setApplicationFeeAmount
(Long applicationFeeAmount) The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account.setAutomaticPaymentMethods
(PaymentIntentCreateParams.AutomaticPaymentMethods automaticPaymentMethods) When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters.setCaptureMethod
(PaymentIntentCreateParams.CaptureMethod captureMethod) Controls when the funds will be captured from the customer's account.setConfirm
(Boolean confirm) Set totrue
to attempt to confirm this PaymentIntent immediately.setConfirmationMethod
(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod) Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment.setConfirmationToken
(String confirmationToken) ID of the ConfirmationToken used to confirm this PaymentIntent.setCurrency
(String currency) Required. Three-letter ISO currency code, in lowercase.setCustomer
(String customer) ID of the Customer this PaymentIntent belongs to, if one exists.setDescription
(String description) An arbitrary string attached to the object.setErrorOnRequiresAction
(Boolean errorOnRequiresAction) Set totrue
to fail the payment attempt if the PaymentIntent transitions intorequires_action
.setMandate
(String mandate) ID of the mandate that's used for this payment.setMandateData
(EmptyParam mandateData) This hash contains details about the Mandate to create.setMandateData
(PaymentIntentCreateParams.MandateData mandateData) This hash contains details about the Mandate to create.setOffSession
(PaymentIntentCreateParams.OffSession offSession) Set totrue
to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate.setOffSession
(Boolean offSession) Set totrue
to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate.setOnBehalfOf
(String onBehalfOf) The Stripe account ID that these funds are intended for.setPaymentMethod
(String paymentMethod) ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.setPaymentMethodConfiguration
(String paymentMethodConfiguration) The ID of the payment method configuration to use with this PaymentIntent.setPaymentMethodData
(PaymentIntentCreateParams.PaymentMethodData paymentMethodData) If provided, this hash will be used to create a PaymentMethod.setPaymentMethodOptions
(PaymentIntentCreateParams.PaymentMethodOptions paymentMethodOptions) Payment method-specific configuration for this PaymentIntent.setRadarOptions
(PaymentIntentCreateParams.RadarOptions radarOptions) Options to configure Radar.setReceiptEmail
(String receiptEmail) Email address to send the receipt to.setReturnUrl
(String returnUrl) The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.setSetupFutureUsage
(PaymentIntentCreateParams.SetupFutureUsage setupFutureUsage) Indicates that you intend to make future payments with this PaymentIntent's payment method.Shipping information for this PaymentIntent.setStatementDescriptor
(String statementDescriptor) Text that appears on the customer's statement as the statement descriptor for a non-card charge.setStatementDescriptorSuffix
(String statementDescriptorSuffix) Provides information about a card charge.setTransferData
(PaymentIntentCreateParams.TransferData transferData) The parameters that you can use to automatically create a Transfer.setTransferGroup
(String transferGroup) A string that identifies the resulting payment as part of a group.setUseStripeSdk
(Boolean useStripeSdk) Set totrue
when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
build
Finalize and obtain parameter instance from this builder. -
setAmount
Required. Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). -
setApplicationFeeAmount
The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts. -
setAutomaticPaymentMethods
public PaymentIntentCreateParams.Builder setAutomaticPaymentMethods(PaymentIntentCreateParams.AutomaticPaymentMethods automaticPaymentMethods) When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters. -
setCaptureMethod
public PaymentIntentCreateParams.Builder setCaptureMethod(PaymentIntentCreateParams.CaptureMethod captureMethod) Controls when the funds will be captured from the customer's account. -
setConfirm
Set totrue
to attempt to confirm this PaymentIntent immediately. This parameter defaults tofalse
. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the Confirm API. -
setConfirmationMethod
public PaymentIntentCreateParams.Builder setConfirmationMethod(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod) Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. -
setConfirmationToken
ID of the ConfirmationToken used to confirm this PaymentIntent.If the provided ConfirmationToken contains properties that are also being provided in this request, such as
payment_method
, then the values in this request will take precedence. -
setCurrency
Required. Three-letter ISO currency code, in lowercase. Must be a supported currency. -
setCustomer
ID of the Customer this PaymentIntent belongs to, if one exists.Payment methods attached to other Customers cannot be used with this PaymentIntent.
If setup_future_usage is set and this PaymentIntent's payment method is not
card_present
, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method iscard_present
and isn't a digital wallet, then a generated_card payment method representing the card is created and attached to the Customer instead. -
setDescription
An arbitrary string attached to the object. Often useful for displaying to users. -
setErrorOnRequiresAction
Set totrue
to fail the payment attempt if the PaymentIntent transitions intorequires_action
. Use this parameter for simpler integrations that don't handle customer actions, such as saving cards without authentication. This parameter can only be used withconfirm=true
. -
addExpand
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. SeePaymentIntentCreateParams.expand
for the field documentation. -
addAllExpand
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. SeePaymentIntentCreateParams.expand
for the field documentation. -
putExtraParam
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. SeePaymentIntentCreateParams.extraParams
for the field documentation. -
putAllExtraParam
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. SeePaymentIntentCreateParams.extraParams
for the field documentation. -
setMandate
ID of the mandate that's used for this payment. This parameter can only be used withconfirm=true
. -
setMandateData
public PaymentIntentCreateParams.Builder setMandateData(PaymentIntentCreateParams.MandateData mandateData) This hash contains details about the Mandate to create. This parameter can only be used withconfirm=true
. -
setMandateData
This hash contains details about the Mandate to create. This parameter can only be used withconfirm=true
. -
putMetadata
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. SeePaymentIntentCreateParams.metadata
for the field documentation. -
putAllMetadata
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. SeePaymentIntentCreateParams.metadata
for the field documentation. -
setOffSession
Set totrue
to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and charge them later. This parameter can only be used withconfirm=true
. -
setOffSession
public PaymentIntentCreateParams.Builder setOffSession(PaymentIntentCreateParams.OffSession offSession) Set totrue
to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and charge them later. This parameter can only be used withconfirm=true
. -
setOnBehalfOf
The Stripe account ID that these funds are intended for. Learn more about the use case for connected accounts. -
setPaymentMethod
ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.If you don't provide the
payment_method
parameter or thesource
parameter withconfirm=true
,source
automatically populates withcustomer.default_source
to improve migration for users of the Charges API. We recommend that you explicitly provide thepayment_method
moving forward. -
setPaymentMethodConfiguration
public PaymentIntentCreateParams.Builder setPaymentMethodConfiguration(String paymentMethodConfiguration) The ID of the payment method configuration to use with this PaymentIntent. -
setPaymentMethodData
public PaymentIntentCreateParams.Builder setPaymentMethodData(PaymentIntentCreateParams.PaymentMethodData paymentMethodData) If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent. -
setPaymentMethodOptions
public PaymentIntentCreateParams.Builder setPaymentMethodOptions(PaymentIntentCreateParams.PaymentMethodOptions paymentMethodOptions) Payment method-specific configuration for this PaymentIntent. -
addPaymentMethodType
Add an element to `paymentMethodTypes` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePaymentIntentCreateParams.paymentMethodTypes
for the field documentation. -
addAllPaymentMethodType
Add all elements to `paymentMethodTypes` list. A list is initialized for the first `add/addAll` call, and subsequent calls adds additional elements to the original list. SeePaymentIntentCreateParams.paymentMethodTypes
for the field documentation. -
setRadarOptions
public PaymentIntentCreateParams.Builder setRadarOptions(PaymentIntentCreateParams.RadarOptions radarOptions) Options to configure Radar. Learn more about Radar Sessions. -
setReceiptEmail
Email address to send the receipt to. If you specifyreceipt_email
for a payment in live mode, you send a receipt regardless of your email settings. -
setReturnUrl
The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used withconfirm=true
. -
setSetupFutureUsage
public PaymentIntentCreateParams.Builder setSetupFutureUsage(PaymentIntentCreateParams.SetupFutureUsage setupFutureUsage) Indicates that you intend to make future payments with this PaymentIntent's payment method.If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still attach the payment method to a Customer after the transaction completes.
If the payment method is
card_present
and isn't a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.When processing card payments, Stripe uses
setup_future_usage
to help you comply with regional legislation and network rules, such as SCA. -
setShipping
Shipping information for this PaymentIntent. -
setStatementDescriptor
Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs.Setting this value for a card charge returns an error. For card charges, set the statement_descriptor_suffix instead.
-
setStatementDescriptorSuffix
public PaymentIntentCreateParams.Builder setStatementDescriptorSuffix(String statementDescriptorSuffix) Provides information about a card charge. Concatenated to the account's statement descriptor prefix to form the complete statement descriptor that appears on the customer's statement. -
setTransferData
public PaymentIntentCreateParams.Builder setTransferData(PaymentIntentCreateParams.TransferData transferData) The parameters that you can use to automatically create a Transfer. Learn more about the use case for connected accounts. -
setTransferGroup
A string that identifies the resulting payment as part of a group. Learn more about the use case for connected accounts. -
setUseStripeSdk
Set totrue
when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.
-