Class: CyberSourceMergedSpec::ConsumerAuthenticationInformation4

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb

Overview

ConsumerAuthenticationInformation4 Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(device_channel:, strong_authentication: SKIP, acs_window_size: SKIP, alternate_authentication_data: SKIP, alternate_authentication_date: SKIP, alternate_authentication_method: SKIP, authentication_date: SKIP, authentication_transaction_id: SKIP, transaction_flow_indicator: SKIP, challenge_code: SKIP, challenge_status: SKIP, customer_card_alias: SKIP, decoupled_authentication_indicator: SKIP, decoupled_authentication_max_time: SKIP, default_card: SKIP, installment_total_count: SKIP, merchant_fraud_rate: SKIP, marketing_opt_in: SKIP, marketing_source: SKIP, mcc: SKIP, merchant_score: SKIP, message_category: SKIP, npa_code: SKIP, override_payment_method: SKIP, override_country_code: SKIP, prior_authentication_data: SKIP, prior_authentication_method: SKIP, prior_authentication_reference_id: SKIP, prior_authentication_time: SKIP, product_code: SKIP, return_url: SKIP, requestor_id: SKIP, requestor_initiated_authentication_indicator: SKIP, requestor_name: SKIP, reference_id: SKIP, sdk_max_timeout: SKIP, secure_corporate_payment_indicator: SKIP, transaction_mode: SKIP, white_list_status: SKIP, score_request: SKIP, additional_properties: nil) ⇒ ConsumerAuthenticationInformation4

Returns a new instance of ConsumerAuthenticationInformation4.



475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 475

def initialize(device_channel:, strong_authentication: SKIP,
               acs_window_size: SKIP, alternate_authentication_data: SKIP,
               alternate_authentication_date: SKIP,
               alternate_authentication_method: SKIP,
               authentication_date: SKIP,
               authentication_transaction_id: SKIP,
               transaction_flow_indicator: SKIP, challenge_code: SKIP,
               challenge_status: SKIP, customer_card_alias: SKIP,
               decoupled_authentication_indicator: SKIP,
               decoupled_authentication_max_time: SKIP, default_card: SKIP,
               installment_total_count: SKIP, merchant_fraud_rate: SKIP,
               marketing_opt_in: SKIP, marketing_source: SKIP, mcc: SKIP,
               merchant_score: SKIP, message_category: SKIP, npa_code: SKIP,
               override_payment_method: SKIP, override_country_code: SKIP,
               prior_authentication_data: SKIP,
               prior_authentication_method: SKIP,
               prior_authentication_reference_id: SKIP,
               prior_authentication_time: SKIP, product_code: SKIP,
               return_url: SKIP, requestor_id: SKIP,
               requestor_initiated_authentication_indicator: SKIP,
               requestor_name: SKIP, reference_id: SKIP,
               sdk_max_timeout: SKIP,
               secure_corporate_payment_indicator: SKIP,
               transaction_mode: SKIP, white_list_status: SKIP,
               score_request: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @strong_authentication = strong_authentication unless strong_authentication == SKIP
  @acs_window_size = acs_window_size unless acs_window_size == SKIP
  unless alternate_authentication_data == SKIP
    @alternate_authentication_data =
      alternate_authentication_data
  end
  unless alternate_authentication_date == SKIP
    @alternate_authentication_date =
      alternate_authentication_date
  end
  unless alternate_authentication_method == SKIP
    @alternate_authentication_method =
      alternate_authentication_method
  end
  @authentication_date = authentication_date unless authentication_date == SKIP
  unless authentication_transaction_id == SKIP
    @authentication_transaction_id =
      authentication_transaction_id
  end
  unless transaction_flow_indicator == SKIP
    @transaction_flow_indicator =
      transaction_flow_indicator
  end
  @challenge_code = challenge_code unless challenge_code == SKIP
  @challenge_status = challenge_status unless challenge_status == SKIP
  @customer_card_alias = customer_card_alias unless customer_card_alias == SKIP
  unless decoupled_authentication_indicator == SKIP
    @decoupled_authentication_indicator =
      decoupled_authentication_indicator
  end
  unless decoupled_authentication_max_time == SKIP
    @decoupled_authentication_max_time =
      decoupled_authentication_max_time
  end
  @default_card = default_card unless default_card == SKIP
  @device_channel = device_channel
  @installment_total_count = installment_total_count unless installment_total_count == SKIP
  @merchant_fraud_rate = merchant_fraud_rate unless merchant_fraud_rate == SKIP
  @marketing_opt_in = marketing_opt_in unless marketing_opt_in == SKIP
  @marketing_source = marketing_source unless marketing_source == SKIP
  @mcc = mcc unless mcc == SKIP
  @merchant_score = merchant_score unless merchant_score == SKIP
  @message_category = message_category unless message_category == SKIP
  @npa_code = npa_code unless npa_code == SKIP
  @override_payment_method = override_payment_method unless override_payment_method == SKIP
  @override_country_code = override_country_code unless override_country_code == SKIP
  unless prior_authentication_data == SKIP
    @prior_authentication_data =
      prior_authentication_data
  end
  unless prior_authentication_method == SKIP
    @prior_authentication_method =
      prior_authentication_method
  end
  unless prior_authentication_reference_id == SKIP
    @prior_authentication_reference_id =
      prior_authentication_reference_id
  end
  unless prior_authentication_time == SKIP
    @prior_authentication_time =
      prior_authentication_time
  end
  @product_code = product_code unless product_code == SKIP
  @return_url = return_url unless return_url == SKIP
  @requestor_id = requestor_id unless requestor_id == SKIP
  unless requestor_initiated_authentication_indicator == SKIP
    @requestor_initiated_authentication_indicator =
      requestor_initiated_authentication_indicator
  end
  @requestor_name = requestor_name unless requestor_name == SKIP
  @reference_id = reference_id unless reference_id == SKIP
  @sdk_max_timeout = sdk_max_timeout unless sdk_max_timeout == SKIP
  unless secure_corporate_payment_indicator == SKIP
    @secure_corporate_payment_indicator =
      secure_corporate_payment_indicator
  end
  @transaction_mode = transaction_mode unless transaction_mode == SKIP
  @white_list_status = white_list_status unless white_list_status == SKIP
  @score_request = score_request unless score_request == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#acs_window_sizeString

An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window. 01 - 250x400 02 - 390x400 03 - 500x600 04 - 600x400 05 - Full page

Returns:

  • (String)


27
28
29
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 27

def acs_window_size
  @acs_window_size
end

#alternate_authentication_dataString

Data that documents and supports a specific authentication process.

Returns:

  • (String)


31
32
33
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 31

def alternate_authentication_data
  @alternate_authentication_data
end

#alternate_authentication_dateString

Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM

Returns:

  • (String)


36
37
38
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 36

def alternate_authentication_date
  @alternate_authentication_date
end

#alternate_authentication_methodString

Mechanism used by the cardholder to authenticate to the 3D Secure requestor. Possible values:

  • 01: No authentication occurred
  • 02: Login using merchant system credentials
  • 03: Login using Federated ID
  • 04: Login using issuer credentials
  • 05: Login using third-party authenticator
  • 06: Login using FIDO Authenticator

Returns:

  • (String)


48
49
50
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 48

def alternate_authentication_method
  @alternate_authentication_method
end

#authentication_dateString

The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request payload with value returned in consumerAuthenticationInformation.alternateAuthenticationData if merchant calls via CYBS or field can be provided by merchant in authorization request if calling an external 3DS provider. This field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC. Format: YYYYMMDDHHMMSS

Returns:

  • (String)


61
62
63
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 61

def authentication_date
  @authentication_date
end

#authentication_transaction_idString

Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase. Note: Required for Standard integration, Rupay Seamless server to server integration for enroll service. Required for Hybrid integration for validate service.

Returns:

  • (String)


71
72
73
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 71

def authentication_transaction_id
  @authentication_transaction_id
end

#challenge_codeString

Possible values:

  • 01: No preference
  • 02: No challenge request
  • 03: Challenge requested (3D Secure requestor preference)
  • 04: Challenge requested (mandate)
  • 05: No challenge requested (transactional risk analysis is already performed)
  • 06: No challenge requested (Data share only)
  • 07: No challenge requested (strong consumer authentication is already performed)
  • 08: No challenge requested (utilize whitelist exemption if no challenge required)
  • 09: Challenge requested (whitelist prompt requested if challenge required) Note This field will default to 01 on merchant configuration and can be overridden by the merchant. EMV 3D Secure version 2.1.0 supports values 01-04. Version 2.2.0 supports values 01-09.

Returns:

  • (String)


109
110
111
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 109

def challenge_code
  @challenge_code
end

#challenge_statusString

The consumerAuthenticationInformation.challengeCode indicates the authentication type/level, or challenge, that was presented to the cardholder at checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to the issuer the alternative authentication methods that the consumer used.

Returns:

  • (String)


118
119
120
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 118

def challenge_status
  @challenge_status
end

#customer_card_aliasString

An alias that uniquely identifies the customer's account and credit card on file. Note This field is required if Tokenization is enabled in the merchant profile settings.

Returns:

  • (String)


125
126
127
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 125

def customer_card_alias
  @customer_card_alias
end

#decoupled_authentication_indicatorString

Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use. Possible Values: Y - Decoupled Authentication is supported and preferred if challenge is necessary N - Do not use Decoupled Authentication Default Value: N

Returns:

  • (String)


136
137
138
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 136

def decoupled_authentication_indicator
  @decoupled_authentication_indicator
end

#decoupled_authentication_max_timeString

Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes). Possible Values: Numeric values between 1 and 10080 accepted.

Returns:

  • (String)


143
144
145
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 143

def decoupled_authentication_max_time
  @decoupled_authentication_max_time
end

#default_cardTrueClass | FalseClass

Indicates that the card being used is the one designated as the primary payment card for purchase. Recommended for Discover ProtectBuy.

Returns:

  • (TrueClass | FalseClass)


149
150
151
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 149

def default_card
  @default_card
end

#device_channelString

Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.

Returns:

  • (String)


154
155
156
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 154

def device_channel
  @device_channel
end

#installment_total_countInteger

An integer value greater than 1 indicating the max number of permitted authorizations for installment payments. Note This is required if the merchant and cardholder have agreed to installment payments.

Returns:

  • (Integer)


161
162
163
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 161

def installment_total_count
  @installment_total_count
end

#marketing_opt_inTrueClass | FalseClass

Indicates whether the customer has opted in for marketing offers. Recommended for Discover ProtectBuy.

Returns:

  • (TrueClass | FalseClass)


180
181
182
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 180

def marketing_opt_in
  @marketing_opt_in
end

#marketing_sourceString

Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.

Returns:

  • (String)


185
186
187
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 185

def marketing_source
  @marketing_source
end

#mccString

Merchant category code. Important Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.

Returns:

  • (String)


191
192
193
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 191

def mcc
  @mcc
end

#merchant_fraud_rateString

Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes). Possible Values: 1 = Represents fraud rate <=1 2 = Represents fraud rate >1 and <=6 3 = Represents fraud rate >6 and <=13 4 = Represents fraud rate >13 and <=25 5 = Represents fraud rate >25 EEA** = European Economic Area RTS** = Regulatory Technical Standards PSD2** = Payment Services Directive

Returns:

  • (String)


175
176
177
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 175

def merchant_fraud_rate
  @merchant_fraud_rate
end

#merchant_scoreInteger

Risk Score provided by merchants. This is specific for CB transactions.

Returns:

  • (Integer)


195
196
197
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 195

def merchant_score
  @merchant_score
end

#message_categoryString

Category of the message for a specific use case. Possible values:

  • 01: PA- payment authentication
  • 02: NPA- non-payment authentication
  • 03-79: Reserved for EMVCo future use (values invalid until defined by EMVCo)
  • 80-99: Reserved for DS use

Returns:

  • (String)


204
205
206
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 204

def message_category
  @message_category
end

#npa_codeString

Non-Payer Authentication Indicator. Possible values:

  • 01: Add card
  • 02: Maintain card information
  • 03: Cardholder verification for EMV token
  • 04-80 Reserved for EMVCo
  • 80-90 Reserved DS

Returns:

  • (String)


214
215
216
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 214

def npa_code
  @npa_code
end

#override_country_codeString

Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickre f/countries_alpha_list.pdf)..

Returns:

  • (String)


235
236
237
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 235

def override_country_code
  @override_country_code
end

#override_payment_methodString

Specifies the Brazilian payment account type used for the transaction. This field overrides other payment types that might be specified in the request. Use one of the following values for this field:

  • NA: Not applicable. Do not override other payment types that are specified in the request.
  • CR: Credit card.
  • DB: Debit card.
  • VSAVR: Visa Vale Refeicao
  • VSAVA: Visa Vale Alimentacao Important Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.

Returns:

  • (String)


229
230
231
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 229

def override_payment_method
  @override_payment_method
end

#prior_authentication_dataString

This field carry data that the ACS can use to verify the authentication process.

Returns:

  • (String)


240
241
242
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 240

def prior_authentication_data
  @prior_authentication_data
end

#prior_authentication_methodString

Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. 01 - Frictionless authentication occurred by ACS 02 - Cardholder challenge occurred by ACS 03 - AVS verified 04 - Other issuer methods 05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo) 80-99 - Reserved for DS use

Returns:

  • (String)


252
253
254
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 252

def prior_authentication_method
  @prior_authentication_method
end

#prior_authentication_reference_idString

This data element contains a ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder

Returns:

  • (String)


259
260
261
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 259

def prior_authentication_reference_id
  @prior_authentication_reference_id
end

#prior_authentication_timeString

Date and time in UTC of the prior cardholder authentication. Format – YYYYMMDDHHMM

Returns:

  • (String)


264
265
266
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 264

def prior_authentication_time
  @prior_authentication_time
end

#product_codeString

Specifies the product code, which designates the type of transaction. Specify one of the following values for this field:

  • AIR: Airline purchase Important Required for American Express SafeKey (U.S.).
  • ACC: Accommodation Rental
  • ACF: Account funding
  • CHA: Check acceptance
  • DIG: Digital Goods
  • DSP: Cash Dispensing
  • GAS: Fuel
  • GEN: General Retail
  • LUX: Luxury Retail
  • PAL: Prepaid activation and load
  • PHY: Goods or services purchase
  • QCT: Quasi-cash transaction
  • REN: Car Rental
  • RES: Restaurant
  • SVC: Services
  • TBD: Other
  • TRA: Travel Important Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.

Returns:

  • (String)


289
290
291
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 289

def product_code
  @product_code
end

#reference_idString

Reference ID that corresponds to the device fingerprinting data that was collected previously. Note Required for Hybrid integration.

Returns:

  • (String)


331
332
333
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 331

def reference_id
  @reference_id
end

#requestor_idString

Cardinal's directory server assigned 3DS Requestor ID value

Returns:

  • (String)


305
306
307
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 305

def requestor_id
  @requestor_id
end

#requestor_initiated_authentication_indicatorString

Indicates the type of 3RI request. Possible Values: 01 - Recurring transaction 02 - Installment transaction 03 - Add card 04 - Maintain card 05 - Account verification 06 - Split/delayed shipment 07 - Top-up 08 - Mail Order 09 - Telephone Order 10 - Whitelist status check 11 - Other payment

Returns:

  • (String)


321
322
323
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 321

def requestor_initiated_authentication_indicator
  @requestor_initiated_authentication_indicator
end

#requestor_nameString

Cardinal's directory server assigned 3DS Requestor Name value

Returns:

  • (String)


325
326
327
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 325

def requestor_name
  @requestor_name
end

#return_urlString

The URL of the merchant’s return page. CyberSource adds this return URL to the step-up JWT and returns it in the response of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL. Once the bank session completes, the merchant receives a POST to their URL. This response contains the completed bank session’s transactionId. The merchant’s return page should capture the transaction ID and send it in the Payer Authentication validation call.

Returns:

  • (String)


301
302
303
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 301

def return_url
  @return_url
end

#score_requestInteger

Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score

Returns:

  • (Integer)


371
372
373
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 371

def score_request
  @score_request
end

#sdk_max_timeoutString

This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes). Possible Values: Greater than or equal to 05 (05 is the minimum timeout to set) Cardinal Default is set to 15 NOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed

Returns:

  • (String)


341
342
343
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 341

def sdk_max_timeout
  @sdk_max_timeout
end

#secure_corporate_payment_indicatorString

Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies. Possible Values : 0/1

Returns:

  • (String)


347
348
349
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 347

def secure_corporate_payment_indicator
  @secure_corporate_payment_indicator
end

#strong_authenticationStrongAuthentication2

TODO: Write general description for this method



14
15
16
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 14

def strong_authentication
  @strong_authentication
end

#transaction_flow_indicatorInteger

This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values. 01:NW- Transaction performed at domestic merchant. 02:TW- Transaction performed at domestic merchant along with Token provisioning. 03:IT- Transaction performed at International merchant. 04:AT- Authentication Transaction Only. 05:AW- Authentication transaction for provisioning. 06:DI- Domestic InApp Transaction. 07:II- International InApp transaction. 08:GC- Guest Checkout 09:ST- SI Authentication Transaction only 10:SW- SI Authorization along with token provisioning

Returns:

  • (Integer)


88
89
90
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 88

def transaction_flow_indicator
  @transaction_flow_indicator
end

#transaction_modeString

Transaction mode identifier. Identifies the channel from which the transaction originates. Possible values:

  • M: MOTO (Mail Order Telephone Order)
  • R: Retail
  • S: eCommerce
  • P: Mobile Device
  • T: Tablet

Returns:

  • (String)


358
359
360
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 358

def transaction_mode
  @transaction_mode
end

#white_list_statusString

Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor. Possible Values: Y - 3DS Requestor is whitelisted by cardholder N - 3DS Requestor is not whitelisted by cardholder

Returns:

  • (String)


366
367
368
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 366

def white_list_status
  @white_list_status
end

Class Method Details

.from_element(root) ⇒ Object



710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 710

def self.from_element(root)
  device_channel = XmlUtilities.from_element(root, 'deviceChannel', String)
  strong_authentication = XmlUtilities.from_element(root,
                                                    'StrongAuthentication2',
                                                    StrongAuthentication2)
  acs_window_size = XmlUtilities.from_element(root, 'acsWindowSize', String)
  alternate_authentication_data = XmlUtilities.from_element(
    root, 'alternateAuthenticationData', String
  )
  alternate_authentication_date = XmlUtilities.from_element(
    root, 'alternateAuthenticationDate', String
  )
  alternate_authentication_method = XmlUtilities.from_element(
    root, 'alternateAuthenticationMethod', String
  )
  authentication_date = XmlUtilities.from_element(root,
                                                  'authenticationDate',
                                                  String)
  authentication_transaction_id = XmlUtilities.from_element(
    root, 'authenticationTransactionId', String
  )
  transaction_flow_indicator = XmlUtilities.from_element(
    root, 'transactionFlowIndicator', Integer
  )
  challenge_code = XmlUtilities.from_element(root, 'challengeCode', String)
  challenge_status = XmlUtilities.from_element(root, 'challengeStatus',
                                               String)
  customer_card_alias = XmlUtilities.from_element(root, 'customerCardAlias',
                                                  String)
  decoupled_authentication_indicator = XmlUtilities.from_element(
    root, 'decoupledAuthenticationIndicator', String
  )
  decoupled_authentication_max_time = XmlUtilities.from_element(
    root, 'decoupledAuthenticationMaxTime', String
  )
  default_card = XmlUtilities.from_element(root, 'defaultCard', TrueClass)
  installment_total_count = XmlUtilities.from_element(
    root, 'installmentTotalCount', Integer
  )
  merchant_fraud_rate = XmlUtilities.from_element(root, 'merchantFraudRate',
                                                  String)
  marketing_opt_in = XmlUtilities.from_element(root, 'marketingOptIn',
                                               TrueClass)
  marketing_source = XmlUtilities.from_element(root, 'marketingSource',
                                               String)
  mcc = XmlUtilities.from_element(root, 'mcc', String)
  merchant_score = XmlUtilities.from_element(root, 'merchantScore', Integer)
  message_category = XmlUtilities.from_element(root, 'messageCategory',
                                               String)
  npa_code = XmlUtilities.from_element(root, 'npaCode', String)
  override_payment_method = XmlUtilities.from_element(
    root, 'overridePaymentMethod', String
  )
  override_country_code = XmlUtilities.from_element(root,
                                                    'overrideCountryCode',
                                                    String)
  prior_authentication_data = XmlUtilities.from_element(
    root, 'priorAuthenticationData', String
  )
  prior_authentication_method = XmlUtilities.from_element(
    root, 'priorAuthenticationMethod', String
  )
  prior_authentication_reference_id = XmlUtilities.from_element(
    root, 'priorAuthenticationReferenceId', String
  )
  prior_authentication_time = XmlUtilities.from_element(
    root, 'priorAuthenticationTime', String
  )
  product_code = XmlUtilities.from_element(root, 'productCode', String)
  return_url = XmlUtilities.from_element(root, 'returnUrl', String)
  requestor_id = XmlUtilities.from_element(root, 'requestorId', String)
  requestor_initiated_authentication_indicator = XmlUtilities.from_element(
    root, 'requestorInitiatedAuthenticationIndicator', String
  )
  requestor_name = XmlUtilities.from_element(root, 'requestorName', String)
  reference_id = XmlUtilities.from_element(root, 'referenceId', String)
  sdk_max_timeout = XmlUtilities.from_element(root, 'sdkMaxTimeout', String)
  secure_corporate_payment_indicator = XmlUtilities.from_element(
    root, 'secureCorporatePaymentIndicator', String
  )
  transaction_mode = XmlUtilities.from_element(root, 'transactionMode',
                                               String)
  white_list_status = XmlUtilities.from_element(root, 'whiteListStatus',
                                                String)
  score_request = XmlUtilities.from_element(root, 'scoreRequest', Integer)

  new(device_channel: device_channel,
      strong_authentication: strong_authentication,
      acs_window_size: acs_window_size,
      alternate_authentication_data: alternate_authentication_data,
      alternate_authentication_date: alternate_authentication_date,
      alternate_authentication_method: alternate_authentication_method,
      authentication_date: authentication_date,
      authentication_transaction_id: authentication_transaction_id,
      transaction_flow_indicator: transaction_flow_indicator,
      challenge_code: challenge_code,
      challenge_status: challenge_status,
      customer_card_alias: customer_card_alias,
      decoupled_authentication_indicator: decoupled_authentication_indicator,
      decoupled_authentication_max_time: decoupled_authentication_max_time,
      default_card: default_card,
      installment_total_count: installment_total_count,
      merchant_fraud_rate: merchant_fraud_rate,
      marketing_opt_in: marketing_opt_in,
      marketing_source: marketing_source,
      mcc: mcc,
      merchant_score: merchant_score,
      message_category: message_category,
      npa_code: npa_code,
      override_payment_method: override_payment_method,
      override_country_code: override_country_code,
      prior_authentication_data: prior_authentication_data,
      prior_authentication_method: prior_authentication_method,
      prior_authentication_reference_id: prior_authentication_reference_id,
      prior_authentication_time: prior_authentication_time,
      product_code: product_code,
      return_url: return_url,
      requestor_id: requestor_id,
      requestor_initiated_authentication_indicator: requestor_initiated_authentication_indicator,
      requestor_name: requestor_name,
      reference_id: reference_id,
      sdk_max_timeout: sdk_max_timeout,
      secure_corporate_payment_indicator: secure_corporate_payment_indicator,
      transaction_mode: transaction_mode,
      white_list_status: white_list_status,
      score_request: score_request,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 586

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  device_channel = hash.key?('deviceChannel') ? hash['deviceChannel'] : nil
  strong_authentication = StrongAuthentication2.from_hash(hash['strongAuthentication']) if
    hash['strongAuthentication']
  acs_window_size =
    hash.key?('acsWindowSize') ? hash['acsWindowSize'] : SKIP
  alternate_authentication_data =
    hash.key?('alternateAuthenticationData') ? hash['alternateAuthenticationData'] : SKIP
  alternate_authentication_date =
    hash.key?('alternateAuthenticationDate') ? hash['alternateAuthenticationDate'] : SKIP
  alternate_authentication_method =
    hash.key?('alternateAuthenticationMethod') ? hash['alternateAuthenticationMethod'] : SKIP
  authentication_date =
    hash.key?('authenticationDate') ? hash['authenticationDate'] : SKIP
  authentication_transaction_id =
    hash.key?('authenticationTransactionId') ? hash['authenticationTransactionId'] : SKIP
  transaction_flow_indicator =
    hash.key?('transactionFlowIndicator') ? hash['transactionFlowIndicator'] : SKIP
  challenge_code = hash.key?('challengeCode') ? hash['challengeCode'] : SKIP
  challenge_status =
    hash.key?('challengeStatus') ? hash['challengeStatus'] : SKIP
  customer_card_alias =
    hash.key?('customerCardAlias') ? hash['customerCardAlias'] : SKIP
  decoupled_authentication_indicator =
    hash.key?('decoupledAuthenticationIndicator') ? hash['decoupledAuthenticationIndicator'] : SKIP
  decoupled_authentication_max_time =
    hash.key?('decoupledAuthenticationMaxTime') ? hash['decoupledAuthenticationMaxTime'] : SKIP
  default_card = hash.key?('defaultCard') ? hash['defaultCard'] : SKIP
  installment_total_count =
    hash.key?('installmentTotalCount') ? hash['installmentTotalCount'] : SKIP
  merchant_fraud_rate =
    hash.key?('merchantFraudRate') ? hash['merchantFraudRate'] : SKIP
  marketing_opt_in =
    hash.key?('marketingOptIn') ? hash['marketingOptIn'] : SKIP
  marketing_source =
    hash.key?('marketingSource') ? hash['marketingSource'] : SKIP
  mcc = hash.key?('mcc') ? hash['mcc'] : SKIP
  merchant_score = hash.key?('merchantScore') ? hash['merchantScore'] : SKIP
  message_category =
    hash.key?('messageCategory') ? hash['messageCategory'] : SKIP
  npa_code = hash.key?('npaCode') ? hash['npaCode'] : SKIP
  override_payment_method =
    hash.key?('overridePaymentMethod') ? hash['overridePaymentMethod'] : SKIP
  override_country_code =
    hash.key?('overrideCountryCode') ? hash['overrideCountryCode'] : SKIP
  prior_authentication_data =
    hash.key?('priorAuthenticationData') ? hash['priorAuthenticationData'] : SKIP
  prior_authentication_method =
    hash.key?('priorAuthenticationMethod') ? hash['priorAuthenticationMethod'] : SKIP
  prior_authentication_reference_id =
    hash.key?('priorAuthenticationReferenceId') ? hash['priorAuthenticationReferenceId'] : SKIP
  prior_authentication_time =
    hash.key?('priorAuthenticationTime') ? hash['priorAuthenticationTime'] : SKIP
  product_code = hash.key?('productCode') ? hash['productCode'] : SKIP
  return_url = hash.key?('returnUrl') ? hash['returnUrl'] : SKIP
  requestor_id = hash.key?('requestorId') ? hash['requestorId'] : SKIP
  requestor_initiated_authentication_indicator =
    hash.key?('requestorInitiatedAuthenticationIndicator') ? hash['requestorInitiatedAuthenticationIndicator'] : SKIP
  requestor_name = hash.key?('requestorName') ? hash['requestorName'] : SKIP
  reference_id = hash.key?('referenceId') ? hash['referenceId'] : SKIP
  sdk_max_timeout =
    hash.key?('sdkMaxTimeout') ? hash['sdkMaxTimeout'] : SKIP
  secure_corporate_payment_indicator =
    hash.key?('secureCorporatePaymentIndicator') ? hash['secureCorporatePaymentIndicator'] : SKIP
  transaction_mode =
    hash.key?('transactionMode') ? hash['transactionMode'] : SKIP
  white_list_status =
    hash.key?('whiteListStatus') ? hash['whiteListStatus'] : SKIP
  score_request = hash.key?('scoreRequest') ? hash['scoreRequest'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  ConsumerAuthenticationInformation4.new(device_channel: device_channel,
                                         strong_authentication: strong_authentication,
                                         acs_window_size: acs_window_size,
                                         alternate_authentication_data: alternate_authentication_data,
                                         alternate_authentication_date: alternate_authentication_date,
                                         alternate_authentication_method: alternate_authentication_method,
                                         authentication_date: authentication_date,
                                         authentication_transaction_id: authentication_transaction_id,
                                         transaction_flow_indicator: transaction_flow_indicator,
                                         challenge_code: challenge_code,
                                         challenge_status: challenge_status,
                                         customer_card_alias: customer_card_alias,
                                         decoupled_authentication_indicator: decoupled_authentication_indicator,
                                         decoupled_authentication_max_time: decoupled_authentication_max_time,
                                         default_card: default_card,
                                         installment_total_count: installment_total_count,
                                         merchant_fraud_rate: merchant_fraud_rate,
                                         marketing_opt_in: marketing_opt_in,
                                         marketing_source: marketing_source,
                                         mcc: mcc,
                                         merchant_score: merchant_score,
                                         message_category: message_category,
                                         npa_code: npa_code,
                                         override_payment_method: override_payment_method,
                                         override_country_code: override_country_code,
                                         prior_authentication_data: prior_authentication_data,
                                         prior_authentication_method: prior_authentication_method,
                                         prior_authentication_reference_id: prior_authentication_reference_id,
                                         prior_authentication_time: prior_authentication_time,
                                         product_code: product_code,
                                         return_url: return_url,
                                         requestor_id: requestor_id,
                                         requestor_initiated_authentication_indicator: requestor_initiated_authentication_indicator,
                                         requestor_name: requestor_name,
                                         reference_id: reference_id,
                                         sdk_max_timeout: sdk_max_timeout,
                                         secure_corporate_payment_indicator: secure_corporate_payment_indicator,
                                         transaction_mode: transaction_mode,
                                         white_list_status: white_list_status,
                                         score_request: score_request,
                                         additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 374

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['strong_authentication'] = 'strongAuthentication'
  @_hash['acs_window_size'] = 'acsWindowSize'
  @_hash['alternate_authentication_data'] = 'alternateAuthenticationData'
  @_hash['alternate_authentication_date'] = 'alternateAuthenticationDate'
  @_hash['alternate_authentication_method'] =
    'alternateAuthenticationMethod'
  @_hash['authentication_date'] = 'authenticationDate'
  @_hash['authentication_transaction_id'] = 'authenticationTransactionId'
  @_hash['transaction_flow_indicator'] = 'transactionFlowIndicator'
  @_hash['challenge_code'] = 'challengeCode'
  @_hash['challenge_status'] = 'challengeStatus'
  @_hash['customer_card_alias'] = 'customerCardAlias'
  @_hash['decoupled_authentication_indicator'] =
    'decoupledAuthenticationIndicator'
  @_hash['decoupled_authentication_max_time'] =
    'decoupledAuthenticationMaxTime'
  @_hash['default_card'] = 'defaultCard'
  @_hash['device_channel'] = 'deviceChannel'
  @_hash['installment_total_count'] = 'installmentTotalCount'
  @_hash['merchant_fraud_rate'] = 'merchantFraudRate'
  @_hash['marketing_opt_in'] = 'marketingOptIn'
  @_hash['marketing_source'] = 'marketingSource'
  @_hash['mcc'] = 'mcc'
  @_hash['merchant_score'] = 'merchantScore'
  @_hash['message_category'] = 'messageCategory'
  @_hash['npa_code'] = 'npaCode'
  @_hash['override_payment_method'] = 'overridePaymentMethod'
  @_hash['override_country_code'] = 'overrideCountryCode'
  @_hash['prior_authentication_data'] = 'priorAuthenticationData'
  @_hash['prior_authentication_method'] = 'priorAuthenticationMethod'
  @_hash['prior_authentication_reference_id'] =
    'priorAuthenticationReferenceId'
  @_hash['prior_authentication_time'] = 'priorAuthenticationTime'
  @_hash['product_code'] = 'productCode'
  @_hash['return_url'] = 'returnUrl'
  @_hash['requestor_id'] = 'requestorId'
  @_hash['requestor_initiated_authentication_indicator'] =
    'requestorInitiatedAuthenticationIndicator'
  @_hash['requestor_name'] = 'requestorName'
  @_hash['reference_id'] = 'referenceId'
  @_hash['sdk_max_timeout'] = 'sdkMaxTimeout'
  @_hash['secure_corporate_payment_indicator'] =
    'secureCorporatePaymentIndicator'
  @_hash['transaction_mode'] = 'transactionMode'
  @_hash['white_list_status'] = 'whiteListStatus'
  @_hash['score_request'] = 'scoreRequest'
  @_hash
end

.nullablesObject

An array for nullable fields



471
472
473
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 471

def self.nullables
  []
end

.optionalsObject

An array for optional fields



426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 426

def self.optionals
  %w[
    strong_authentication
    acs_window_size
    alternate_authentication_data
    alternate_authentication_date
    alternate_authentication_method
    authentication_date
    authentication_transaction_id
    transaction_flow_indicator
    challenge_code
    challenge_status
    customer_card_alias
    decoupled_authentication_indicator
    decoupled_authentication_max_time
    default_card
    installment_total_count
    merchant_fraud_rate
    marketing_opt_in
    marketing_source
    mcc
    merchant_score
    message_category
    npa_code
    override_payment_method
    override_country_code
    prior_authentication_data
    prior_authentication_method
    prior_authentication_reference_id
    prior_authentication_time
    product_code
    return_url
    requestor_id
    requestor_initiated_authentication_indicator
    requestor_name
    reference_id
    sdk_max_timeout
    secure_corporate_payment_indicator
    transaction_mode
    white_list_status
    score_request
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 953

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} strong_authentication: #{@strong_authentication.inspect}, acs_window_size:"\
  " #{@acs_window_size.inspect}, alternate_authentication_data:"\
  " #{@alternate_authentication_data.inspect}, alternate_authentication_date:"\
  " #{@alternate_authentication_date.inspect}, alternate_authentication_method:"\
  " #{@alternate_authentication_method.inspect}, authentication_date:"\
  " #{@authentication_date.inspect}, authentication_transaction_id:"\
  " #{@authentication_transaction_id.inspect}, transaction_flow_indicator:"\
  " #{@transaction_flow_indicator.inspect}, challenge_code: #{@challenge_code.inspect},"\
  " challenge_status: #{@challenge_status.inspect}, customer_card_alias:"\
  " #{@customer_card_alias.inspect}, decoupled_authentication_indicator:"\
  " #{@decoupled_authentication_indicator.inspect}, decoupled_authentication_max_time:"\
  " #{@decoupled_authentication_max_time.inspect}, default_card: #{@default_card.inspect},"\
  " device_channel: #{@device_channel.inspect}, installment_total_count:"\
  " #{@installment_total_count.inspect}, merchant_fraud_rate: #{@merchant_fraud_rate.inspect},"\
  " marketing_opt_in: #{@marketing_opt_in.inspect}, marketing_source:"\
  " #{@marketing_source.inspect}, mcc: #{@mcc.inspect}, merchant_score:"\
  " #{@merchant_score.inspect}, message_category: #{@message_category.inspect}, npa_code:"\
  " #{@npa_code.inspect}, override_payment_method: #{@override_payment_method.inspect},"\
  " override_country_code: #{@override_country_code.inspect}, prior_authentication_data:"\
  " #{@prior_authentication_data.inspect}, prior_authentication_method:"\
  " #{@prior_authentication_method.inspect}, prior_authentication_reference_id:"\
  " #{@prior_authentication_reference_id.inspect}, prior_authentication_time:"\
  " #{@prior_authentication_time.inspect}, product_code: #{@product_code.inspect}, return_url:"\
  " #{@return_url.inspect}, requestor_id: #{@requestor_id.inspect},"\
  ' requestor_initiated_authentication_indicator:'\
  " #{@requestor_initiated_authentication_indicator.inspect}, requestor_name:"\
  " #{@requestor_name.inspect}, reference_id: #{@reference_id.inspect}, sdk_max_timeout:"\
  " #{@sdk_max_timeout.inspect}, secure_corporate_payment_indicator:"\
  " #{@secure_corporate_payment_indicator.inspect}, transaction_mode:"\
  " #{@transaction_mode.inspect}, white_list_status: #{@white_list_status.inspect},"\
  " score_request: #{@score_request.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 923

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} strong_authentication: #{@strong_authentication}, acs_window_size:"\
  " #{@acs_window_size}, alternate_authentication_data: #{@alternate_authentication_data},"\
  " alternate_authentication_date: #{@alternate_authentication_date},"\
  " alternate_authentication_method: #{@alternate_authentication_method}, authentication_date:"\
  " #{@authentication_date}, authentication_transaction_id: #{@authentication_transaction_id},"\
  " transaction_flow_indicator: #{@transaction_flow_indicator}, challenge_code:"\
  " #{@challenge_code}, challenge_status: #{@challenge_status}, customer_card_alias:"\
  " #{@customer_card_alias}, decoupled_authentication_indicator:"\
  " #{@decoupled_authentication_indicator}, decoupled_authentication_max_time:"\
  " #{@decoupled_authentication_max_time}, default_card: #{@default_card}, device_channel:"\
  " #{@device_channel}, installment_total_count: #{@installment_total_count},"\
  " merchant_fraud_rate: #{@merchant_fraud_rate}, marketing_opt_in: #{@marketing_opt_in},"\
  " marketing_source: #{@marketing_source}, mcc: #{@mcc}, merchant_score: #{@merchant_score},"\
  " message_category: #{@message_category}, npa_code: #{@npa_code}, override_payment_method:"\
  " #{@override_payment_method}, override_country_code: #{@override_country_code},"\
  " prior_authentication_data: #{@prior_authentication_data}, prior_authentication_method:"\
  " #{@prior_authentication_method}, prior_authentication_reference_id:"\
  " #{@prior_authentication_reference_id}, prior_authentication_time:"\
  " #{@prior_authentication_time}, product_code: #{@product_code}, return_url: #{@return_url},"\
  " requestor_id: #{@requestor_id}, requestor_initiated_authentication_indicator:"\
  " #{@requestor_initiated_authentication_indicator}, requestor_name: #{@requestor_name},"\
  " reference_id: #{@reference_id}, sdk_max_timeout: #{@sdk_max_timeout},"\
  " secure_corporate_payment_indicator: #{@secure_corporate_payment_indicator},"\
  " transaction_mode: #{@transaction_mode}, white_list_status: #{@white_list_status},"\
  " score_request: #{@score_request}, additional_properties: #{@additional_properties}>"
end

#to_xml_element(doc, root_name) ⇒ Object



839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
# File 'lib/cyber_source_merged_spec/models/consumer_authentication_information4.rb', line 839

def to_xml_element(doc, root_name)
  root = doc.create_element(root_name)

  XmlUtilities.add_as_subelement(doc, root, 'deviceChannel', device_channel)
  XmlUtilities.add_as_subelement(doc, root, 'StrongAuthentication2',
                                 strong_authentication)
  XmlUtilities.add_as_subelement(doc, root, 'acsWindowSize',
                                 acs_window_size)
  XmlUtilities.add_as_subelement(doc, root, 'alternateAuthenticationData',
                                 alternate_authentication_data)
  XmlUtilities.add_as_subelement(doc, root, 'alternateAuthenticationDate',
                                 alternate_authentication_date)
  XmlUtilities.add_as_subelement(doc, root, 'alternateAuthenticationMethod',
                                 alternate_authentication_method)
  XmlUtilities.add_as_subelement(doc, root, 'authenticationDate',
                                 authentication_date)
  XmlUtilities.add_as_subelement(doc, root, 'authenticationTransactionId',
                                 authentication_transaction_id)
  XmlUtilities.add_as_subelement(doc, root, 'transactionFlowIndicator',
                                 transaction_flow_indicator)
  XmlUtilities.add_as_subelement(doc, root, 'challengeCode', challenge_code)
  XmlUtilities.add_as_subelement(doc, root, 'challengeStatus',
                                 challenge_status)
  XmlUtilities.add_as_subelement(doc, root, 'customerCardAlias',
                                 customer_card_alias)
  XmlUtilities.add_as_subelement(doc, root,
                                 'decoupledAuthenticationIndicator',
                                 decoupled_authentication_indicator)
  XmlUtilities.add_as_subelement(doc, root,
                                 'decoupledAuthenticationMaxTime',
                                 decoupled_authentication_max_time)
  XmlUtilities.add_as_subelement(doc, root, 'defaultCard', default_card)
  XmlUtilities.add_as_subelement(doc, root, 'installmentTotalCount',
                                 installment_total_count)
  XmlUtilities.add_as_subelement(doc, root, 'merchantFraudRate',
                                 merchant_fraud_rate)
  XmlUtilities.add_as_subelement(doc, root, 'marketingOptIn',
                                 marketing_opt_in)
  XmlUtilities.add_as_subelement(doc, root, 'marketingSource',
                                 marketing_source)
  XmlUtilities.add_as_subelement(doc, root, 'mcc', mcc)
  XmlUtilities.add_as_subelement(doc, root, 'merchantScore', merchant_score)
  XmlUtilities.add_as_subelement(doc, root, 'messageCategory',
                                 message_category)
  XmlUtilities.add_as_subelement(doc, root, 'npaCode', npa_code)
  XmlUtilities.add_as_subelement(doc, root, 'overridePaymentMethod',
                                 override_payment_method)
  XmlUtilities.add_as_subelement(doc, root, 'overrideCountryCode',
                                 override_country_code)
  XmlUtilities.add_as_subelement(doc, root, 'priorAuthenticationData',
                                 prior_authentication_data)
  XmlUtilities.add_as_subelement(doc, root, 'priorAuthenticationMethod',
                                 prior_authentication_method)
  XmlUtilities.add_as_subelement(doc, root,
                                 'priorAuthenticationReferenceId',
                                 prior_authentication_reference_id)
  XmlUtilities.add_as_subelement(doc, root, 'priorAuthenticationTime',
                                 prior_authentication_time)
  XmlUtilities.add_as_subelement(doc, root, 'productCode', product_code)
  XmlUtilities.add_as_subelement(doc, root, 'returnUrl', return_url)
  XmlUtilities.add_as_subelement(doc, root, 'requestorId', requestor_id)
  XmlUtilities.add_as_subelement(
    doc, root, 'requestorInitiatedAuthenticationIndicator',
    requestor_initiated_authentication_indicator
  )
  XmlUtilities.add_as_subelement(doc, root, 'requestorName', requestor_name)
  XmlUtilities.add_as_subelement(doc, root, 'referenceId', reference_id)
  XmlUtilities.add_as_subelement(doc, root, 'sdkMaxTimeout',
                                 sdk_max_timeout)
  XmlUtilities.add_as_subelement(doc, root,
                                 'secureCorporatePaymentIndicator',
                                 secure_corporate_payment_indicator)
  XmlUtilities.add_as_subelement(doc, root, 'transactionMode',
                                 transaction_mode)
  XmlUtilities.add_as_subelement(doc, root, 'whiteListStatus',
                                 white_list_status)
  XmlUtilities.add_as_subelement(doc, root, 'scoreRequest', score_request)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end