Class: Io::Flow::V0::Models::ThreedsTwoChallengeRequest

Inherits:
ThreedsChallengeAction show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Data that must be passed to the 3DS Client to help the issuer ACS render a challenge for the user.

Instance Attribute Summary collapse

Attributes inherited from ThreedsChallengeAction

#discriminator

Instance Method Summary collapse

Methods inherited from ThreedsChallengeAction

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ ThreedsTwoChallengeRequest



53753
53754
53755
53756
53757
53758
53759
53760
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53753

def initialize(incoming={})
  super(:discriminator => ThreedsChallengeAction::Types::THREEDS_TWO_CHALLENGE_REQUEST)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:acs_url, :challenge_request], 'ThreedsTwoChallengeRequest')
  @acs_url = HttpClient::Preconditions.assert_class('acs_url', opts.delete(:acs_url), String)
  @challenge_request = HttpClient::Preconditions.assert_class('challenge_request', opts.delete(:challenge_request), String)
  @session_data = (x = opts.delete(:session_data); x.nil? ? nil : HttpClient::Preconditions.assert_class('session_data', x, String))
end

Instance Attribute Details

#acs_urlObject (readonly)

Returns the value of attribute acs_url.



53751
53752
53753
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53751

def acs_url
  @acs_url
end

#challenge_requestObject (readonly)

Returns the value of attribute challenge_request.



53751
53752
53753
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53751

def challenge_request
  @challenge_request
end

#session_dataObject (readonly)

Returns the value of attribute session_data.



53751
53752
53753
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53751

def session_data
  @session_data
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



53766
53767
53768
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53766

def copy(incoming={})
  ThreedsTwoChallengeRequest.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#subtype_to_hashObject



53770
53771
53772
53773
53774
53775
53776
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53770

def subtype_to_hash
  {
    :acs_url => acs_url,
    :challenge_request => challenge_request,
    :session_data => session_data
  }
end

#to_jsonObject



53762
53763
53764
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 53762

def to_json
  JSON.dump(to_hash)
end