Class PaymentIntentCreateParams.Builder
- Enclosing class:
- PaymentIntentCreateParams
-
Constructor Summary
Constructors -
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.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 enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and 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) setCurrency
(String currency) 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 to be used for this payment.setMandateData
(PaymentIntentCreateParams.MandateData mandateData) This hash contains details about the Mandate to create.setOffSession
(PaymentIntentCreateParams.OffSession offSession) Set totrue
to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate.setOffSession
(Boolean offSession) Set totrue
to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate.setOnBehalfOf
(String onBehalfOf) The Stripe account ID for which these funds are intended.setPaymentMethod
(String paymentMethod) ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to 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 that the receipt for the resulting payment will be sent 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) For non-card charges, you can use this value as the complete description that appears on your customers’ statements.setStatementDescriptorSuffix
(String statementDescriptorSuffix) Provides information about a card payment that customers see on their statements.setTransferData
(PaymentIntentCreateParams.TransferData transferData) The parameters used to automatically create a Transfer when the payment succeeds.setTransferGroup
(String transferGroup) A string that identifies the resulting payment as part of a group.setUseStripeSdk
(Boolean useStripeSdk) Set totrue
only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
build
Finalize and obtain parameter instance from this builder. -
setAmount
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 enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and 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
-
setConfirmationMethod
public PaymentIntentCreateParams.Builder setConfirmationMethod(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod) -
setCurrency
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 present in combination with setup_future_usage, this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.
-
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
. This parameter is intended for simpler integrations that do not handle customer actions, like 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 to be 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
. -
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 is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for 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 is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used withconfirm=true
. -
setOnBehalfOf
The Stripe account ID for which these funds are intended. For details, see the PaymentIntents use case for connected accounts. -
setPaymentMethod
ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.If neither the
payment_method
parameter nor thesource
parameter are provided withconfirm=true
,source
will be automatically populated withcustomer.default_source
to improve the migration experience for users of the Charges API. We recommend that you explicitly provide thepayment_method
going forward. -
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. See Radar Session for more information. -
setReceiptEmail
Email address that the receipt for the resulting payment will be sent to. Ifreceipt_email
is specified for a payment in live mode, a receipt will be sent 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.Providing this parameter will attach the payment method to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be attached to a Customer after the transaction completes.
When processing card payments, Stripe also uses
setup_future_usage
to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA. -
setShipping
Shipping information for this PaymentIntent. -
setStatementDescriptor
For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. -
setStatementDescriptorSuffix
public PaymentIntentCreateParams.Builder setStatementDescriptorSuffix(String statementDescriptorSuffix) Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. -
setTransferData
public PaymentIntentCreateParams.Builder setTransferData(PaymentIntentCreateParams.TransferData transferData) The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts. -
setTransferGroup
A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts for details. -
setUseStripeSdk
Set totrue
only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
-