direct-sdk-ruby 1.0.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/direct-sdk-ruby.gemspec +1 -1
  3. data/lib/ingenico/direct/sdk/domain/airline_flight_leg.rb +4 -0
  4. data/lib/ingenico/direct/sdk/domain/browser_data.rb +4 -0
  5. data/lib/ingenico/direct/sdk/domain/card_essentials.rb +4 -0
  6. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input.rb +8 -4
  7. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input_base.rb +8 -0
  8. data/lib/ingenico/direct/sdk/domain/create_hosted_checkout_request.rb +8 -0
  9. data/lib/ingenico/direct/sdk/domain/get_iin_details_request.rb +35 -0
  10. data/lib/ingenico/direct/sdk/domain/get_iin_details_response.rb +46 -0
  11. data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_input.rb +4 -0
  12. data/lib/ingenico/direct/sdk/domain/iin_detail.rb +31 -0
  13. data/lib/ingenico/direct/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.rb +31 -0
  14. data/lib/ingenico/direct/sdk/domain/payment_context.rb +39 -0
  15. data/lib/ingenico/direct/sdk/domain/payment_product.rb +16 -0
  16. data/lib/ingenico/direct/sdk/domain/payment_product130_specific_input.rb +31 -0
  17. data/lib/ingenico/direct/sdk/domain/payment_product130_specific_three_d_secure.rb +39 -0
  18. data/lib/ingenico/direct/sdk/domain/payment_product302_specific_data.rb +33 -0
  19. data/lib/ingenico/direct/sdk/domain/payment_product320_specific_data.rb +37 -0
  20. data/lib/ingenico/direct/sdk/domain/shipping.rb +8 -0
  21. data/lib/ingenico/direct/sdk/domain/three_d_secure.rb +12 -0
  22. data/lib/ingenico/direct/sdk/domain/three_d_secure_base.rb +12 -0
  23. data/lib/ingenico/direct/sdk/domain/token_response.rb +4 -0
  24. data/lib/ingenico/direct/sdk/merchant/merchant_client.rb +1 -1
  25. data/lib/ingenico/direct/sdk/merchant/services/services_client.rb +31 -0
  26. metadata +11 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 608d59a24ebd4eb3ec8e92c39cce3c00f4feeb684e8d7488dcfa84cb116a393f
4
- data.tar.gz: f1361fbd5ea74f47a3c2b98cb4ab1a035c375e5874f9588b0fa4ff7842a609a8
3
+ metadata.gz: c933150f36817b801e1ca95cfbd4e2f55ebecde7b843e10b3f18590fe4bd65f5
4
+ data.tar.gz: accf2bc8adb754003c10e72f74849a94c79d40527f48e7f308c0e7711a254739
5
5
  SHA512:
6
- metadata.gz: ad5862eb925037956977f3461badbff8e317cc2748b31704649e9d82221d2a8455bc1a9bf9c646d46ab23f08918b2d9cc6583e6227f1cb2d9c140a6d0201e906
7
- data.tar.gz: a7e2c636f4b33918ad34d1985a7b29e56b26bcd69ce40b633d2983f53e7a4cea5353b3a0f6e659dd951c7e76442d938cdd3c3a9a0e68ca03c3af8f335d7a14e7
6
+ metadata.gz: 203b8b5feaeac54348d64f5d010a49ec0f21d54f3094445e2a46c6625e1ea6712e551271d15901f8bab88c92e7dd483dbdb059e7692b2d1ce3501a909376150c
7
+ data.tar.gz: 90361436cf6fb2dd8f6a6c219a6538587524e8412dabbf7364d6798ac1a65bcd39cc4255497bdfeb060ad57bf527a0f6b798f360313f4369e560334c7eb4ec2c
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'direct-sdk-ruby'
3
- spec.version = '1.0.0'
3
+ spec.version = '1.4.0'
4
4
  spec.authors = ['Ingenico ePayments']
5
5
  spec.email = ['60233882+ingenico-dev-team@users.noreply.github.com']
6
6
  spec.summary = %q{SDK to communicate with the Ingenico ePayments platform using the Ingenico Direct Server API}
@@ -21,6 +21,7 @@ module Ingenico::Direct::SDK
21
21
  # @attr [String] fare_basis
22
22
  # @attr [Integer] fee
23
23
  # @attr [String] flight_number
24
+ # @attr [Integer] leg_fare
24
25
  # @attr [Integer] number
25
26
  # @attr [String] origin_airport
26
27
  # @attr [String] passenger_class
@@ -41,6 +42,7 @@ module Ingenico::Direct::SDK
41
42
  attr_accessor :fare_basis
42
43
  attr_accessor :fee
43
44
  attr_accessor :flight_number
45
+ attr_accessor :leg_fare
44
46
  attr_accessor :number
45
47
  attr_accessor :origin_airport
46
48
  attr_accessor :passenger_class
@@ -64,6 +66,7 @@ module Ingenico::Direct::SDK
64
66
  hash['fareBasis'] = @fare_basis unless @fare_basis.nil?
65
67
  hash['fee'] = @fee unless @fee.nil?
66
68
  hash['flightNumber'] = @flight_number unless @flight_number.nil?
69
+ hash['legFare'] = @leg_fare unless @leg_fare.nil?
67
70
  hash['number'] = @number unless @number.nil?
68
71
  hash['originAirport'] = @origin_airport unless @origin_airport.nil?
69
72
  hash['passengerClass'] = @passenger_class unless @passenger_class.nil?
@@ -88,6 +91,7 @@ module Ingenico::Direct::SDK
88
91
  @fare_basis = hash['fareBasis'] if hash.key? 'fareBasis'
89
92
  @fee = hash['fee'] if hash.key? 'fee'
90
93
  @flight_number = hash['flightNumber'] if hash.key? 'flightNumber'
94
+ @leg_fare = hash['legFare'] if hash.key? 'legFare'
91
95
  @number = hash['number'] if hash.key? 'number'
92
96
  @origin_airport = hash['originAirport'] if hash.key? 'originAirport'
93
97
  @passenger_class = hash['passengerClass'] if hash.key? 'passengerClass'
@@ -9,11 +9,13 @@ module Ingenico::Direct::SDK
9
9
 
10
10
  # @attr [Integer] color_depth
11
11
  # @attr [true/false] java_enabled
12
+ # @attr [true/false] java_script_enabled
12
13
  # @attr [String] screen_height
13
14
  # @attr [String] screen_width
14
15
  class BrowserData < Ingenico::Direct::SDK::DataObject
15
16
  attr_accessor :color_depth
16
17
  attr_accessor :java_enabled
18
+ attr_accessor :java_script_enabled
17
19
  attr_accessor :screen_height
18
20
  attr_accessor :screen_width
19
21
 
@@ -22,6 +24,7 @@ module Ingenico::Direct::SDK
22
24
  hash = super
23
25
  hash['colorDepth'] = @color_depth unless @color_depth.nil?
24
26
  hash['javaEnabled'] = @java_enabled unless @java_enabled.nil?
27
+ hash['javaScriptEnabled'] = @java_script_enabled unless @java_script_enabled.nil?
25
28
  hash['screenHeight'] = @screen_height unless @screen_height.nil?
26
29
  hash['screenWidth'] = @screen_width unless @screen_width.nil?
27
30
  hash
@@ -31,6 +34,7 @@ module Ingenico::Direct::SDK
31
34
  super
32
35
  @color_depth = hash['colorDepth'] if hash.key? 'colorDepth'
33
36
  @java_enabled = hash['javaEnabled'] if hash.key? 'javaEnabled'
37
+ @java_script_enabled = hash['javaScriptEnabled'] if hash.key? 'javaScriptEnabled'
34
38
  @screen_height = hash['screenHeight'] if hash.key? 'screenHeight'
35
39
  @screen_width = hash['screenWidth'] if hash.key? 'screenWidth'
36
40
  end
@@ -7,15 +7,18 @@ require 'ingenico/direct/sdk/data_object'
7
7
  module Ingenico::Direct::SDK
8
8
  module Domain
9
9
 
10
+ # @attr [String] bin
10
11
  # @attr [String] card_number
11
12
  # @attr [String] expiry_date
12
13
  class CardEssentials < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :bin
13
15
  attr_accessor :card_number
14
16
  attr_accessor :expiry_date
15
17
 
16
18
  # @return (Hash)
17
19
  def to_h
18
20
  hash = super
21
+ hash['bin'] = @bin unless @bin.nil?
19
22
  hash['cardNumber'] = @card_number unless @card_number.nil?
20
23
  hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
21
24
  hash
@@ -23,6 +26,7 @@ module Ingenico::Direct::SDK
23
26
 
24
27
  def from_hash(hash)
25
28
  super
29
+ @bin = hash['bin'] if hash.key? 'bin'
26
30
  @card_number = hash['cardNumber'] if hash.key? 'cardNumber'
27
31
  @expiry_date = hash['expiryDate'] if hash.key? 'expiryDate'
28
32
  end
@@ -5,6 +5,7 @@
5
5
  require 'ingenico/direct/sdk/data_object'
6
6
  require 'ingenico/direct/sdk/domain/card'
7
7
  require 'ingenico/direct/sdk/domain/card_recurrence_details'
8
+ require 'ingenico/direct/sdk/domain/payment_product130_specific_input'
8
9
  require 'ingenico/direct/sdk/domain/three_d_secure'
9
10
 
10
11
  module Ingenico::Direct::SDK
@@ -14,11 +15,11 @@ module Ingenico::Direct::SDK
14
15
  # @attr [Ingenico::Direct::SDK::Domain::Card] card
15
16
  # @attr [String] initial_scheme_transaction_id
16
17
  # @attr [true/false] is_recurring
18
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
17
19
  # @attr [Integer] payment_product_id
18
20
  # @attr [Ingenico::Direct::SDK::Domain::CardRecurrenceDetails] recurring
19
21
  # @attr [String] return_url
20
22
  # @attr [true/false] skip_authentication
21
- # @attr [true/false] skip_soft_decline
22
23
  # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecure] three_d_secure
23
24
  # @attr [String] token
24
25
  # @attr [true/false] tokenize
@@ -30,11 +31,11 @@ module Ingenico::Direct::SDK
30
31
  attr_accessor :card
31
32
  attr_accessor :initial_scheme_transaction_id
32
33
  attr_accessor :is_recurring
34
+ attr_accessor :payment_product130_specific_input
33
35
  attr_accessor :payment_product_id
34
36
  attr_accessor :recurring
35
37
  attr_accessor :return_url
36
38
  attr_accessor :skip_authentication
37
- attr_accessor :skip_soft_decline
38
39
  attr_accessor :three_d_secure
39
40
  attr_accessor :token
40
41
  attr_accessor :tokenize
@@ -49,11 +50,11 @@ module Ingenico::Direct::SDK
49
50
  hash['card'] = @card.to_h if @card
50
51
  hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
51
52
  hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
53
+ hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h if @payment_product130_specific_input
52
54
  hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
53
55
  hash['recurring'] = @recurring.to_h if @recurring
54
56
  hash['returnUrl'] = @return_url unless @return_url.nil?
55
57
  hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
56
- hash['skipSoftDecline'] = @skip_soft_decline unless @skip_soft_decline.nil?
57
58
  hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
58
59
  hash['token'] = @token unless @token.nil?
59
60
  hash['tokenize'] = @tokenize unless @tokenize.nil?
@@ -72,6 +73,10 @@ module Ingenico::Direct::SDK
72
73
  end
73
74
  @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
74
75
  @is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
76
+ if hash.key? 'paymentProduct130SpecificInput'
77
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
78
+ @payment_product130_specific_input = Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
79
+ end
75
80
  @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
76
81
  if hash.key? 'recurring'
77
82
  raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
@@ -79,7 +84,6 @@ module Ingenico::Direct::SDK
79
84
  end
80
85
  @return_url = hash['returnUrl'] if hash.key? 'returnUrl'
81
86
  @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
82
- @skip_soft_decline = hash['skipSoftDecline'] if hash.key? 'skipSoftDecline'
83
87
  if hash.key? 'threeDSecure'
84
88
  raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
85
89
  @three_d_secure = Ingenico::Direct::SDK::Domain::ThreeDSecure.new_from_hash(hash['threeDSecure'])
@@ -4,6 +4,7 @@
4
4
  #
5
5
  require 'ingenico/direct/sdk/data_object'
6
6
  require 'ingenico/direct/sdk/domain/card_recurrence_details'
7
+ require 'ingenico/direct/sdk/domain/payment_product130_specific_input'
7
8
  require 'ingenico/direct/sdk/domain/payment_product5100_specific_input'
8
9
  require 'ingenico/direct/sdk/domain/three_d_secure_base'
9
10
 
@@ -12,6 +13,7 @@ module Ingenico::Direct::SDK
12
13
 
13
14
  # @attr [String] authorization_mode
14
15
  # @attr [String] initial_scheme_transaction_id
16
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
15
17
  # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct5100SpecificInput] payment_product5100_specific_input
16
18
  # @attr [Integer] payment_product_id
17
19
  # @attr [Ingenico::Direct::SDK::Domain::CardRecurrenceDetails] recurring
@@ -24,6 +26,7 @@ module Ingenico::Direct::SDK
24
26
  class CardPaymentMethodSpecificInputBase < Ingenico::Direct::SDK::DataObject
25
27
  attr_accessor :authorization_mode
26
28
  attr_accessor :initial_scheme_transaction_id
29
+ attr_accessor :payment_product130_specific_input
27
30
  attr_accessor :payment_product5100_specific_input
28
31
  attr_accessor :payment_product_id
29
32
  attr_accessor :recurring
@@ -39,6 +42,7 @@ module Ingenico::Direct::SDK
39
42
  hash = super
40
43
  hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
41
44
  hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
45
+ hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h if @payment_product130_specific_input
42
46
  hash['paymentProduct5100SpecificInput'] = @payment_product5100_specific_input.to_h if @payment_product5100_specific_input
43
47
  hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
44
48
  hash['recurring'] = @recurring.to_h if @recurring
@@ -55,6 +59,10 @@ module Ingenico::Direct::SDK
55
59
  super
56
60
  @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
57
61
  @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
62
+ if hash.key? 'paymentProduct130SpecificInput'
63
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
64
+ @payment_product130_specific_input = Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
65
+ end
58
66
  if hash.key? 'paymentProduct5100SpecificInput'
59
67
  raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5100SpecificInput']] unless hash['paymentProduct5100SpecificInput'].is_a? Hash
60
68
  @payment_product5100_specific_input = Ingenico::Direct::SDK::Domain::PaymentProduct5100SpecificInput.new_from_hash(hash['paymentProduct5100SpecificInput'])
@@ -6,6 +6,7 @@ require 'ingenico/direct/sdk/data_object'
6
6
  require 'ingenico/direct/sdk/domain/card_payment_method_specific_input_base'
7
7
  require 'ingenico/direct/sdk/domain/fraud_fields'
8
8
  require 'ingenico/direct/sdk/domain/hosted_checkout_specific_input'
9
+ require 'ingenico/direct/sdk/domain/mobile_payment_method_hosted_checkout_specific_input'
9
10
  require 'ingenico/direct/sdk/domain/order'
10
11
  require 'ingenico/direct/sdk/domain/redirect_payment_method_specific_input'
11
12
 
@@ -15,12 +16,14 @@ module Ingenico::Direct::SDK
15
16
  # @attr [Ingenico::Direct::SDK::Domain::CardPaymentMethodSpecificInputBase] card_payment_method_specific_input
16
17
  # @attr [Ingenico::Direct::SDK::Domain::FraudFields] fraud_fields
17
18
  # @attr [Ingenico::Direct::SDK::Domain::HostedCheckoutSpecificInput] hosted_checkout_specific_input
19
+ # @attr [Ingenico::Direct::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput] mobile_payment_method_specific_input
18
20
  # @attr [Ingenico::Direct::SDK::Domain::Order] order
19
21
  # @attr [Ingenico::Direct::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
20
22
  class CreateHostedCheckoutRequest < Ingenico::Direct::SDK::DataObject
21
23
  attr_accessor :card_payment_method_specific_input
22
24
  attr_accessor :fraud_fields
23
25
  attr_accessor :hosted_checkout_specific_input
26
+ attr_accessor :mobile_payment_method_specific_input
24
27
  attr_accessor :order
25
28
  attr_accessor :redirect_payment_method_specific_input
26
29
 
@@ -30,6 +33,7 @@ module Ingenico::Direct::SDK
30
33
  hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h if @card_payment_method_specific_input
31
34
  hash['fraudFields'] = @fraud_fields.to_h if @fraud_fields
32
35
  hash['hostedCheckoutSpecificInput'] = @hosted_checkout_specific_input.to_h if @hosted_checkout_specific_input
36
+ hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h if @mobile_payment_method_specific_input
33
37
  hash['order'] = @order.to_h if @order
34
38
  hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h if @redirect_payment_method_specific_input
35
39
  hash
@@ -49,6 +53,10 @@ module Ingenico::Direct::SDK
49
53
  raise TypeError, "value '%s' is not a Hash" % [hash['hostedCheckoutSpecificInput']] unless hash['hostedCheckoutSpecificInput'].is_a? Hash
50
54
  @hosted_checkout_specific_input = Ingenico::Direct::SDK::Domain::HostedCheckoutSpecificInput.new_from_hash(hash['hostedCheckoutSpecificInput'])
51
55
  end
56
+ if hash.key? 'mobilePaymentMethodSpecificInput'
57
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
58
+ @mobile_payment_method_specific_input = Ingenico::Direct::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
59
+ end
52
60
  if hash.key? 'order'
53
61
  raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
54
62
  @order = Ingenico::Direct::SDK::Domain::Order.new_from_hash(hash['order'])
@@ -0,0 +1,35 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/payment_context'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [String] bin
12
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentContext] payment_context
13
+ class GetIINDetailsRequest < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :bin
15
+ attr_accessor :payment_context
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['bin'] = @bin unless @bin.nil?
21
+ hash['paymentContext'] = @payment_context.to_h if @payment_context
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ @bin = hash['bin'] if hash.key? 'bin'
28
+ if hash.key? 'paymentContext'
29
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentContext']] unless hash['paymentContext'].is_a? Hash
30
+ @payment_context = Ingenico::Direct::SDK::Domain::PaymentContext.new_from_hash(hash['paymentContext'])
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/iin_detail'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Array<Ingenico::Direct::SDK::Domain::IINDetail>] co_brands
12
+ # @attr [String] country_code
13
+ # @attr [true/false] is_allowed_in_context
14
+ # @attr [Integer] payment_product_id
15
+ class GetIINDetailsResponse < Ingenico::Direct::SDK::DataObject
16
+ attr_accessor :co_brands
17
+ attr_accessor :country_code
18
+ attr_accessor :is_allowed_in_context
19
+ attr_accessor :payment_product_id
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['coBrands'] = @co_brands.collect(&:to_h) if @co_brands
25
+ hash['countryCode'] = @country_code unless @country_code.nil?
26
+ hash['isAllowedInContext'] = @is_allowed_in_context unless @is_allowed_in_context.nil?
27
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.key? 'coBrands'
34
+ raise TypeError, "value '%s' is not an Array" % [hash['coBrands']] unless hash['coBrands'].is_a? Array
35
+ @co_brands = []
36
+ hash['coBrands'].each do |e|
37
+ @co_brands << Ingenico::Direct::SDK::Domain::IINDetail.new_from_hash(e)
38
+ end
39
+ end
40
+ @country_code = hash['countryCode'] if hash.key? 'countryCode'
41
+ @is_allowed_in_context = hash['isAllowedInContext'] if hash.key? 'isAllowedInContext'
42
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
43
+ end
44
+ end
45
+ end
46
+ end
@@ -12,6 +12,7 @@ module Ingenico::Direct::SDK
12
12
  # @attr [String] locale
13
13
  # @attr [Ingenico::Direct::SDK::Domain::PaymentProductFiltersHostedCheckout] payment_product_filters
14
14
  # @attr [String] return_url
15
+ # @attr [Integer] session_timeout
15
16
  # @attr [true/false] show_result_page
16
17
  # @attr [String] tokens
17
18
  # @attr [String] variant
@@ -20,6 +21,7 @@ module Ingenico::Direct::SDK
20
21
  attr_accessor :locale
21
22
  attr_accessor :payment_product_filters
22
23
  attr_accessor :return_url
24
+ attr_accessor :session_timeout
23
25
  attr_accessor :show_result_page
24
26
  attr_accessor :tokens
25
27
  attr_accessor :variant
@@ -31,6 +33,7 @@ module Ingenico::Direct::SDK
31
33
  hash['locale'] = @locale unless @locale.nil?
32
34
  hash['paymentProductFilters'] = @payment_product_filters.to_h if @payment_product_filters
33
35
  hash['returnUrl'] = @return_url unless @return_url.nil?
36
+ hash['sessionTimeout'] = @session_timeout unless @session_timeout.nil?
34
37
  hash['showResultPage'] = @show_result_page unless @show_result_page.nil?
35
38
  hash['tokens'] = @tokens unless @tokens.nil?
36
39
  hash['variant'] = @variant unless @variant.nil?
@@ -46,6 +49,7 @@ module Ingenico::Direct::SDK
46
49
  @payment_product_filters = Ingenico::Direct::SDK::Domain::PaymentProductFiltersHostedCheckout.new_from_hash(hash['paymentProductFilters'])
47
50
  end
48
51
  @return_url = hash['returnUrl'] if hash.key? 'returnUrl'
52
+ @session_timeout = hash['sessionTimeout'] if hash.key? 'sessionTimeout'
49
53
  @show_result_page = hash['showResultPage'] if hash.key? 'showResultPage'
50
54
  @tokens = hash['tokens'] if hash.key? 'tokens'
51
55
  @variant = hash['variant'] if hash.key? 'variant'
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [true/false] is_allowed_in_context
11
+ # @attr [Integer] payment_product_id
12
+ class IINDetail < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :is_allowed_in_context
14
+ attr_accessor :payment_product_id
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['isAllowedInContext'] = @is_allowed_in_context unless @is_allowed_in_context.nil?
20
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @is_allowed_in_context = hash['isAllowedInContext'] if hash.key? 'isAllowedInContext'
27
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] authorization_mode
11
+ # @attr [Integer] payment_product_id
12
+ class MobilePaymentMethodHostedCheckoutSpecificInput < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :authorization_mode
14
+ attr_accessor :payment_product_id
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
20
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
27
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/amount_of_money'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::AmountOfMoney] amount_of_money
12
+ # @attr [String] country_code
13
+ # @attr [true/false] is_recurring
14
+ class PaymentContext < Ingenico::Direct::SDK::DataObject
15
+ attr_accessor :amount_of_money
16
+ attr_accessor :country_code
17
+ attr_accessor :is_recurring
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
23
+ hash['countryCode'] = @country_code unless @country_code.nil?
24
+ hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
25
+ hash
26
+ end
27
+
28
+ def from_hash(hash)
29
+ super
30
+ if hash.key? 'amountOfMoney'
31
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
32
+ @amount_of_money = Ingenico::Direct::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
33
+ end
34
+ @country_code = hash['countryCode'] if hash.key? 'countryCode'
35
+ @is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
36
+ end
37
+ end
38
+ end
39
+ end
@@ -4,6 +4,8 @@
4
4
  #
5
5
  require 'ingenico/direct/sdk/data_object'
6
6
  require 'ingenico/direct/sdk/domain/account_on_file'
7
+ require 'ingenico/direct/sdk/domain/payment_product302_specific_data'
8
+ require 'ingenico/direct/sdk/domain/payment_product320_specific_data'
7
9
  require 'ingenico/direct/sdk/domain/payment_product_display_hints'
8
10
  require 'ingenico/direct/sdk/domain/payment_product_field'
9
11
 
@@ -17,6 +19,8 @@ module Ingenico::Direct::SDK
17
19
  # @attr [Array<Ingenico::Direct::SDK::Domain::PaymentProductField>] fields
18
20
  # @attr [Integer] id
19
21
  # @attr [String] payment_method
22
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct302SpecificData] payment_product302_specific_data
23
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct320SpecificData] payment_product320_specific_data
20
24
  # @attr [String] payment_product_group
21
25
  # @attr [true/false] uses_redirection_to3rd_party
22
26
  class PaymentProduct < Ingenico::Direct::SDK::DataObject
@@ -27,6 +31,8 @@ module Ingenico::Direct::SDK
27
31
  attr_accessor :fields
28
32
  attr_accessor :id
29
33
  attr_accessor :payment_method
34
+ attr_accessor :payment_product302_specific_data
35
+ attr_accessor :payment_product320_specific_data
30
36
  attr_accessor :payment_product_group
31
37
  attr_accessor :uses_redirection_to3rd_party
32
38
 
@@ -40,6 +46,8 @@ module Ingenico::Direct::SDK
40
46
  hash['fields'] = @fields.collect(&:to_h) if @fields
41
47
  hash['id'] = @id unless @id.nil?
42
48
  hash['paymentMethod'] = @payment_method unless @payment_method.nil?
49
+ hash['paymentProduct302SpecificData'] = @payment_product302_specific_data.to_h if @payment_product302_specific_data
50
+ hash['paymentProduct320SpecificData'] = @payment_product320_specific_data.to_h if @payment_product320_specific_data
43
51
  hash['paymentProductGroup'] = @payment_product_group unless @payment_product_group.nil?
44
52
  hash['usesRedirectionTo3rdParty'] = @uses_redirection_to3rd_party unless @uses_redirection_to3rd_party.nil?
45
53
  hash
@@ -69,6 +77,14 @@ module Ingenico::Direct::SDK
69
77
  end
70
78
  @id = hash['id'] if hash.key? 'id'
71
79
  @payment_method = hash['paymentMethod'] if hash.key? 'paymentMethod'
80
+ if hash.key? 'paymentProduct302SpecificData'
81
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct302SpecificData']] unless hash['paymentProduct302SpecificData'].is_a? Hash
82
+ @payment_product302_specific_data = Ingenico::Direct::SDK::Domain::PaymentProduct302SpecificData.new_from_hash(hash['paymentProduct302SpecificData'])
83
+ end
84
+ if hash.key? 'paymentProduct320SpecificData'
85
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct320SpecificData']] unless hash['paymentProduct320SpecificData'].is_a? Hash
86
+ @payment_product320_specific_data = Ingenico::Direct::SDK::Domain::PaymentProduct320SpecificData.new_from_hash(hash['paymentProduct320SpecificData'])
87
+ end
72
88
  @payment_product_group = hash['paymentProductGroup'] if hash.key? 'paymentProductGroup'
73
89
  @uses_redirection_to3rd_party = hash['usesRedirectionTo3rdParty'] if hash.key? 'usesRedirectionTo3rdParty'
74
90
  end
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/payment_product130_specific_three_d_secure'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificThreeDSecure] three_d_secure
12
+ class PaymentProduct130SpecificInput < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :three_d_secure
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
19
+ hash
20
+ end
21
+
22
+ def from_hash(hash)
23
+ super
24
+ if hash.key? 'threeDSecure'
25
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
26
+ @three_d_secure = Ingenico::Direct::SDK::Domain::PaymentProduct130SpecificThreeDSecure.new_from_hash(hash['threeDSecure'])
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [true/false] acquirer_exemption
11
+ # @attr [String] merchant_score
12
+ # @attr [Integer] number_of_items
13
+ # @attr [String] usecase
14
+ class PaymentProduct130SpecificThreeDSecure < Ingenico::Direct::SDK::DataObject
15
+ attr_accessor :acquirer_exemption
16
+ attr_accessor :merchant_score
17
+ attr_accessor :number_of_items
18
+ attr_accessor :usecase
19
+
20
+ # @return (Hash)
21
+ def to_h
22
+ hash = super
23
+ hash['acquirerExemption'] = @acquirer_exemption unless @acquirer_exemption.nil?
24
+ hash['merchantScore'] = @merchant_score unless @merchant_score.nil?
25
+ hash['numberOfItems'] = @number_of_items unless @number_of_items.nil?
26
+ hash['usecase'] = @usecase unless @usecase.nil?
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ @acquirer_exemption = hash['acquirerExemption'] if hash.key? 'acquirerExemption'
33
+ @merchant_score = hash['merchantScore'] if hash.key? 'merchantScore'
34
+ @number_of_items = hash['numberOfItems'] if hash.key? 'numberOfItems'
35
+ @usecase = hash['usecase'] if hash.key? 'usecase'
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [Array<String>] networks
11
+ class PaymentProduct302SpecificData < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :networks
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['networks'] = @networks unless @networks.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ if hash.key? 'networks'
24
+ raise TypeError, "value '%s' is not an Array" % [hash['networks']] unless hash['networks'].is_a? Array
25
+ @networks = []
26
+ hash['networks'].each do |e|
27
+ @networks << e
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] gateway
11
+ # @attr [Array<String>] networks
12
+ class PaymentProduct320SpecificData < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :gateway
14
+ attr_accessor :networks
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['gateway'] = @gateway unless @gateway.nil?
20
+ hash['networks'] = @networks unless @networks.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @gateway = hash['gateway'] if hash.key? 'gateway'
27
+ if hash.key? 'networks'
28
+ raise TypeError, "value '%s' is not an Array" % [hash['networks']] unless hash['networks'].is_a? Array
29
+ @networks = []
30
+ hash['networks'].each do |e|
31
+ @networks << e
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -13,6 +13,8 @@ module Ingenico::Direct::SDK
13
13
  # @attr [String] email_address
14
14
  # @attr [String] first_usage_date
15
15
  # @attr [true/false] is_first_usage
16
+ # @attr [Long] shipping_cost
17
+ # @attr [Long] shipping_cost_tax
16
18
  # @attr [String] type
17
19
  class Shipping < Ingenico::Direct::SDK::DataObject
18
20
  attr_accessor :address
@@ -20,6 +22,8 @@ module Ingenico::Direct::SDK
20
22
  attr_accessor :email_address
21
23
  attr_accessor :first_usage_date
22
24
  attr_accessor :is_first_usage
25
+ attr_accessor :shipping_cost
26
+ attr_accessor :shipping_cost_tax
23
27
  attr_accessor :type
24
28
 
25
29
  # @return (Hash)
@@ -30,6 +34,8 @@ module Ingenico::Direct::SDK
30
34
  hash['emailAddress'] = @email_address unless @email_address.nil?
31
35
  hash['firstUsageDate'] = @first_usage_date unless @first_usage_date.nil?
32
36
  hash['isFirstUsage'] = @is_first_usage unless @is_first_usage.nil?
37
+ hash['shippingCost'] = @shipping_cost unless @shipping_cost.nil?
38
+ hash['shippingCostTax'] = @shipping_cost_tax unless @shipping_cost_tax.nil?
33
39
  hash['type'] = @type unless @type.nil?
34
40
  hash
35
41
  end
@@ -44,6 +50,8 @@ module Ingenico::Direct::SDK
44
50
  @email_address = hash['emailAddress'] if hash.key? 'emailAddress'
45
51
  @first_usage_date = hash['firstUsageDate'] if hash.key? 'firstUsageDate'
46
52
  @is_first_usage = hash['isFirstUsage'] if hash.key? 'isFirstUsage'
53
+ @shipping_cost = hash['shippingCost'] if hash.key? 'shippingCost'
54
+ @shipping_cost_tax = hash['shippingCostTax'] if hash.key? 'shippingCostTax'
47
55
  @type = hash['type'] if hash.key? 'type'
48
56
  end
49
57
  end
@@ -14,17 +14,23 @@ module Ingenico::Direct::SDK
14
14
  # @attr [String] challenge_indicator
15
15
  # @attr [String] exemption_request
16
16
  # @attr [Ingenico::Direct::SDK::Domain::ExternalCardholderAuthenticationData] external_cardholder_authentication_data
17
+ # @attr [Integer] merchant_fraud_rate
17
18
  # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureData] prior_three_d_secure_data
18
19
  # @attr [Ingenico::Direct::SDK::Domain::RedirectionData] redirection_data
20
+ # @attr [true/false] secure_corporate_payment
19
21
  # @attr [true/false] skip_authentication
22
+ # @attr [true/false] skip_soft_decline
20
23
  class ThreeDSecure < Ingenico::Direct::SDK::DataObject
21
24
  attr_accessor :challenge_canvas_size
22
25
  attr_accessor :challenge_indicator
23
26
  attr_accessor :exemption_request
24
27
  attr_accessor :external_cardholder_authentication_data
28
+ attr_accessor :merchant_fraud_rate
25
29
  attr_accessor :prior_three_d_secure_data
26
30
  attr_accessor :redirection_data
31
+ attr_accessor :secure_corporate_payment
27
32
  attr_accessor :skip_authentication
33
+ attr_accessor :skip_soft_decline
28
34
 
29
35
  # @return (Hash)
30
36
  def to_h
@@ -33,9 +39,12 @@ module Ingenico::Direct::SDK
33
39
  hash['challengeIndicator'] = @challenge_indicator unless @challenge_indicator.nil?
34
40
  hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
35
41
  hash['externalCardholderAuthenticationData'] = @external_cardholder_authentication_data.to_h if @external_cardholder_authentication_data
42
+ hash['merchantFraudRate'] = @merchant_fraud_rate unless @merchant_fraud_rate.nil?
36
43
  hash['priorThreeDSecureData'] = @prior_three_d_secure_data.to_h if @prior_three_d_secure_data
37
44
  hash['redirectionData'] = @redirection_data.to_h if @redirection_data
45
+ hash['secureCorporatePayment'] = @secure_corporate_payment unless @secure_corporate_payment.nil?
38
46
  hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
47
+ hash['skipSoftDecline'] = @skip_soft_decline unless @skip_soft_decline.nil?
39
48
  hash
40
49
  end
41
50
 
@@ -48,6 +57,7 @@ module Ingenico::Direct::SDK
48
57
  raise TypeError, "value '%s' is not a Hash" % [hash['externalCardholderAuthenticationData']] unless hash['externalCardholderAuthenticationData'].is_a? Hash
49
58
  @external_cardholder_authentication_data = Ingenico::Direct::SDK::Domain::ExternalCardholderAuthenticationData.new_from_hash(hash['externalCardholderAuthenticationData'])
50
59
  end
60
+ @merchant_fraud_rate = hash['merchantFraudRate'] if hash.key? 'merchantFraudRate'
51
61
  if hash.key? 'priorThreeDSecureData'
52
62
  raise TypeError, "value '%s' is not a Hash" % [hash['priorThreeDSecureData']] unless hash['priorThreeDSecureData'].is_a? Hash
53
63
  @prior_three_d_secure_data = Ingenico::Direct::SDK::Domain::ThreeDSecureData.new_from_hash(hash['priorThreeDSecureData'])
@@ -56,7 +66,9 @@ module Ingenico::Direct::SDK
56
66
  raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
57
67
  @redirection_data = Ingenico::Direct::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
58
68
  end
69
+ @secure_corporate_payment = hash['secureCorporatePayment'] if hash.key? 'secureCorporatePayment'
59
70
  @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
71
+ @skip_soft_decline = hash['skipSoftDecline'] if hash.key? 'skipSoftDecline'
60
72
  end
61
73
  end
62
74
  end
@@ -11,14 +11,20 @@ module Ingenico::Direct::SDK
11
11
  # @attr [String] challenge_canvas_size
12
12
  # @attr [String] challenge_indicator
13
13
  # @attr [String] exemption_request
14
+ # @attr [Integer] merchant_fraud_rate
14
15
  # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureData] prior_three_d_secure_data
16
+ # @attr [true/false] secure_corporate_payment
15
17
  # @attr [true/false] skip_authentication
18
+ # @attr [true/false] skip_soft_decline
16
19
  class ThreeDSecureBase < Ingenico::Direct::SDK::DataObject
17
20
  attr_accessor :challenge_canvas_size
18
21
  attr_accessor :challenge_indicator
19
22
  attr_accessor :exemption_request
23
+ attr_accessor :merchant_fraud_rate
20
24
  attr_accessor :prior_three_d_secure_data
25
+ attr_accessor :secure_corporate_payment
21
26
  attr_accessor :skip_authentication
27
+ attr_accessor :skip_soft_decline
22
28
 
23
29
  # @return (Hash)
24
30
  def to_h
@@ -26,8 +32,11 @@ module Ingenico::Direct::SDK
26
32
  hash['challengeCanvasSize'] = @challenge_canvas_size unless @challenge_canvas_size.nil?
27
33
  hash['challengeIndicator'] = @challenge_indicator unless @challenge_indicator.nil?
28
34
  hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
35
+ hash['merchantFraudRate'] = @merchant_fraud_rate unless @merchant_fraud_rate.nil?
29
36
  hash['priorThreeDSecureData'] = @prior_three_d_secure_data.to_h if @prior_three_d_secure_data
37
+ hash['secureCorporatePayment'] = @secure_corporate_payment unless @secure_corporate_payment.nil?
30
38
  hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
39
+ hash['skipSoftDecline'] = @skip_soft_decline unless @skip_soft_decline.nil?
31
40
  hash
32
41
  end
33
42
 
@@ -36,11 +45,14 @@ module Ingenico::Direct::SDK
36
45
  @challenge_canvas_size = hash['challengeCanvasSize'] if hash.key? 'challengeCanvasSize'
37
46
  @challenge_indicator = hash['challengeIndicator'] if hash.key? 'challengeIndicator'
38
47
  @exemption_request = hash['exemptionRequest'] if hash.key? 'exemptionRequest'
48
+ @merchant_fraud_rate = hash['merchantFraudRate'] if hash.key? 'merchantFraudRate'
39
49
  if hash.key? 'priorThreeDSecureData'
40
50
  raise TypeError, "value '%s' is not a Hash" % [hash['priorThreeDSecureData']] unless hash['priorThreeDSecureData'].is_a? Hash
41
51
  @prior_three_d_secure_data = Ingenico::Direct::SDK::Domain::ThreeDSecureData.new_from_hash(hash['priorThreeDSecureData'])
42
52
  end
53
+ @secure_corporate_payment = hash['secureCorporatePayment'] if hash.key? 'secureCorporatePayment'
43
54
  @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
55
+ @skip_soft_decline = hash['skipSoftDecline'] if hash.key? 'skipSoftDecline'
44
56
  end
45
57
  end
46
58
  end
@@ -14,12 +14,14 @@ module Ingenico::Direct::SDK
14
14
  # @attr [Ingenico::Direct::SDK::Domain::TokenEWallet] e_wallet
15
15
  # @attr [Ingenico::Direct::SDK::Domain::ExternalTokenLinked] external_token_linked
16
16
  # @attr [String] id
17
+ # @attr [true/false] is_temporary
17
18
  # @attr [Integer] payment_product_id
18
19
  class TokenResponse < Ingenico::Direct::SDK::DataObject
19
20
  attr_accessor :card
20
21
  attr_accessor :e_wallet
21
22
  attr_accessor :external_token_linked
22
23
  attr_accessor :id
24
+ attr_accessor :is_temporary
23
25
  attr_accessor :payment_product_id
24
26
 
25
27
  # @return (Hash)
@@ -29,6 +31,7 @@ module Ingenico::Direct::SDK
29
31
  hash['eWallet'] = @e_wallet.to_h if @e_wallet
30
32
  hash['externalTokenLinked'] = @external_token_linked.to_h if @external_token_linked
31
33
  hash['id'] = @id unless @id.nil?
34
+ hash['isTemporary'] = @is_temporary unless @is_temporary.nil?
32
35
  hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
33
36
  hash
34
37
  end
@@ -48,6 +51,7 @@ module Ingenico::Direct::SDK
48
51
  @external_token_linked = Ingenico::Direct::SDK::Domain::ExternalTokenLinked.new_from_hash(hash['externalTokenLinked'])
49
52
  end
50
53
  @id = hash['id'] if hash.key? 'id'
54
+ @is_temporary = hash['isTemporary'] if hash.key? 'isTemporary'
51
55
  @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
52
56
  end
53
57
  end
@@ -49,7 +49,7 @@ module Ingenico::Direct::SDK
49
49
  Ingenico::Direct::SDK::Merchant::Payments::PaymentsClient.new(self, nil)
50
50
  end
51
51
 
52
- # Resource /v2/!{merchantId}/services/testconnection
52
+ # Resource /v2/!{merchantId}/services
53
53
  # @return [Ingenico::Direct::SDK::Merchant::Services::ServicesClient]
54
54
  def services
55
55
  Ingenico::Direct::SDK::Merchant::Services::ServicesClient.new(self, nil)
@@ -5,6 +5,8 @@
5
5
  require 'ingenico/direct/sdk/api_resource'
6
6
  require 'ingenico/direct/sdk/response_exception'
7
7
  require 'ingenico/direct/sdk/domain/error_response'
8
+ require 'ingenico/direct/sdk/domain/get_iin_details_request'
9
+ require 'ingenico/direct/sdk/domain/get_iin_details_response'
8
10
  require 'ingenico/direct/sdk/domain/test_connection'
9
11
 
10
12
  module Ingenico::Direct::SDK
@@ -46,6 +48,35 @@ module Ingenico::Direct::SDK
46
48
  error_object = @communicator.marshaller.unmarshal(e.body, error_type)
47
49
  raise create_exception(e.status_code, e.body, error_object, context)
48
50
  end
51
+
52
+ # Resource /v2/!{merchantId}/services/getIINdetails - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetIINDetailsApi Get IIN details}
53
+ # @param body [Ingenico::Direct::SDK::Domain::GetIINDetailsRequest]
54
+ # @param context [Ingenico::Direct::SDK::CallContext]
55
+ # @return [Ingenico::Direct::SDK::Domain::GetIINDetailsResponse]
56
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
57
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
58
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
59
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
60
+ # or there was a conflict (HTTP status code 404, 409 or 410)
61
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
62
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
63
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
64
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
65
+ def get_iin_details(body, context = nil)
66
+ uri = instantiate_uri('/v2/{merchantId}/services/getIINdetails')
67
+ @communicator.post(
68
+ uri,
69
+ client_headers,
70
+ nil,
71
+ body,
72
+ Ingenico::Direct::SDK::Domain::GetIINDetailsResponse,
73
+ context
74
+ )
75
+ rescue ResponseException => e
76
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
77
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
78
+ raise create_exception(e.status_code, e.body, error_object, context)
79
+ end
49
80
  end
50
81
  end
51
82
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: direct-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ingenico ePayments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-05 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -211,11 +211,14 @@ files:
211
211
  - lib/ingenico/direct/sdk/domain/g_pay_three_d_secure.rb
212
212
  - lib/ingenico/direct/sdk/domain/get_hosted_checkout_response.rb
213
213
  - lib/ingenico/direct/sdk/domain/get_hosted_tokenization_response.rb
214
+ - lib/ingenico/direct/sdk/domain/get_iin_details_request.rb
215
+ - lib/ingenico/direct/sdk/domain/get_iin_details_response.rb
214
216
  - lib/ingenico/direct/sdk/domain/get_payment_product_groups_response.rb
215
217
  - lib/ingenico/direct/sdk/domain/get_payment_products_response.rb
216
218
  - lib/ingenico/direct/sdk/domain/gift_card_purchase.rb
217
219
  - lib/ingenico/direct/sdk/domain/hosted_checkout_specific_input.rb
218
220
  - lib/ingenico/direct/sdk/domain/hosted_checkout_specific_output.rb
221
+ - lib/ingenico/direct/sdk/domain/iin_detail.rb
219
222
  - lib/ingenico/direct/sdk/domain/label_template_element.rb
220
223
  - lib/ingenico/direct/sdk/domain/length_validator.rb
221
224
  - lib/ingenico/direct/sdk/domain/line_item.rb
@@ -223,6 +226,7 @@ files:
223
226
  - lib/ingenico/direct/sdk/domain/loan_recipient.rb
224
227
  - lib/ingenico/direct/sdk/domain/merchant_action.rb
225
228
  - lib/ingenico/direct/sdk/domain/mobile_payment_data.rb
229
+ - lib/ingenico/direct/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.rb
226
230
  - lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_input.rb
227
231
  - lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_output.rb
228
232
  - lib/ingenico/direct/sdk/domain/mobile_payment_product320_specific_input.rb
@@ -232,10 +236,15 @@ files:
232
236
  - lib/ingenico/direct/sdk/domain/order_status_output.rb
233
237
  - lib/ingenico/direct/sdk/domain/order_type_information.rb
234
238
  - lib/ingenico/direct/sdk/domain/payment_account_on_file.rb
239
+ - lib/ingenico/direct/sdk/domain/payment_context.rb
235
240
  - lib/ingenico/direct/sdk/domain/payment_creation_output.rb
236
241
  - lib/ingenico/direct/sdk/domain/payment_error_response.rb
237
242
  - lib/ingenico/direct/sdk/domain/payment_output.rb
238
243
  - lib/ingenico/direct/sdk/domain/payment_product.rb
244
+ - lib/ingenico/direct/sdk/domain/payment_product130_specific_input.rb
245
+ - lib/ingenico/direct/sdk/domain/payment_product130_specific_three_d_secure.rb
246
+ - lib/ingenico/direct/sdk/domain/payment_product302_specific_data.rb
247
+ - lib/ingenico/direct/sdk/domain/payment_product320_specific_data.rb
239
248
  - lib/ingenico/direct/sdk/domain/payment_product5100_specific_input.rb
240
249
  - lib/ingenico/direct/sdk/domain/payment_product5402_specific_output.rb
241
250
  - lib/ingenico/direct/sdk/domain/payment_product5500_specific_output.rb