Class: Stripe::FinancialConnections::Session

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

Overview

A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.

Defined Under Namespace

Classes: AccountHolder, Filters, Limits, ManualEntry

Constant Summary collapse

OBJECT_NAME =
"financial_connections.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, #_get_union_variant_class, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, field_encodings, #hash, #initialize, inner_class_union_variant_types, #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

#account_holderObject (readonly)

The account holder for whom accounts are collected in this session.



79
80
81
# File 'lib/stripe/resources/financial_connections/session.rb', line 79

def 
  @account_holder
end

#accountsObject (readonly)

The accounts that were collected as part of this Session.



81
82
83
# File 'lib/stripe/resources/financial_connections/session.rb', line 81

def accounts
  @accounts
end

#bank_account_tokenObject (readonly)

Tokenization is the process Stripe uses to collect sensitive card or bank account details, or personally identifiable information (PII), directly from your customers in a secure manner. A token representing this information is returned to your server to use. Use our recommended payments integrations to perform this process on the client-side. This guarantees that no sensitive card data touches your server, and allows your integration to operate in a PCI-compliant way.

If you can't use client-side tokenization, you can also create tokens using the API with either your publishable or secret API key. If your integration uses this method, you're responsible for any PCI compliance that it might require, and you must keep your secret API key safe. Unlike with client-side tokenization, your customer's information isn't sent directly to Stripe, so we can't determine how it's handled or stored.

You can't store or use tokens more than once. To store card or bank account information for later use, create Customer objects or External accounts. Radar, our integrated solution for automatic fraud protection, performs best with integrations that use client-side tokenization.



102
103
104
# File 'lib/stripe/resources/financial_connections/session.rb', line 102

def 
  @bank_account_token
end

#client_secretObject (readonly)

A value that will be passed to the client to launch the authentication flow.



104
105
106
# File 'lib/stripe/resources/financial_connections/session.rb', line 104

def client_secret
  @client_secret
end

#filtersObject (readonly)

Attribute for field filters



106
107
108
# File 'lib/stripe/resources/financial_connections/session.rb', line 106

def filters
  @filters
end

#idObject (readonly)

Unique identifier for the object.



108
109
110
# File 'lib/stripe/resources/financial_connections/session.rb', line 108

def id
  @id
end

#limitsObject (readonly)

Attribute for field limits



110
111
112
# File 'lib/stripe/resources/financial_connections/session.rb', line 110

def limits
  @limits
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.



112
113
114
# File 'lib/stripe/resources/financial_connections/session.rb', line 112

def livemode
  @livemode
end

#manual_entryObject (readonly)

Attribute for field manual_entry



114
115
116
# File 'lib/stripe/resources/financial_connections/session.rb', line 114

def manual_entry
  @manual_entry
end

#objectObject (readonly)

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



116
117
118
# File 'lib/stripe/resources/financial_connections/session.rb', line 116

def object
  @object
end

#permissionsObject (readonly)

Permissions requested for accounts collected during this session.



118
119
120
# File 'lib/stripe/resources/financial_connections/session.rb', line 118

def permissions
  @permissions
end

#prefetchObject (readonly)

Data features requested to be retrieved upon account creation.



120
121
122
# File 'lib/stripe/resources/financial_connections/session.rb', line 120

def prefetch
  @prefetch
end

#return_urlObject (readonly)

For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.



122
123
124
# File 'lib/stripe/resources/financial_connections/session.rb', line 122

def return_url
  @return_url
end

Class Method Details

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

To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js.



125
126
127
128
129
130
131
132
# File 'lib/stripe/resources/financial_connections/session.rb', line 125

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

.field_remappingsObject



143
144
145
# File 'lib/stripe/resources/financial_connections/session.rb', line 143

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



134
135
136
137
138
139
140
141
# File 'lib/stripe/resources/financial_connections/session.rb', line 134

def self.inner_class_types
  @inner_class_types = {
    account_holder: AccountHolder,
    filters: Filters,
    limits: Limits,
    manual_entry: ManualEntry,
  }
end

.object_nameObject



11
12
13
# File 'lib/stripe/resources/financial_connections/session.rb', line 11

def self.object_name
  "financial_connections.session"
end