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, 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

#account_holderObject (readonly)

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



77
78
79
# File 'lib/stripe/resources/financial_connections/session.rb', line 77

def 
  @account_holder
end

#accountsObject (readonly)

The accounts that were collected as part of this Session.



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

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.



100
101
102
# File 'lib/stripe/resources/financial_connections/session.rb', line 100

def 
  @bank_account_token
end

#client_secretObject (readonly)

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



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

def client_secret
  @client_secret
end

#filtersObject (readonly)

Attribute for field filters



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

def filters
  @filters
end

#idObject (readonly)

Unique identifier for the object.



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

def id
  @id
end

#limitsObject (readonly)

Attribute for field limits



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

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.



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

def livemode
  @livemode
end

#manual_entryObject (readonly)

Attribute for field manual_entry



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

def manual_entry
  @manual_entry
end

#objectObject (readonly)

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



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

def object
  @object
end

#permissionsObject (readonly)

Permissions requested for accounts collected during this session.



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

def permissions
  @permissions
end

#prefetchObject (readonly)

Data features requested to be retrieved upon account creation.



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

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.



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

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.



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

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

.field_remappingsObject



141
142
143
# File 'lib/stripe/resources/financial_connections/session.rb', line 141

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



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

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