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

Returns a new instance of ThreedsTwoChallengeRequest.



52898
52899
52900
52901
52902
52903
52904
52905
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52898

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.



52896
52897
52898
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52896

def acs_url
  @acs_url
end

#challenge_requestObject (readonly)

Returns the value of attribute challenge_request.



52896
52897
52898
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52896

def challenge_request
  @challenge_request
end

#session_dataObject (readonly)

Returns the value of attribute session_data.



52896
52897
52898
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52896

def session_data
  @session_data
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



52911
52912
52913
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52911

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

#subtype_to_hashObject



52915
52916
52917
52918
52919
52920
52921
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52915

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

#to_jsonObject



52907
52908
52909
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 52907

def to_json
  JSON.dump(to_hash)
end