Class: Stripe::Checkout::Session
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::Checkout::Session
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/checkout/session.rb
Overview
A Checkout Session represents your customer’s session as they pay for one-time purchases or subscriptions through [Checkout](docs.stripe.com/payments/checkout) or [Payment Links](docs.stripe.com/payments/payment-links). We recommend creating a new Session each time your customer attempts to pay.
Once payment is successful, the Checkout Session will contain a reference to the [Customer](docs.stripe.com/api/customers), and either the successful [PaymentIntent](docs.stripe.com/api/payment_intents) or an active [Subscription](docs.stripe.com/api/subscriptions).
You can create a Checkout Session on your server and redirect to its URL to begin Checkout.
Related guide: [Checkout quickstart](docs.stripe.com/checkout/quickstart)
Defined Under Namespace
Classes: AdaptivePricing, AfterExpiration, AutomaticTax, BrandingSettings, CollectedInformation, Consent, ConsentCollection, CurrencyConversion, CustomField, CustomText, CustomerDetails, Discount, InvoiceCreation, ManagedPayments, NameCollection, OptionalItem, PaymentMethodConfigurationDetails, PaymentMethodOptions, Permissions, PhoneNumberCollection, PresentmentDetails, SavedPaymentMethodOptions, ShippingAddressCollection, ShippingCost, ShippingOption, TaxIdCollection, TotalDetails, WalletOptions
Constant Summary collapse
- OBJECT_NAME =
"checkout.session"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#adaptive_pricing ⇒ Object
readonly
Settings for price localization with [Adaptive Pricing](docs.stripe.com/payments/checkout/adaptive-pricing).
-
#after_expiration ⇒ Object
readonly
When set, provides configuration for actions to take if this Checkout Session expires.
-
#allow_promotion_codes ⇒ Object
readonly
Enables user redeemable promotion codes.
-
#amount_subtotal ⇒ Object
readonly
Total of all items before discounts or taxes are applied.
-
#amount_total ⇒ Object
readonly
Total of all items after discounts and taxes are applied.
-
#automatic_tax ⇒ Object
readonly
Attribute for field automatic_tax.
-
#billing_address_collection ⇒ Object
readonly
Describes whether Checkout should collect the customer’s billing address.
-
#branding_settings ⇒ Object
readonly
Attribute for field branding_settings.
-
#cancel_url ⇒ Object
readonly
If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website.
-
#client_reference_id ⇒ Object
readonly
A unique string to reference the Checkout Session.
-
#client_secret ⇒ Object
readonly
The client secret of your Checkout Session.
-
#collected_information ⇒ Object
readonly
Information about the customer collected within the Checkout Session.
-
#consent ⇒ Object
readonly
Results of ‘consent_collection` for this session.
-
#consent_collection ⇒ Object
readonly
When set, provides configuration for the Checkout Session to gather active consent from customers.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#currency ⇒ Object
readonly
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase.
-
#currency_conversion ⇒ Object
readonly
Currency conversion details for [Adaptive Pricing](docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31.
-
#custom_fields ⇒ Object
readonly
Collect additional information from your customer using custom fields.
-
#custom_text ⇒ Object
readonly
Attribute for field custom_text.
-
#customer ⇒ Object
readonly
The ID of the customer for this Session.
-
#customer_account ⇒ Object
readonly
The ID of the account for this Session.
-
#customer_creation ⇒ Object
readonly
Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
-
#customer_details ⇒ Object
readonly
The customer details including the customer’s tax exempt status and the customer’s tax IDs.
-
#customer_email ⇒ Object
readonly
If provided, this value will be used when the Customer object is created.
-
#discounts ⇒ Object
readonly
List of coupons and promotion codes attached to the Checkout Session.
-
#excluded_payment_method_types ⇒ Object
readonly
A list of the types of payment methods (e.g., ‘card`) that should be excluded from this Checkout Session.
-
#expires_at ⇒ Object
readonly
The timestamp at which the Checkout Session will expire.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#integration_identifier ⇒ Object
readonly
The integration identifier for this Checkout Session.
-
#invoice ⇒ Object
readonly
ID of the invoice created by the Checkout Session, if it exists.
-
#invoice_creation ⇒ Object
readonly
Details on the state of invoice creation for the Checkout Session.
-
#line_items ⇒ Object
readonly
The line items purchased by the customer.
-
#livemode ⇒ Object
readonly
If the object exists in live mode, the value is ‘true`.
-
#locale ⇒ Object
readonly
The IETF language tag of the locale Checkout is displayed in.
-
#managed_payments ⇒ Object
readonly
Settings for Managed Payments for this Checkout Session and resulting [PaymentIntents](/api/payment_intents/object), [Invoices](/api/invoices/object), and [Subscriptions](/api/subscriptions/object).
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object.
-
#mode ⇒ Object
readonly
The mode of the Checkout Session.
-
#name_collection ⇒ Object
readonly
Attribute for field name_collection.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#optional_items ⇒ Object
readonly
The optional items presented to the customer at checkout.
-
#origin_context ⇒ Object
readonly
Where the user is coming from.
-
#payment_intent ⇒ Object
readonly
The ID of the PaymentIntent for Checkout Sessions in ‘payment` mode.
-
#payment_link ⇒ Object
readonly
The ID of the Payment Link that created this Session.
-
#payment_method_collection ⇒ Object
readonly
Configure whether a Checkout Session should collect a payment method.
-
#payment_method_configuration_details ⇒ Object
readonly
Information about the payment method configuration used for this Checkout session if using dynamic payment methods.
-
#payment_method_options ⇒ Object
readonly
Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
-
#payment_method_types ⇒ Object
readonly
A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
-
#payment_status ⇒ Object
readonly
The payment status of the Checkout Session, one of ‘paid`, `unpaid`, or `no_payment_required`.
-
#permissions ⇒ Object
readonly
This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
-
#phone_number_collection ⇒ Object
readonly
Attribute for field phone_number_collection.
-
#presentment_details ⇒ Object
readonly
Attribute for field presentment_details.
-
#recovered_from ⇒ Object
readonly
The ID of the original expired Checkout Session that triggered the recovery flow.
-
#redirect_on_completion ⇒ Object
readonly
This parameter applies to ‘ui_mode: embedded_page`.
-
#return_url ⇒ Object
readonly
Applies to Checkout Sessions with ‘ui_mode: embedded_page` or `ui_mode: elements`.
-
#saved_payment_method_options ⇒ Object
readonly
Controls saved payment method settings for the session.
-
#setup_intent ⇒ Object
readonly
The ID of the SetupIntent for Checkout Sessions in ‘setup` mode.
-
#shipping_address_collection ⇒ Object
readonly
When set, provides configuration for Checkout to collect a shipping address from a customer.
-
#shipping_cost ⇒ Object
readonly
The details of the customer cost of shipping, including the customer chosen ShippingRate.
-
#shipping_options ⇒ Object
readonly
The shipping rate options applied to this Session.
-
#status ⇒ Object
readonly
The status of the Checkout Session, one of ‘open`, `complete`, or `expired`.
-
#submit_type ⇒ Object
readonly
Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button.
-
#subscription ⇒ Object
readonly
The ID of the [Subscription](docs.stripe.com/api/subscriptions) for Checkout Sessions in ‘subscription` mode.
-
#success_url ⇒ Object
readonly
The URL the customer will be directed to after the payment or subscription creation is successful.
-
#tax_id_collection ⇒ Object
readonly
Attribute for field tax_id_collection.
-
#total_details ⇒ Object
readonly
Tax and discount details for the computed total amount.
-
#ui_mode ⇒ Object
readonly
The UI mode of the Session.
-
#url ⇒ Object
readonly
The URL to the Checkout Session.
-
#wallet_options ⇒ Object
readonly
Wallet-specific configuration for this Checkout Session.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.create(params = {}, opts = {}) ⇒ Object
Creates a Checkout Session object.
-
.expire(session, params = {}, opts = {}) ⇒ Object
A Checkout Session can be expired when it is in one of these statuses: open.
- .field_encodings ⇒ Object
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of Checkout Sessions.
-
.list_line_items(session, params = {}, opts = {}) ⇒ Object
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items.
- .object_name ⇒ Object
-
.update(session, params = {}, opts = {}) ⇒ Object
Updates a Checkout Session object.
Instance Method Summary collapse
-
#expire(params = {}, opts = {}) ⇒ Object
A Checkout Session can be expired when it is in one of these statuses: open.
-
#list_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#adaptive_pricing ⇒ Object (readonly)
Settings for price localization with [Adaptive Pricing](docs.stripe.com/payments/checkout/adaptive-pricing).
2216 2217 2218 |
# File 'lib/stripe/resources/checkout/session.rb', line 2216 def adaptive_pricing @adaptive_pricing end |
#after_expiration ⇒ Object (readonly)
When set, provides configuration for actions to take if this Checkout Session expires.
2218 2219 2220 |
# File 'lib/stripe/resources/checkout/session.rb', line 2218 def after_expiration @after_expiration end |
#allow_promotion_codes ⇒ Object (readonly)
Enables user redeemable promotion codes.
2220 2221 2222 |
# File 'lib/stripe/resources/checkout/session.rb', line 2220 def allow_promotion_codes @allow_promotion_codes end |
#amount_subtotal ⇒ Object (readonly)
Total of all items before discounts or taxes are applied.
2222 2223 2224 |
# File 'lib/stripe/resources/checkout/session.rb', line 2222 def amount_subtotal @amount_subtotal end |
#amount_total ⇒ Object (readonly)
Total of all items after discounts and taxes are applied.
2224 2225 2226 |
# File 'lib/stripe/resources/checkout/session.rb', line 2224 def amount_total @amount_total end |
#automatic_tax ⇒ Object (readonly)
Attribute for field automatic_tax
2226 2227 2228 |
# File 'lib/stripe/resources/checkout/session.rb', line 2226 def automatic_tax @automatic_tax end |
#billing_address_collection ⇒ Object (readonly)
Describes whether Checkout should collect the customer’s billing address. Defaults to ‘auto`.
2228 2229 2230 |
# File 'lib/stripe/resources/checkout/session.rb', line 2228 def billing_address_collection @billing_address_collection end |
#branding_settings ⇒ Object (readonly)
Attribute for field branding_settings
2230 2231 2232 |
# File 'lib/stripe/resources/checkout/session.rb', line 2230 def branding_settings @branding_settings end |
#cancel_url ⇒ Object (readonly)
If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website.
2232 2233 2234 |
# File 'lib/stripe/resources/checkout/session.rb', line 2232 def cancel_url @cancel_url end |
#client_reference_id ⇒ Object (readonly)
A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems.
2236 2237 2238 |
# File 'lib/stripe/resources/checkout/session.rb', line 2236 def client_reference_id @client_reference_id end |
#client_secret ⇒ Object (readonly)
The client secret of your Checkout Session. Applies to Checkout Sessions with ‘ui_mode: embedded_page` or `ui_mode: elements`. For `ui_mode: embedded_page`, the client secret is to be used when initializing Stripe.js embedded checkout.
For `ui_mode: elements`, use the client secret with [initCheckout](https://docs.stripe.com/js/custom_checkout/init) on your front end.
2239 2240 2241 |
# File 'lib/stripe/resources/checkout/session.rb', line 2239 def client_secret @client_secret end |
#collected_information ⇒ Object (readonly)
Information about the customer collected within the Checkout Session.
2241 2242 2243 |
# File 'lib/stripe/resources/checkout/session.rb', line 2241 def collected_information @collected_information end |
#consent ⇒ Object (readonly)
Results of ‘consent_collection` for this session.
2243 2244 2245 |
# File 'lib/stripe/resources/checkout/session.rb', line 2243 def @consent end |
#consent_collection ⇒ Object (readonly)
When set, provides configuration for the Checkout Session to gather active consent from customers.
2245 2246 2247 |
# File 'lib/stripe/resources/checkout/session.rb', line 2245 def @consent_collection end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
2247 2248 2249 |
# File 'lib/stripe/resources/checkout/session.rb', line 2247 def created @created end |
#currency ⇒ Object (readonly)
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).
2249 2250 2251 |
# File 'lib/stripe/resources/checkout/session.rb', line 2249 def currency @currency end |
#currency_conversion ⇒ Object (readonly)
Currency conversion details for [Adaptive Pricing](docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31.
2251 2252 2253 |
# File 'lib/stripe/resources/checkout/session.rb', line 2251 def currency_conversion @currency_conversion end |
#custom_fields ⇒ Object (readonly)
Collect additional information from your customer using custom fields. Up to 3 fields are supported. You can’t set this parameter if ‘ui_mode` is `custom`.
2253 2254 2255 |
# File 'lib/stripe/resources/checkout/session.rb', line 2253 def custom_fields @custom_fields end |
#custom_text ⇒ Object (readonly)
Attribute for field custom_text
2255 2256 2257 |
# File 'lib/stripe/resources/checkout/session.rb', line 2255 def custom_text @custom_text end |
#customer ⇒ Object (readonly)
The ID of the customer for this Session. For Checkout Sessions in ‘subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created.
2261 2262 2263 |
# File 'lib/stripe/resources/checkout/session.rb', line 2261 def customer @customer end |
#customer_account ⇒ Object (readonly)
The ID of the account for this Session.
2263 2264 2265 |
# File 'lib/stripe/resources/checkout/session.rb', line 2263 def customer_account @customer_account end |
#customer_creation ⇒ Object (readonly)
Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
2265 2266 2267 |
# File 'lib/stripe/resources/checkout/session.rb', line 2265 def customer_creation @customer_creation end |
#customer_details ⇒ Object (readonly)
The customer details including the customer’s tax exempt status and the customer’s tax IDs. Customer’s address details are not present on Sessions in ‘setup` mode.
2267 2268 2269 |
# File 'lib/stripe/resources/checkout/session.rb', line 2267 def customer_details @customer_details end |
#customer_email ⇒ Object (readonly)
If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the ‘customer` attribute.
2273 2274 2275 |
# File 'lib/stripe/resources/checkout/session.rb', line 2273 def customer_email @customer_email end |
#discounts ⇒ Object (readonly)
List of coupons and promotion codes attached to the Checkout Session.
2275 2276 2277 |
# File 'lib/stripe/resources/checkout/session.rb', line 2275 def discounts @discounts end |
#excluded_payment_method_types ⇒ Object (readonly)
A list of the types of payment methods (e.g., ‘card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](dashboard.stripe.com/settings/payment_methods).
2277 2278 2279 |
# File 'lib/stripe/resources/checkout/session.rb', line 2277 def excluded_payment_method_types @excluded_payment_method_types end |
#expires_at ⇒ Object (readonly)
The timestamp at which the Checkout Session will expire.
2279 2280 2281 |
# File 'lib/stripe/resources/checkout/session.rb', line 2279 def expires_at @expires_at end |
#id ⇒ Object (readonly)
Unique identifier for the object.
2281 2282 2283 |
# File 'lib/stripe/resources/checkout/session.rb', line 2281 def id @id end |
#integration_identifier ⇒ Object (readonly)
The integration identifier for this Checkout Session. Multiple Checkout Sessions can have the same integration identifier.
2283 2284 2285 |
# File 'lib/stripe/resources/checkout/session.rb', line 2283 def integration_identifier @integration_identifier end |
#invoice ⇒ Object (readonly)
ID of the invoice created by the Checkout Session, if it exists.
2285 2286 2287 |
# File 'lib/stripe/resources/checkout/session.rb', line 2285 def invoice @invoice end |
#invoice_creation ⇒ Object (readonly)
Details on the state of invoice creation for the Checkout Session.
2287 2288 2289 |
# File 'lib/stripe/resources/checkout/session.rb', line 2287 def invoice_creation @invoice_creation end |
#line_items ⇒ Object (readonly)
The line items purchased by the customer.
2289 2290 2291 |
# File 'lib/stripe/resources/checkout/session.rb', line 2289 def line_items @line_items end |
#livemode ⇒ Object (readonly)
If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.
2291 2292 2293 |
# File 'lib/stripe/resources/checkout/session.rb', line 2291 def livemode @livemode end |
#locale ⇒ Object (readonly)
The IETF language tag of the locale Checkout is displayed in. If blank or ‘auto`, the browser’s locale is used.
2293 2294 2295 |
# File 'lib/stripe/resources/checkout/session.rb', line 2293 def locale @locale end |
#managed_payments ⇒ Object (readonly)
Settings for Managed Payments for this Checkout Session and resulting [PaymentIntents](/api/payment_intents/object), [Invoices](/api/invoices/object), and [Subscriptions](/api/subscriptions/object).
2295 2296 2297 |
# File 'lib/stripe/resources/checkout/session.rb', line 2295 def managed_payments @managed_payments end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
2297 2298 2299 |
# File 'lib/stripe/resources/checkout/session.rb', line 2297 def @metadata end |
#mode ⇒ Object (readonly)
The mode of the Checkout Session.
2299 2300 2301 |
# File 'lib/stripe/resources/checkout/session.rb', line 2299 def mode @mode end |
#name_collection ⇒ Object (readonly)
Attribute for field name_collection
2301 2302 2303 |
# File 'lib/stripe/resources/checkout/session.rb', line 2301 def name_collection @name_collection end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
2303 2304 2305 |
# File 'lib/stripe/resources/checkout/session.rb', line 2303 def object @object end |
#optional_items ⇒ Object (readonly)
The optional items presented to the customer at checkout.
2305 2306 2307 |
# File 'lib/stripe/resources/checkout/session.rb', line 2305 def optional_items @optional_items end |
#origin_context ⇒ Object (readonly)
Where the user is coming from. This informs the optimizations that are applied to the session.
2307 2308 2309 |
# File 'lib/stripe/resources/checkout/session.rb', line 2307 def origin_context @origin_context end |
#payment_intent ⇒ Object (readonly)
The ID of the PaymentIntent for Checkout Sessions in ‘payment` mode. You can’t confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](docs.stripe.com/api/checkout/sessions/expire) instead.
2309 2310 2311 |
# File 'lib/stripe/resources/checkout/session.rb', line 2309 def payment_intent @payment_intent end |
#payment_link ⇒ Object (readonly)
The ID of the Payment Link that created this Session.
2311 2312 2313 |
# File 'lib/stripe/resources/checkout/session.rb', line 2311 def payment_link @payment_link end |
#payment_method_collection ⇒ Object (readonly)
Configure whether a Checkout Session should collect a payment method. Defaults to ‘always`.
2313 2314 2315 |
# File 'lib/stripe/resources/checkout/session.rb', line 2313 def payment_method_collection @payment_method_collection end |
#payment_method_configuration_details ⇒ Object (readonly)
Information about the payment method configuration used for this Checkout session if using dynamic payment methods.
2315 2316 2317 |
# File 'lib/stripe/resources/checkout/session.rb', line 2315 def payment_method_configuration_details @payment_method_configuration_details end |
#payment_method_options ⇒ Object (readonly)
Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.
2317 2318 2319 |
# File 'lib/stripe/resources/checkout/session.rb', line 2317 def @payment_method_options end |
#payment_method_types ⇒ Object (readonly)
A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
2320 2321 2322 |
# File 'lib/stripe/resources/checkout/session.rb', line 2320 def payment_method_types @payment_method_types end |
#payment_status ⇒ Object (readonly)
The payment status of the Checkout Session, one of ‘paid`, `unpaid`, or `no_payment_required`. You can use this value to decide when to fulfill your customer’s order.
2323 2324 2325 |
# File 'lib/stripe/resources/checkout/session.rb', line 2323 def payment_status @payment_status end |
#permissions ⇒ Object (readonly)
This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
For specific permissions, please refer to their dedicated subsections, such as ‘permissions.update_shipping_details`.
2327 2328 2329 |
# File 'lib/stripe/resources/checkout/session.rb', line 2327 def @permissions end |
#phone_number_collection ⇒ Object (readonly)
Attribute for field phone_number_collection
2329 2330 2331 |
# File 'lib/stripe/resources/checkout/session.rb', line 2329 def phone_number_collection @phone_number_collection end |
#presentment_details ⇒ Object (readonly)
Attribute for field presentment_details
2331 2332 2333 |
# File 'lib/stripe/resources/checkout/session.rb', line 2331 def presentment_details @presentment_details end |
#recovered_from ⇒ Object (readonly)
The ID of the original expired Checkout Session that triggered the recovery flow.
2333 2334 2335 |
# File 'lib/stripe/resources/checkout/session.rb', line 2333 def recovered_from @recovered_from end |
#redirect_on_completion ⇒ Object (readonly)
This parameter applies to ‘ui_mode: embedded_page`. Learn more about the [redirect behavior](docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`.
2335 2336 2337 |
# File 'lib/stripe/resources/checkout/session.rb', line 2335 def redirect_on_completion @redirect_on_completion end |
#return_url ⇒ Object (readonly)
Applies to Checkout Sessions with ‘ui_mode: embedded_page` or `ui_mode: elements`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site.
2337 2338 2339 |
# File 'lib/stripe/resources/checkout/session.rb', line 2337 def return_url @return_url end |
#saved_payment_method_options ⇒ Object (readonly)
Controls saved payment method settings for the session. Only available in ‘payment` and `subscription` mode.
2339 2340 2341 |
# File 'lib/stripe/resources/checkout/session.rb', line 2339 def @saved_payment_method_options end |
#setup_intent ⇒ Object (readonly)
The ID of the SetupIntent for Checkout Sessions in ‘setup` mode. You can’t confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](docs.stripe.com/api/checkout/sessions/expire) instead.
2341 2342 2343 |
# File 'lib/stripe/resources/checkout/session.rb', line 2341 def setup_intent @setup_intent end |
#shipping_address_collection ⇒ Object (readonly)
When set, provides configuration for Checkout to collect a shipping address from a customer.
2343 2344 2345 |
# File 'lib/stripe/resources/checkout/session.rb', line 2343 def shipping_address_collection @shipping_address_collection end |
#shipping_cost ⇒ Object (readonly)
The details of the customer cost of shipping, including the customer chosen ShippingRate.
2345 2346 2347 |
# File 'lib/stripe/resources/checkout/session.rb', line 2345 def shipping_cost @shipping_cost end |
#shipping_options ⇒ Object (readonly)
The shipping rate options applied to this Session.
2347 2348 2349 |
# File 'lib/stripe/resources/checkout/session.rb', line 2347 def @shipping_options end |
#status ⇒ Object (readonly)
The status of the Checkout Session, one of ‘open`, `complete`, or `expired`.
2349 2350 2351 |
# File 'lib/stripe/resources/checkout/session.rb', line 2349 def status @status end |
#submit_type ⇒ Object (readonly)
Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. ‘submit_type` can only be specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.
2353 2354 2355 |
# File 'lib/stripe/resources/checkout/session.rb', line 2353 def submit_type @submit_type end |
#subscription ⇒ Object (readonly)
The ID of the [Subscription](docs.stripe.com/api/subscriptions) for Checkout Sessions in ‘subscription` mode.
2355 2356 2357 |
# File 'lib/stripe/resources/checkout/session.rb', line 2355 def subscription @subscription end |
#success_url ⇒ Object (readonly)
The URL the customer will be directed to after the payment or subscription creation is successful.
2358 2359 2360 |
# File 'lib/stripe/resources/checkout/session.rb', line 2358 def success_url @success_url end |
#tax_id_collection ⇒ Object (readonly)
Attribute for field tax_id_collection
2360 2361 2362 |
# File 'lib/stripe/resources/checkout/session.rb', line 2360 def tax_id_collection @tax_id_collection end |
#total_details ⇒ Object (readonly)
Tax and discount details for the computed total amount.
2362 2363 2364 |
# File 'lib/stripe/resources/checkout/session.rb', line 2362 def total_details @total_details end |
#ui_mode ⇒ Object (readonly)
The UI mode of the Session. Defaults to ‘hosted_page`.
2364 2365 2366 |
# File 'lib/stripe/resources/checkout/session.rb', line 2364 def ui_mode @ui_mode end |
#url ⇒ Object (readonly)
The URL to the Checkout Session. Applies to Checkout Sessions with ‘ui_mode: hosted_page`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](docs.stripe.com/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.` This value is only present when the session is active.
2367 2368 2369 |
# File 'lib/stripe/resources/checkout/session.rb', line 2367 def url @url end |
#wallet_options ⇒ Object (readonly)
Wallet-specific configuration for this Checkout Session.
2369 2370 2371 |
# File 'lib/stripe/resources/checkout/session.rb', line 2369 def @wallet_options end |
Class Method Details
.create(params = {}, opts = {}) ⇒ Object
Creates a Checkout Session object.
2372 2373 2374 2375 2376 2377 2378 2379 |
# File 'lib/stripe/resources/checkout/session.rb', line 2372 def self.create(params = {}, opts = {}) request_stripe_object( method: :post, path: "/v1/checkout/sessions", params: params, opts: opts ) end |
.expire(session, params = {}, opts = {}) ⇒ Object
A Checkout Session can be expired when it is in one of these statuses: open
After it expires, a customer can’t complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
2396 2397 2398 2399 2400 2401 2402 2403 |
# File 'lib/stripe/resources/checkout/session.rb', line 2396 def self.expire(session, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/checkout/sessions/%<session>s/expire", { session: CGI.escape(session) }), params: params, opts: opts ) end |
.field_encodings ⇒ Object
2484 2485 2486 2487 2488 |
# File 'lib/stripe/resources/checkout/session.rb', line 2484 def self.field_encodings @field_encodings = { currency_conversion: { kind: :object, fields: { fx_rate: :decimal_string } }, } end |
.field_remappings ⇒ Object
2480 2481 2482 |
# File 'lib/stripe/resources/checkout/session.rb', line 2480 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 |
# File 'lib/stripe/resources/checkout/session.rb', line 2447 def self.inner_class_types @inner_class_types = { adaptive_pricing: AdaptivePricing, after_expiration: AfterExpiration, automatic_tax: AutomaticTax, branding_settings: BrandingSettings, collected_information: CollectedInformation, consent: Consent, consent_collection: ConsentCollection, currency_conversion: CurrencyConversion, custom_fields: CustomField, custom_text: CustomText, customer_details: CustomerDetails, discounts: Discount, invoice_creation: InvoiceCreation, managed_payments: ManagedPayments, name_collection: NameCollection, optional_items: OptionalItem, payment_method_configuration_details: PaymentMethodConfigurationDetails, payment_method_options: PaymentMethodOptions, permissions: Permissions, phone_number_collection: PhoneNumberCollection, presentment_details: PresentmentDetails, saved_payment_method_options: SavedPaymentMethodOptions, shipping_address_collection: ShippingAddressCollection, shipping_cost: ShippingCost, shipping_options: ShippingOption, tax_id_collection: TaxIdCollection, total_details: TotalDetails, wallet_options: WalletOptions, } end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of Checkout Sessions.
2406 2407 2408 2409 2410 2411 2412 2413 |
# File 'lib/stripe/resources/checkout/session.rb', line 2406 def self.list(params = {}, opts = {}) request_stripe_object( method: :get, path: "/v1/checkout/sessions", params: params, opts: opts ) end |
.list_line_items(session, params = {}, opts = {}) ⇒ Object
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
2426 2427 2428 2429 2430 2431 2432 2433 |
# File 'lib/stripe/resources/checkout/session.rb', line 2426 def self.list_line_items(session, params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/checkout/sessions/%<session>s/line_items", { session: CGI.escape(session) }), params: params, opts: opts ) end |
.object_name ⇒ Object
26 27 28 |
# File 'lib/stripe/resources/checkout/session.rb', line 26 def self.object_name "checkout.session" end |
.update(session, params = {}, opts = {}) ⇒ Object
Updates a Checkout Session object.
Related guide: [Dynamically update a Checkout Session](docs.stripe.com/payments/advanced/dynamic-updates)
2438 2439 2440 2441 2442 2443 2444 2445 |
# File 'lib/stripe/resources/checkout/session.rb', line 2438 def self.update(session, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/checkout/sessions/%<session>s", { session: CGI.escape(session) }), params: params, opts: opts ) end |
Instance Method Details
#expire(params = {}, opts = {}) ⇒ Object
A Checkout Session can be expired when it is in one of these statuses: open
After it expires, a customer can’t complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
2384 2385 2386 2387 2388 2389 2390 2391 |
# File 'lib/stripe/resources/checkout/session.rb', line 2384 def expire(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/checkout/sessions/%<session>s/expire", { session: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#list_line_items(params = {}, opts = {}) ⇒ Object
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
2416 2417 2418 2419 2420 2421 2422 2423 |
# File 'lib/stripe/resources/checkout/session.rb', line 2416 def list_line_items(params = {}, opts = {}) request_stripe_object( method: :get, path: format("/v1/checkout/sessions/%<session>s/line_items", { session: CGI.escape(self["id"]) }), params: params, opts: opts ) end |