public static class PaymentIntentCreateParams.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and 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 applied to the payment and
transferred to the application owner's Stripe account.
|
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 to
true 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 to
true to fail the payment attempt if the PaymentIntent transitions into requires_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(java.lang.Boolean offSession)
Set to
true to indicate that the customer is not in your checkout flow during this
payment attempt, and therefore is unable to authenticate. |
PaymentIntentCreateParams.Builder |
setOffSession(PaymentIntentCreateParams.OffSession offSession)
Set to
true 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 |
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 |
setSavePaymentMethod(java.lang.Boolean savePaymentMethod)
If the PaymentIntent has a
payment_method and a customer or if you're
attaching a payment method to the PaymentIntent in this request, you can pass save_payment_method=true to save the payment method to the customer immediately. |
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 |
setSource(java.lang.String source)
This is a legacy field that will be removed in the future.
|
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 to
true only when using manual confirmation and the iOS or Android SDKs to handle
additional authentication steps. |
public PaymentIntentCreateParams build()
public PaymentIntentCreateParams.Builder setAmount(java.lang.Long amount)
public PaymentIntentCreateParams.Builder setApplicationFeeAmount(java.lang.Long applicationFeeAmount)
public PaymentIntentCreateParams.Builder setCaptureMethod(PaymentIntentCreateParams.CaptureMethod captureMethod)
public PaymentIntentCreateParams.Builder setConfirm(java.lang.Boolean confirm)
public PaymentIntentCreateParams.Builder setConfirmationMethod(PaymentIntentCreateParams.ConfirmationMethod confirmationMethod)
public PaymentIntentCreateParams.Builder setCurrency(java.lang.String currency)
public PaymentIntentCreateParams.Builder setCustomer(java.lang.String customer)
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.
public PaymentIntentCreateParams.Builder setDescription(java.lang.String description)
public PaymentIntentCreateParams.Builder setErrorOnRequiresAction(java.lang.Boolean errorOnRequiresAction)
true
to fail the payment attempt if the PaymentIntent transitions into requires_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 with confirm=true
.public PaymentIntentCreateParams.Builder addExpand(java.lang.String element)
PaymentIntentCreateParams.expand
for the field documentation.public PaymentIntentCreateParams.Builder addAllExpand(java.util.List<java.lang.String> elements)
PaymentIntentCreateParams.expand
for the field documentation.public PaymentIntentCreateParams.Builder putExtraParam(java.lang.String key, java.lang.Object value)
PaymentIntentCreateParams.extraParams
for the field documentation.public PaymentIntentCreateParams.Builder putAllExtraParam(java.util.Map<java.lang.String,java.lang.Object> map)
PaymentIntentCreateParams.extraParams
for the field documentation.public PaymentIntentCreateParams.Builder setMandate(java.lang.String mandate)
confirm=true
.public PaymentIntentCreateParams.Builder setMandateData(PaymentIntentCreateParams.MandateData mandateData)
confirm=true
.public PaymentIntentCreateParams.Builder putMetadata(java.lang.String key, java.lang.String value)
PaymentIntentCreateParams.metadata
for the field documentation.public PaymentIntentCreateParams.Builder putAllMetadata(java.util.Map<java.lang.String,java.lang.String> map)
PaymentIntentCreateParams.metadata
for the field documentation.public PaymentIntentCreateParams.Builder setOffSession(java.lang.Boolean offSession)
true
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 with confirm=true
.public PaymentIntentCreateParams.Builder setOffSession(PaymentIntentCreateParams.OffSession offSession)
true
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 with confirm=true
.public PaymentIntentCreateParams.Builder setOnBehalfOf(java.lang.String onBehalfOf)
public PaymentIntentCreateParams.Builder setPaymentMethod(java.lang.String paymentMethod)
If neither the payment_method
parameter nor the source
parameter are
provided with confirm=true
, source
will be automatically populated with
customer.default_source
to improve the migration experience for users of the Charges
API. We recommend that you explicitly provide the payment_method
going forward.
public PaymentIntentCreateParams.Builder setPaymentMethodOptions(PaymentIntentCreateParams.PaymentMethodOptions paymentMethodOptions)
public PaymentIntentCreateParams.Builder addPaymentMethodType(java.lang.String element)
PaymentIntentCreateParams.paymentMethodTypes
for the field documentation.public PaymentIntentCreateParams.Builder addAllPaymentMethodType(java.util.List<java.lang.String> elements)
PaymentIntentCreateParams.paymentMethodTypes
for the field documentation.public PaymentIntentCreateParams.Builder setReceiptEmail(java.lang.String receiptEmail)
public PaymentIntentCreateParams.Builder setReturnUrl(java.lang.String returnUrl)
confirm=true
.public PaymentIntentCreateParams.Builder setSavePaymentMethod(java.lang.Boolean savePaymentMethod)
payment_method
and a customer
or if you're
attaching a payment method to the PaymentIntent in this request, you can pass save_payment_method=true
to save the payment method to the customer immediately.
If the payment method is already saved to a customer, this parameter does nothing. If this type of payment method cannot be saved to a customer, the request will error.
Saving a payment method using this parameter is not recommended because it will save the payment method even if it cannot be charged (e.g. the user made a typo). To ensure that only payment methods which are likely to be chargeable are saved to a customer, use the (setup_future_usage)[#payment_intents/object#payment_intent_object-setup_future_usage] property, which saves the payment method after the PaymentIntent has been confirmed and all required actions by the customer are complete.
public PaymentIntentCreateParams.Builder setSetupFutureUsage(PaymentIntentCreateParams.SetupFutureUsage setupFutureUsage)
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.
For more, learn to save card details during payment.
Stripe uses setup_future_usage
to dynamically optimize your payment flow and
comply with regional legislation and network rules. For example, if your customer is impacted
by SCA, using off_session
will ensure that they are authenticated while processing this PaymentIntent. You
will then be able to collect off-session
payments for this customer.
public PaymentIntentCreateParams.Builder setShipping(PaymentIntentCreateParams.Shipping shipping)
public PaymentIntentCreateParams.Builder setSource(java.lang.String source)
payment_method
field instead, which
also supports Cards and compatible Source
objects.If neither the payment_method
parameter nor the source
parameter are
provided with confirm=true
, this field will be automatically populated with customer.default_source
to improve the migration experience for users of the Charges API. We
recommend that you explicitly provide the source
or payment_method
parameter
going forward.public PaymentIntentCreateParams.Builder setStatementDescriptor(java.lang.String statementDescriptor)
public PaymentIntentCreateParams.Builder setStatementDescriptorSuffix(java.lang.String statementDescriptorSuffix)
public PaymentIntentCreateParams.Builder setTransferData(PaymentIntentCreateParams.TransferData transferData)
public PaymentIntentCreateParams.Builder setTransferGroup(java.lang.String transferGroup)
public PaymentIntentCreateParams.Builder setUseStripeSdk(java.lang.Boolean useStripeSdk)
true
only when using manual confirmation and the iOS or Android SDKs to handle
additional authentication steps.