class Stripe::SetupIntent
- Stripe::SetupIntent
- Reference
- Object
Overview
A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use PaymentIntents to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple statuses as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in certain regions might need to be run through Strong Customer Authentication during payment method collection to streamline later off-session payments. If you use the SetupIntent with a Customer, it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or setup_future_usage on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: Setup Intents API
Included Modules
- JSON::Serializable
- JSON::Serializable::Unmapped
- OpenApi::Json
- OpenApi::Validatable
Defined in:
stripe/models/setup_intent.crConstant Summary
-
ERROR_MESSAGE_FOR_CANCELLATION_REASON =
"invalid value for \"cancellation_reason\", must be one of [abandoned, duplicate, requested_by_customer]."
-
ERROR_MESSAGE_FOR_FLOW_DIRECTIONS =
"invalid value for \"flow_directions\", must be one of [inbound, outbound]."
-
ERROR_MESSAGE_FOR_OBJECT =
"invalid value for \"object\", must be one of [setup_intent]."
-
ERROR_MESSAGE_FOR_STATUS =
"invalid value for \"status\", must be one of [canceled, processing, requires_action, requires_confirmation, requires_payment_method, succeeded]."
-
MAX_LENGTH_FOR_CLIENT_SECRET =
5000
-
MAX_LENGTH_FOR_DESCRIPTION =
5000
-
MAX_LENGTH_FOR_ID =
5000
-
MAX_LENGTH_FOR_USAGE =
5000
-
VALID_VALUES_FOR_CANCELLATION_REASON =
String.static_array("abandoned", "duplicate", "requested_by_customer")
-
VALID_VALUES_FOR_FLOW_DIRECTIONS =
String.static_array("inbound", "outbound")
-
VALID_VALUES_FOR_OBJECT =
String.static_array("setup_intent")
-
VALID_VALUES_FOR_STATUS =
String.static_array("canceled", "processing", "requires_action", "requires_confirmation", "requires_payment_method", "succeeded")
Constructors
- .new(pull : JSON::PullParser)
-
.new(*, application : Stripe::SetupIntentApplication | Nil = nil, automatic_payment_methods : Stripe::SetupIntentAutomaticPaymentMethods | Nil = nil, cancellation_reason : String | Nil = nil, client_secret : String | Nil = nil, created : Int64 | Nil = nil, customer : Stripe::SetupIntentCustomer | Nil = nil, description : String | Nil = nil, flow_directions : Array(String) | Nil = nil, id : String | Nil = nil, last_setup_error : Stripe::SetupIntentLastSetupError | Nil = nil, latest_attempt : Stripe::SetupIntentLatestAttempt | Nil = nil, livemode : Bool | Nil = nil, mandate : Stripe::SetupIntentMandate | Nil = nil, metadata : Hash(String, String) | Nil = nil, next_action : Stripe::SetupIntentNextAction1 | Nil = nil, object : String | Nil = nil, on_behalf_of : Stripe::SetupIntentOnBehalfOf | Nil = nil, payment_method : Stripe::SetupIntentPaymentMethod | Nil = nil, payment_method_configuration_details : Stripe::SetupIntentPaymentMethodConfigurationDetails | Nil = nil, payment_method_options : Stripe::SetupIntentPaymentMethodOptions1 | Nil = nil, payment_method_types : Array(String) | Nil = nil, single_use_mandate : Stripe::SetupIntentSingleUseMandate | Nil = nil, status : String | Nil = nil, usage : String | Nil = nil, attach_to_self : Bool | Nil = nil)
Initializes the object @param [Hash] attributes Model attributes in the form of hash
Instance Method Summary
-
#==(other : self)
Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes.
- #application : Stripe::SetupIntentApplication | Nil
-
#application=(new_value : Stripe::SetupIntentApplication | Nil)
Custom attribute writer method checking allowed values (enum).
- #attach_to_self : Bool | Nil
-
#attach_to_self=(new_value : Bool | Nil)
Custom attribute writer method checking allowed values (enum).
- #automatic_payment_methods : Stripe::SetupIntentAutomaticPaymentMethods | Nil
-
#automatic_payment_methods=(new_value : Stripe::SetupIntentAutomaticPaymentMethods | Nil)
Custom attribute writer method checking allowed values (enum).
- #cancellation_reason : String | Nil
-
#cancellation_reason=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #client_secret : String | Nil
-
#client_secret=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #created : Int64 | Nil
-
#created=(new_value : Int64 | Nil)
Custom attribute writer method checking allowed values (enum).
- #customer : Stripe::SetupIntentCustomer | Nil
-
#customer=(new_value : Stripe::SetupIntentCustomer | Nil)
Custom attribute writer method checking allowed values (enum).
- #description : String | Nil
-
#description=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #flow_directions : Array(String) | Nil
-
#flow_directions=(new_value : Array(String) | Nil)
Custom attribute writer method checking allowed values (enum).
-
#hash(hasher)
Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes.
- #id : String | Nil
-
#id=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #last_setup_error : Stripe::SetupIntentLastSetupError | Nil
-
#last_setup_error=(new_value : Stripe::SetupIntentLastSetupError | Nil)
Custom attribute writer method checking allowed values (enum).
- #latest_attempt : Stripe::SetupIntentLatestAttempt | Nil
-
#latest_attempt=(new_value : Stripe::SetupIntentLatestAttempt | Nil)
Custom attribute writer method checking allowed values (enum).
-
#list_invalid_properties : Array(String)
Show invalid properties with the reasons.
- #livemode : Bool | Nil
-
#livemode=(new_value : Bool | Nil)
Custom attribute writer method checking allowed values (enum).
- #mandate : Stripe::SetupIntentMandate | Nil
-
#mandate=(new_value : Stripe::SetupIntentMandate | Nil)
Custom attribute writer method checking allowed values (enum).
- #metadata : Hash(String, String) | Nil
-
#metadata=(new_value : Hash(String, String) | Nil)
Custom attribute writer method checking allowed values (enum).
- #next_action : Stripe::SetupIntentNextAction1 | Nil
-
#next_action=(new_value : Stripe::SetupIntentNextAction1 | Nil)
Custom attribute writer method checking allowed values (enum).
- #object : String | Nil
-
#object=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #on_behalf_of : Stripe::SetupIntentOnBehalfOf | Nil
-
#on_behalf_of=(new_value : Stripe::SetupIntentOnBehalfOf | Nil)
Custom attribute writer method checking allowed values (enum).
- #payment_method : Stripe::SetupIntentPaymentMethod | Nil
-
#payment_method=(new_value : Stripe::SetupIntentPaymentMethod | Nil)
Custom attribute writer method checking allowed values (enum).
- #payment_method_configuration_details : Stripe::SetupIntentPaymentMethodConfigurationDetails | Nil
-
#payment_method_configuration_details=(new_value : Stripe::SetupIntentPaymentMethodConfigurationDetails | Nil)
Custom attribute writer method checking allowed values (enum).
- #payment_method_options : Stripe::SetupIntentPaymentMethodOptions1 | Nil
-
#payment_method_options=(new_value : Stripe::SetupIntentPaymentMethodOptions1 | Nil)
Custom attribute writer method checking allowed values (enum).
- #payment_method_types : Array(String) | Nil
-
#payment_method_types=(new_value : Array(String) | Nil)
Custom attribute writer method checking allowed values (enum).
- #single_use_mandate : Stripe::SetupIntentSingleUseMandate | Nil
-
#single_use_mandate=(new_value : Stripe::SetupIntentSingleUseMandate | Nil)
Custom attribute writer method checking allowed values (enum).
- #status : String | Nil
-
#status=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
- #usage : String | Nil
-
#usage=(new_value : String | Nil)
Custom attribute writer method checking allowed values (enum).
-
#valid? : Bool
Check to see if the all the properties in the model are valid @return true if the model is valid
Instance methods inherited from module OpenApi::Json
after_initialize
after_initialize,
clone
clone,
eql?(o : self)
eql?,
to_hash : Hash(String, JSON::Any)
to_hash,
to_json_any : JSON::Any
to_json_any
Class methods inherited from module OpenApi::Json
build_from_hash(hash : Hash)
build_from_hash,
build_from_json_any(json_any : JSON::Any)
build_from_json_any
Instance methods inherited from module OpenApi::Validatable
list_invalid_properties : Array(String)
list_invalid_properties,
list_invalid_properties_for(key : String) : Array(String)
list_invalid_properties_for,
valid? : Bool
valid?,
validate : Nil
validate
Constructor Detail
Initializes the object @param [Hash] attributes Model attributes in the form of hash
Instance Method Detail
Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code
Custom attribute writer method checking allowed values (enum). @param [Object] application Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] attach_to_self Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] automatic_payment_methods Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] cancellation_reason Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] client_secret Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] created Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] customer Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] description Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] flow_directions Object to be assigned
Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code
Custom attribute writer method checking allowed values (enum). @param [Object] id Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] last_setup_error Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] latest_attempt Object to be assigned
Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons
Custom attribute writer method checking allowed values (enum). @param [Object] livemode Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] mandate Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] metadata Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] next_action Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] object Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] on_behalf_of Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] payment_method Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] payment_method_configuration_details Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] payment_method_options Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] payment_method_types Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] single_use_mandate Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] status Object to be assigned
Custom attribute writer method checking allowed values (enum). @param [Object] usage Object to be assigned
Check to see if the all the properties in the model are valid @return true if the model is valid