Class: Stripe::CustomerSession

Inherits:
APIResource show all
Extended by:
APIOperations::Create
Defined in:
lib/stripe/resources/customer_session.rb

Overview

A Customer Session allows you to grant Stripe’s frontend SDKs (like Stripe.js) client-side access control over a Customer.

Related guides: [Customer Session with the Payment Element](docs.stripe.com/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods), [Customer Session with the Pricing Table](docs.stripe.com/payments/checkout/pricing-table#customer-session), [Customer Session with the Buy Button](docs.stripe.com/payment-links/buy-button#pass-an-existing-customer).

Defined Under Namespace

Classes: Components

Constant Summary collapse

OBJECT_NAME =
"customer_session"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Methods included from APIOperations::Create

create

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

included

Methods inherited from StripeObject

#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, field_encodings, #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

#client_secretObject (readonly)

The client secret of this Customer Session. Used on the client to set up secure access to the given ‘customer`.

The client secret can be used to provide access to ‘customer` from your frontend. It should not be stored, logged, or exposed to anyone other than the relevant customer. Make sure that you have TLS enabled on any page that includes the client secret.



230
231
232
# File 'lib/stripe/resources/customer_session.rb', line 230

def client_secret
  @client_secret
end

#componentsObject (readonly)

Configuration for the components supported by this Customer Session.



232
233
234
# File 'lib/stripe/resources/customer_session.rb', line 232

def components
  @components
end

#createdObject (readonly)

Time at which the object was created. Measured in seconds since the Unix epoch.



234
235
236
# File 'lib/stripe/resources/customer_session.rb', line 234

def created
  @created
end

#customerObject (readonly)

The Customer the Customer Session was created for.



236
237
238
# File 'lib/stripe/resources/customer_session.rb', line 236

def customer
  @customer
end

#customer_accountObject (readonly)

The Account that the Customer Session was created for.



238
239
240
# File 'lib/stripe/resources/customer_session.rb', line 238

def 
  @customer_account
end

#expires_atObject (readonly)

The timestamp at which this Customer Session will expire.



240
241
242
# File 'lib/stripe/resources/customer_session.rb', line 240

def expires_at
  @expires_at
end

#livemodeObject (readonly)

If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.



242
243
244
# File 'lib/stripe/resources/customer_session.rb', line 242

def livemode
  @livemode
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value.



244
245
246
# File 'lib/stripe/resources/customer_session.rb', line 244

def object
  @object
end

Class Method Details

.create(params = {}, opts = {}) ⇒ Object

Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.



247
248
249
250
251
252
253
254
# File 'lib/stripe/resources/customer_session.rb', line 247

def self.create(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: "/v1/customer_sessions",
    params: params,
    opts: opts
  )
end

.field_remappingsObject



260
261
262
# File 'lib/stripe/resources/customer_session.rb', line 260

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



256
257
258
# File 'lib/stripe/resources/customer_session.rb', line 256

def self.inner_class_types
  @inner_class_types = { components: Components }
end

.object_nameObject



15
16
17
# File 'lib/stripe/resources/customer_session.rb', line 15

def self.object_name
  "customer_session"
end