Class: CheckoutSdk::Sessions::SessionsClient

Inherits:
Client
  • Object
show all
Defined in:
lib/checkout_sdk/sessions/sessions_client.rb

Instance Attribute Summary

Attributes inherited from Client

#api_client, #authorization_type, #configuration

Instance Method Summary collapse

Constructor Details

#initialize(api_client, configuration) ⇒ SessionsClient

Returns a new instance of SessionsClient.

Parameters:



14
15
16
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 14

def initialize(api_client, configuration)
  super api_client, configuration, CheckoutSdk::AuthorizationType::OAUTH
end

Instance Method Details

#complete_session(session_id, session_secret = nil) ⇒ Object

Parameters:

  • session_id (String)
  • session_secret (String, nil) (defaults to: nil)


40
41
42
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 40

def complete_session(session_id, session_secret = nil)
  api_client.invoke_post(build_path(SESSIONS, session_id, COMPLETE), custom_sdk_authorization(session_secret))
end

#custom_sdk_authorization(session_secret = nil) ⇒ Object

Parameters:

  • session_secret (String, nil) (defaults to: nil)


54
55
56
57
58
59
60
61
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 54

def custom_sdk_authorization(session_secret = nil)
  if session_secret.nil?
    sdk_authorization
  else
    SessionSecretCredentials.new(session_secret) \
                            .get_authorization(AuthorizationType::CUSTOM)
  end
end

#get_session_details(session_id, session_secret = nil) ⇒ Object

Parameters:

  • session_id (String)
  • session_secret (String, nil) (defaults to: nil)


25
26
27
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 25

def get_session_details(session_id, session_secret = nil)
  api_client.invoke_get(build_path(SESSIONS, session_id), custom_sdk_authorization(session_secret))
end

#request_session(session_request) ⇒ Object

Parameters:



19
20
21
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 19

def request_session(session_request)
  api_client.invoke_post(SESSIONS, sdk_authorization, session_request)
end

#update_3ds_method_completion(session_id, three_ds_method_completion_request, session_secret = nil) ⇒ Object

Parameters:



47
48
49
50
51
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 47

def update_3ds_method_completion(session_id, three_ds_method_completion_request, session_secret = nil)
  api_client.invoke_put(build_path(SESSIONS, session_id, ISSUER_FINGERPRINT),
                        custom_sdk_authorization(session_secret),
                        three_ds_method_completion_request)
end

#update_session(session_id, channel_data, session_secret = nil) ⇒ Object

Parameters:

  • session_id (String)
  • channel_data (Hash, ChannelData)
  • session_secret (String, nil) (defaults to: nil)


32
33
34
35
36
# File 'lib/checkout_sdk/sessions/sessions_client.rb', line 32

def update_session(session_id, channel_data, session_secret = nil)
  api_client.invoke_put(build_path(SESSIONS, session_id, COLLECT_DATA),
                        custom_sdk_authorization(session_secret),
                        channel_data)
end