Class PaymentIntentCreateParams.Builder
- java.lang.Object
-
- com.stripe.param.PaymentIntentCreateParams.Builder
-
- Enclosing class:
- PaymentIntentCreateParams
public static class PaymentIntentCreateParams.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PaymentIntentCreateParams.Builder
addAllExpand(java.util.List<java.lang.String> elements)
Add all elements to `expand` list.PaymentIntentCreateParams.Builder
addAllPaymentMethodType(java.util.List<java.lang.String> elements)
Add all elements to `paymentMethodTypes` list.PaymentIntentCreateParams.Builder
addExpand(java.lang.String element)
Add an element to `expand` list.PaymentIntentCreateParams.Builder
addPaymentMethodType(java.lang.String element)
Add an element to `paymentMethodTypes` list.PaymentIntentCreateParams
build()
Finalize and obtain parameter instance from this builder.PaymentIntentCreateParams.Builder
putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
Add all map key/value pairs to `extraParams` map.PaymentIntentCreateParams.Builder
putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
Add all map key/value pairs to `metadata` map.PaymentIntentCreateParams.Builder
putExtraParam(java.lang.String key, java.lang.Object value)
Add a key/value pair to `extraParams` map.PaymentIntentCreateParams.Builder
putMetadata(java.lang.String key, java.lang.String value)
Add a key/value pair to `metadata` map.PaymentIntentCreateParams.Builder
setAmount(java.lang.Long amount)
Amount intended to be collected by this PaymentIntent.PaymentIntentCreateParams.Builder
setApplicationFeeAmount(java.lang.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.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.PaymentIntentCreateParams.Builder
setCaptureMethod(PaymentIntentCreateParams.CaptureMethod captureMethod)
Controls when the funds will be captured from the customer's account.PaymentIntentCreateParams.Builder
setConfirm(java.lang.Boolean confirm)
Set totrue
to attempt to confirm this PaymentIntent immediately.PaymentIntentCreateParams.Builder
setConfirmationMethod(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod)
PaymentIntentCreateParams.Builder
setCurrency(java.lang.String currency)
Three-letter ISO currency code, in lowercase.PaymentIntentCreateParams.Builder
setCustomer(java.lang.String customer)
ID of the Customer this PaymentIntent belongs to, if one exists.PaymentIntentCreateParams.Builder
setDescription(java.lang.String description)
An arbitrary string attached to the object.PaymentIntentCreateParams.Builder
setErrorOnRequiresAction(java.lang.Boolean errorOnRequiresAction)
Set totrue
to fail the payment attempt if the PaymentIntent transitions intorequires_action
.PaymentIntentCreateParams.Builder
setMandate(java.lang.String mandate)
ID of the mandate to be used for this payment.PaymentIntentCreateParams.Builder
setMandateData(PaymentIntentCreateParams.MandateData mandateData)
This hash contains details about the Mandate to create.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.PaymentIntentCreateParams.Builder
setOffSession(java.lang.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.PaymentIntentCreateParams.Builder
setOnBehalfOf(java.lang.String onBehalfOf)
The Stripe account ID for which these funds are intended.PaymentIntentCreateParams.Builder
setPaymentMethod(java.lang.String paymentMethod)
ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.PaymentIntentCreateParams.Builder
setPaymentMethodData(PaymentIntentCreateParams.PaymentMethodData paymentMethodData)
If provided, this hash will be used to create a PaymentMethod.PaymentIntentCreateParams.Builder
setPaymentMethodOptions(PaymentIntentCreateParams.PaymentMethodOptions paymentMethodOptions)
Payment-method-specific configuration for this PaymentIntent.PaymentIntentCreateParams.Builder
setReceiptEmail(java.lang.String receiptEmail)
Email address that the receipt for the resulting payment will be sent to.PaymentIntentCreateParams.Builder
setReturnUrl(java.lang.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.PaymentIntentCreateParams.Builder
setSetupFutureUsage(PaymentIntentCreateParams.SetupFutureUsage setupFutureUsage)
Indicates that you intend to make future payments with this PaymentIntent's payment method.PaymentIntentCreateParams.Builder
setShipping(PaymentIntentCreateParams.Shipping shipping)
Shipping information for this PaymentIntent.PaymentIntentCreateParams.Builder
setStatementDescriptor(java.lang.String statementDescriptor)
For non-card charges, you can use this value as the complete description that appears on your customers’ statements.PaymentIntentCreateParams.Builder
setStatementDescriptorSuffix(java.lang.String statementDescriptorSuffix)
Provides information about a card payment that customers see on their statements.PaymentIntentCreateParams.Builder
setTransferData(PaymentIntentCreateParams.TransferData transferData)
The parameters used to automatically create a Transfer when the payment succeeds.PaymentIntentCreateParams.Builder
setTransferGroup(java.lang.String transferGroup)
A string that identifies the resulting payment as part of a group.PaymentIntentCreateParams.Builder
setUseStripeSdk(java.lang.Boolean useStripeSdk)
Set totrue
only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
-
-
-
Method Detail
-
build
public PaymentIntentCreateParams build()
Finalize and obtain parameter instance from this builder.
-
setAmount
public PaymentIntentCreateParams.Builder setAmount(java.lang.Long amount)
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
public PaymentIntentCreateParams.Builder setApplicationFeeAmount(java.lang.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. 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
public PaymentIntentCreateParams.Builder setConfirm(java.lang.Boolean confirm)
-
setConfirmationMethod
public PaymentIntentCreateParams.Builder setConfirmationMethod(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod)
-
setCurrency
public PaymentIntentCreateParams.Builder setCurrency(java.lang.String currency)
Three-letter ISO currency code, in lowercase. Must be a supported currency.
-
setCustomer
public PaymentIntentCreateParams.Builder setCustomer(java.lang.String customer)
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
public PaymentIntentCreateParams.Builder setDescription(java.lang.String description)
An arbitrary string attached to the object. Often useful for displaying to users.
-
setErrorOnRequiresAction
public PaymentIntentCreateParams.Builder setErrorOnRequiresAction(java.lang.Boolean errorOnRequiresAction)
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
public PaymentIntentCreateParams.Builder addExpand(java.lang.String element)
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
public PaymentIntentCreateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
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
public PaymentIntentCreateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
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
public PaymentIntentCreateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
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
public PaymentIntentCreateParams.Builder setMandate(java.lang.String mandate)
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
public PaymentIntentCreateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
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
public PaymentIntentCreateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
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
public PaymentIntentCreateParams.Builder setOffSession(java.lang.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. 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
public PaymentIntentCreateParams.Builder setOnBehalfOf(java.lang.String onBehalfOf)
The Stripe account ID for which these funds are intended. For details, see the PaymentIntents use case for connected accounts.
-
setPaymentMethod
public PaymentIntentCreateParams.Builder setPaymentMethod(java.lang.String paymentMethod)
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
public PaymentIntentCreateParams.Builder addPaymentMethodType(java.lang.String element)
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
public PaymentIntentCreateParams.Builder addAllPaymentMethodType(java.util.List<java.lang.String> elements)
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.
-
setReceiptEmail
public PaymentIntentCreateParams.Builder setReceiptEmail(java.lang.String receiptEmail)
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
public PaymentIntentCreateParams.Builder setReturnUrl(java.lang.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. 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
public PaymentIntentCreateParams.Builder setShipping(PaymentIntentCreateParams.Shipping shipping)
Shipping information for this PaymentIntent.
-
setStatementDescriptor
public PaymentIntentCreateParams.Builder setStatementDescriptor(java.lang.String statementDescriptor)
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(java.lang.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
public PaymentIntentCreateParams.Builder setTransferGroup(java.lang.String transferGroup)
A string that identifies the resulting payment as part of a group. See the PaymentIntents use case for connected accounts for details.
-
setUseStripeSdk
public PaymentIntentCreateParams.Builder setUseStripeSdk(java.lang.Boolean useStripeSdk)
Set totrue
only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.
-
-