splitit-apimatic-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +154 -0
  4. data/bin/console +15 -0
  5. data/lib/splitit_web_api_v4/api_helper.rb +10 -0
  6. data/lib/splitit_web_api_v4/client.rb +83 -0
  7. data/lib/splitit_web_api_v4/configuration.rb +188 -0
  8. data/lib/splitit_web_api_v4/controllers/base_controller.rb +60 -0
  9. data/lib/splitit_web_api_v4/controllers/installment_plan_controller.rb +242 -0
  10. data/lib/splitit_web_api_v4/controllers/o_auth_authorization_controller.rb +42 -0
  11. data/lib/splitit_web_api_v4/exceptions/api_error_response_exception.rb +51 -0
  12. data/lib/splitit_web_api_v4/exceptions/api_exception.rb +21 -0
  13. data/lib/splitit_web_api_v4/exceptions/o_auth_provider_exception.rb +64 -0
  14. data/lib/splitit_web_api_v4/http/auth/api_key.rb +52 -0
  15. data/lib/splitit_web_api_v4/http/auth/o_auth2.rb +156 -0
  16. data/lib/splitit_web_api_v4/http/http_call_back.rb +10 -0
  17. data/lib/splitit_web_api_v4/http/http_method_enum.rb +10 -0
  18. data/lib/splitit_web_api_v4/http/http_request.rb +10 -0
  19. data/lib/splitit_web_api_v4/http/http_response.rb +10 -0
  20. data/lib/splitit_web_api_v4/http/proxy_settings.rb +22 -0
  21. data/lib/splitit_web_api_v4/models/amount_data.rb +70 -0
  22. data/lib/splitit_web_api_v4/models/api_error_model.rb +93 -0
  23. data/lib/splitit_web_api_v4/models/apr_data.rb +70 -0
  24. data/lib/splitit_web_api_v4/models/authorization_status_enum.rb +40 -0
  25. data/lib/splitit_web_api_v4/models/authorize_authorization_data.rb +154 -0
  26. data/lib/splitit_web_api_v4/models/authorize_request.rb +115 -0
  27. data/lib/splitit_web_api_v4/models/authorize_response.rb +221 -0
  28. data/lib/splitit_web_api_v4/models/base_model.rb +110 -0
  29. data/lib/splitit_web_api_v4/models/billing_address_data.rb +111 -0
  30. data/lib/splitit_web_api_v4/models/card_details.rb +108 -0
  31. data/lib/splitit_web_api_v4/models/card_validity_request.rb +62 -0
  32. data/lib/splitit_web_api_v4/models/card_validity_response.rb +80 -0
  33. data/lib/splitit_web_api_v4/models/checkout_url_data.rb +80 -0
  34. data/lib/splitit_web_api_v4/models/content_segment.rb +90 -0
  35. data/lib/splitit_web_api_v4/models/external_provider_types_enum.rb +48 -0
  36. data/lib/splitit_web_api_v4/models/inline_content.rb +71 -0
  37. data/lib/splitit_web_api_v4/models/installment_item.rb +101 -0
  38. data/lib/splitit_web_api_v4/models/installment_plan_details_response.rb +280 -0
  39. data/lib/splitit_web_api_v4/models/installment_plan_search_details_response.rb +71 -0
  40. data/lib/splitit_web_api_v4/models/installment_plan_search_request.rb +79 -0
  41. data/lib/splitit_web_api_v4/models/installment_plan_status_enum.rb +72 -0
  42. data/lib/splitit_web_api_v4/models/installment_status_enum.rb +60 -0
  43. data/lib/splitit_web_api_v4/models/masked_card_details.rb +82 -0
  44. data/lib/splitit_web_api_v4/models/metadata_item.rb +71 -0
  45. data/lib/splitit_web_api_v4/models/o_auth_provider_error_enum.rb +62 -0
  46. data/lib/splitit_web_api_v4/models/o_auth_scope_o_auth2_enum.rb +26 -0
  47. data/lib/splitit_web_api_v4/models/o_auth_token.rb +96 -0
  48. data/lib/splitit_web_api_v4/models/offer_item.rb +164 -0
  49. data/lib/splitit_web_api_v4/models/offers_billing_address.rb +108 -0
  50. data/lib/splitit_web_api_v4/models/offers_card_details.rb +108 -0
  51. data/lib/splitit_web_api_v4/models/offers_merchant_details.rb +82 -0
  52. data/lib/splitit_web_api_v4/models/offers_payment_method.rb +66 -0
  53. data/lib/splitit_web_api_v4/models/offers_payment_method_response.rb +88 -0
  54. data/lib/splitit_web_api_v4/models/offers_request.rb +145 -0
  55. data/lib/splitit_web_api_v4/models/offers_response.rb +156 -0
  56. data/lib/splitit_web_api_v4/models/offers_shopper_details.rb +112 -0
  57. data/lib/splitit_web_api_v4/models/offers_store_location.rb +108 -0
  58. data/lib/splitit_web_api_v4/models/payment_link_request.rb +195 -0
  59. data/lib/splitit_web_api_v4/models/payment_link_response.rb +107 -0
  60. data/lib/splitit_web_api_v4/models/payment_method.rb +66 -0
  61. data/lib/splitit_web_api_v4/models/payment_method_data.rb +78 -0
  62. data/lib/splitit_web_api_v4/models/payment_method_type_enum.rb +26 -0
  63. data/lib/splitit_web_api_v4/models/pis_error_codes_enum.rb +1021 -0
  64. data/lib/splitit_web_api_v4/models/plan_authorization_data.rb +172 -0
  65. data/lib/splitit_web_api_v4/models/plan_links_data.rb +91 -0
  66. data/lib/splitit_web_api_v4/models/plan_status_enum.rb +48 -0
  67. data/lib/splitit_web_api_v4/models/processing_data.rb +63 -0
  68. data/lib/splitit_web_api_v4/models/purchase_method_enum.rb +52 -0
  69. data/lib/splitit_web_api_v4/models/redirect_urls.rb +81 -0
  70. data/lib/splitit_web_api_v4/models/refund_item.rb +136 -0
  71. data/lib/splitit_web_api_v4/models/refund_request.rb +70 -0
  72. data/lib/splitit_web_api_v4/models/refund_response.rb +105 -0
  73. data/lib/splitit_web_api_v4/models/shipping_status_enum.rb +40 -0
  74. data/lib/splitit_web_api_v4/models/shopper_details_data.rb +113 -0
  75. data/lib/splitit_web_api_v4/models/three_ds_authentication_data.rb +90 -0
  76. data/lib/splitit_web_api_v4/models/three_ds_execute.rb +62 -0
  77. data/lib/splitit_web_api_v4/models/three_ds_redirect_data.rb +93 -0
  78. data/lib/splitit_web_api_v4/models/three_ds_request_data.rb +84 -0
  79. data/lib/splitit_web_api_v4/models/update_offers_payment_method.rb +66 -0
  80. data/lib/splitit_web_api_v4/models/update_offers_request.rb +105 -0
  81. data/lib/splitit_web_api_v4/models/update_order_request.rb +104 -0
  82. data/lib/splitit_web_api_v4/models/update_order_response.rb +126 -0
  83. data/lib/splitit_web_api_v4/models/validation_error.rb +71 -0
  84. data/lib/splitit_web_api_v4/utilities/date_time_helper.rb +11 -0
  85. data/lib/splitit_web_api_v4/utilities/file_wrapper.rb +28 -0
  86. data/lib/splitit_web_api_v4.rb +108 -0
  87. metadata +170 -0
@@ -0,0 +1,70 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # RefundRequest Model.
8
+ class RefundRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :amount
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :reference_id
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['amount'] = 'Amount'
24
+ @_hash['reference_id'] = 'ReferenceId'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ reference_id
32
+ ]
33
+ end
34
+
35
+ # An array for nullable fields
36
+ def self.nullables
37
+ []
38
+ end
39
+
40
+ def initialize(amount = nil, reference_id = SKIP)
41
+ @amount = amount
42
+ @reference_id = reference_id unless reference_id == SKIP
43
+ end
44
+
45
+ # Creates an instance of the object from a hash.
46
+ def self.from_hash(hash)
47
+ return nil unless hash
48
+
49
+ # Extract variables from the hash.
50
+ amount = hash.key?('Amount') ? hash['Amount'] : nil
51
+ reference_id = hash.key?('ReferenceId') ? hash['ReferenceId'] : SKIP
52
+
53
+ # Create object from extracted values.
54
+ RefundRequest.new(amount,
55
+ reference_id)
56
+ end
57
+
58
+ # Provides a human-readable string representation of the object.
59
+ def to_s
60
+ class_name = self.class.name.split('::').last
61
+ "<#{class_name} amount: #{@amount}, reference_id: #{@reference_id}>"
62
+ end
63
+
64
+ # Provides a debugging-friendly string with detailed object information.
65
+ def inspect
66
+ class_name = self.class.name.split('::').last
67
+ "<#{class_name} amount: #{@amount.inspect}, reference_id: #{@reference_id.inspect}>"
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,105 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # RefundResponse Model.
8
+ class RefundResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :refund_id
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :installment_plan_number
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :currency
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [Float]
26
+ attr_accessor :requested_amount
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :reference_id
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['refund_id'] = 'RefundId'
36
+ @_hash['installment_plan_number'] = 'InstallmentPlanNumber'
37
+ @_hash['currency'] = 'Currency'
38
+ @_hash['requested_amount'] = 'RequestedAmount'
39
+ @_hash['reference_id'] = 'ReferenceId'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ refund_id
47
+ installment_plan_number
48
+ currency
49
+ reference_id
50
+ ]
51
+ end
52
+
53
+ # An array for nullable fields
54
+ def self.nullables
55
+ []
56
+ end
57
+
58
+ def initialize(requested_amount = nil, refund_id = SKIP,
59
+ installment_plan_number = SKIP, currency = SKIP,
60
+ reference_id = SKIP)
61
+ @refund_id = refund_id unless refund_id == SKIP
62
+ @installment_plan_number = installment_plan_number unless installment_plan_number == SKIP
63
+ @currency = currency unless currency == SKIP
64
+ @requested_amount = requested_amount
65
+ @reference_id = reference_id unless reference_id == SKIP
66
+ end
67
+
68
+ # Creates an instance of the object from a hash.
69
+ def self.from_hash(hash)
70
+ return nil unless hash
71
+
72
+ # Extract variables from the hash.
73
+ requested_amount =
74
+ hash.key?('RequestedAmount') ? hash['RequestedAmount'] : nil
75
+ refund_id = hash.key?('RefundId') ? hash['RefundId'] : SKIP
76
+ installment_plan_number =
77
+ hash.key?('InstallmentPlanNumber') ? hash['InstallmentPlanNumber'] : SKIP
78
+ currency = hash.key?('Currency') ? hash['Currency'] : SKIP
79
+ reference_id = hash.key?('ReferenceId') ? hash['ReferenceId'] : SKIP
80
+
81
+ # Create object from extracted values.
82
+ RefundResponse.new(requested_amount,
83
+ refund_id,
84
+ installment_plan_number,
85
+ currency,
86
+ reference_id)
87
+ end
88
+
89
+ # Provides a human-readable string representation of the object.
90
+ def to_s
91
+ class_name = self.class.name.split('::').last
92
+ "<#{class_name} refund_id: #{@refund_id}, installment_plan_number:"\
93
+ " #{@installment_plan_number}, currency: #{@currency}, requested_amount:"\
94
+ " #{@requested_amount}, reference_id: #{@reference_id}>"
95
+ end
96
+
97
+ # Provides a debugging-friendly string with detailed object information.
98
+ def inspect
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} refund_id: #{@refund_id.inspect}, installment_plan_number:"\
101
+ " #{@installment_plan_number.inspect}, currency: #{@currency.inspect}, requested_amount:"\
102
+ " #{@requested_amount.inspect}, reference_id: #{@reference_id.inspect}>"
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,40 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ShippingStatus.
8
+ class ShippingStatusEnum
9
+ SHIPPING_STATUS_ENUM = [
10
+ # TODO: Write general description for PENDING
11
+ PENDING = 'Pending'.freeze,
12
+
13
+ # TODO: Write general description for SHIPPED
14
+ SHIPPED = 'Shipped'.freeze,
15
+
16
+ # TODO: Write general description for DELIVERED
17
+ DELIVERED = 'Delivered'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ SHIPPING_STATUS_ENUM.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = PENDING)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'pending' then PENDING
33
+ when 'shipped' then SHIPPED
34
+ when 'delivered' then DELIVERED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,113 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ShopperDetailsData Model.
8
+ class ShopperDetailsData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :first_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :last_name
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :email
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :phone_number
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :culture
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [BillingAddressData]
34
+ attr_accessor :billing_address
35
+
36
+ # A mapping from model property names to API property names.
37
+ def self.names
38
+ @_hash = {} if @_hash.nil?
39
+ @_hash['first_name'] = 'FirstName'
40
+ @_hash['last_name'] = 'LastName'
41
+ @_hash['email'] = 'Email'
42
+ @_hash['phone_number'] = 'PhoneNumber'
43
+ @_hash['culture'] = 'Culture'
44
+ @_hash['billing_address'] = 'BillingAddress'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ first_name
52
+ last_name
53
+ email
54
+ phone_number
55
+ culture
56
+ billing_address
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(first_name = SKIP, last_name = SKIP, email = SKIP,
66
+ phone_number = SKIP, culture = SKIP, billing_address = SKIP)
67
+ @first_name = first_name unless first_name == SKIP
68
+ @last_name = last_name unless last_name == SKIP
69
+ @email = email unless email == SKIP
70
+ @phone_number = phone_number unless phone_number == SKIP
71
+ @culture = culture unless culture == SKIP
72
+ @billing_address = billing_address unless billing_address == SKIP
73
+ end
74
+
75
+ # Creates an instance of the object from a hash.
76
+ def self.from_hash(hash)
77
+ return nil unless hash
78
+
79
+ # Extract variables from the hash.
80
+ first_name = hash.key?('FirstName') ? hash['FirstName'] : SKIP
81
+ last_name = hash.key?('LastName') ? hash['LastName'] : SKIP
82
+ email = hash.key?('Email') ? hash['Email'] : SKIP
83
+ phone_number = hash.key?('PhoneNumber') ? hash['PhoneNumber'] : SKIP
84
+ culture = hash.key?('Culture') ? hash['Culture'] : SKIP
85
+ billing_address = BillingAddressData.from_hash(hash['BillingAddress']) if
86
+ hash['BillingAddress']
87
+
88
+ # Create object from extracted values.
89
+ ShopperDetailsData.new(first_name,
90
+ last_name,
91
+ email,
92
+ phone_number,
93
+ culture,
94
+ billing_address)
95
+ end
96
+
97
+ # Provides a human-readable string representation of the object.
98
+ def to_s
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} first_name: #{@first_name}, last_name: #{@last_name}, email: #{@email},"\
101
+ " phone_number: #{@phone_number}, culture: #{@culture}, billing_address:"\
102
+ " #{@billing_address}>"
103
+ end
104
+
105
+ # Provides a debugging-friendly string with detailed object information.
106
+ def inspect
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} first_name: #{@first_name.inspect}, last_name: #{@last_name.inspect},"\
109
+ " email: #{@email.inspect}, phone_number: #{@phone_number.inspect}, culture:"\
110
+ " #{@culture.inspect}, billing_address: #{@billing_address.inspect}>"
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,90 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ThreeDSAuthenticationData Model.
8
+ class ThreeDSAuthenticationData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :eci
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :cavv
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :directory_server_transaction_id
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :version
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['eci'] = 'ECI'
32
+ @_hash['cavv'] = 'CAVV'
33
+ @_hash['directory_server_transaction_id'] =
34
+ 'DirectoryServerTransactionId'
35
+ @_hash['version'] = 'Version'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ []
42
+ end
43
+
44
+ # An array for nullable fields
45
+ def self.nullables
46
+ []
47
+ end
48
+
49
+ def initialize(eci = nil, cavv = nil, directory_server_transaction_id = nil,
50
+ version = nil)
51
+ @eci = eci
52
+ @cavv = cavv
53
+ @directory_server_transaction_id = directory_server_transaction_id
54
+ @version = version
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ eci = hash.key?('ECI') ? hash['ECI'] : nil
63
+ cavv = hash.key?('CAVV') ? hash['CAVV'] : nil
64
+ directory_server_transaction_id =
65
+ hash.key?('DirectoryServerTransactionId') ? hash['DirectoryServerTransactionId'] : nil
66
+ version = hash.key?('Version') ? hash['Version'] : nil
67
+
68
+ # Create object from extracted values.
69
+ ThreeDSAuthenticationData.new(eci,
70
+ cavv,
71
+ directory_server_transaction_id,
72
+ version)
73
+ end
74
+
75
+ # Provides a human-readable string representation of the object.
76
+ def to_s
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} eci: #{@eci}, cavv: #{@cavv}, directory_server_transaction_id:"\
79
+ " #{@directory_server_transaction_id}, version: #{@version}>"
80
+ end
81
+
82
+ # Provides a debugging-friendly string with detailed object information.
83
+ def inspect
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} eci: #{@eci.inspect}, cavv: #{@cavv.inspect},"\
86
+ " directory_server_transaction_id: #{@directory_server_transaction_id.inspect}, version:"\
87
+ " #{@version.inspect}>"
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,62 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ThreeDSExecute Model.
8
+ class ThreeDSExecute < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :execute
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['execute'] = 'Execute'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ execute
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(execute = SKIP)
36
+ @execute = execute unless execute == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ execute = hash.key?('Execute') ? hash['Execute'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ ThreeDSExecute.new(execute)
48
+ end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} execute: #{@execute}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} execute: #{@execute.inspect}>"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,93 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ThreeDSRedirectData Model.
8
+ class ThreeDSRedirectData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :url
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :verb
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Hash[String, String]]
22
+ attr_accessor :params
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :client_redirect_url
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['url'] = 'Url'
32
+ @_hash['verb'] = 'Verb'
33
+ @_hash['params'] = 'Params'
34
+ @_hash['client_redirect_url'] = 'ClientRedirectUrl'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ url
42
+ verb
43
+ params
44
+ client_redirect_url
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(url = SKIP, verb = SKIP, params = SKIP,
54
+ client_redirect_url = SKIP)
55
+ @url = url unless url == SKIP
56
+ @verb = verb unless verb == SKIP
57
+ @params = params unless params == SKIP
58
+ @client_redirect_url = client_redirect_url unless client_redirect_url == SKIP
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ url = hash.key?('Url') ? hash['Url'] : SKIP
67
+ verb = hash.key?('Verb') ? hash['Verb'] : SKIP
68
+ params = hash.key?('Params') ? hash['Params'] : SKIP
69
+ client_redirect_url =
70
+ hash.key?('ClientRedirectUrl') ? hash['ClientRedirectUrl'] : SKIP
71
+
72
+ # Create object from extracted values.
73
+ ThreeDSRedirectData.new(url,
74
+ verb,
75
+ params,
76
+ client_redirect_url)
77
+ end
78
+
79
+ # Provides a human-readable string representation of the object.
80
+ def to_s
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} url: #{@url}, verb: #{@verb}, params: #{@params}, client_redirect_url:"\
83
+ " #{@client_redirect_url}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} url: #{@url.inspect}, verb: #{@verb.inspect}, params: #{@params.inspect},"\
90
+ " client_redirect_url: #{@client_redirect_url.inspect}>"
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,84 @@
1
+ # splitit_web_api_v4
2
+ #
3
+ # This file was automatically generated by APIMATIC
4
+ # v3.0 ( https://www.apimatic.io ).
5
+
6
+ module SplititWebApiV4
7
+ # ThreeDSRequestData Model.
8
+ class ThreeDSRequestData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :execute
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [RedirectUrls]
18
+ attr_accessor :three_dsur_ls
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [ThreeDSAuthenticationData]
22
+ attr_accessor :authentication_data
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['execute'] = 'Execute'
28
+ @_hash['three_dsur_ls'] = 'ThreeDSURLs'
29
+ @_hash['authentication_data'] = 'AuthenticationData'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ execute
37
+ three_dsur_ls
38
+ authentication_data
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(execute = SKIP, three_dsur_ls = SKIP,
48
+ authentication_data = SKIP)
49
+ @execute = execute unless execute == SKIP
50
+ @three_dsur_ls = three_dsur_ls unless three_dsur_ls == SKIP
51
+ @authentication_data = authentication_data unless authentication_data == SKIP
52
+ end
53
+
54
+ # Creates an instance of the object from a hash.
55
+ def self.from_hash(hash)
56
+ return nil unless hash
57
+
58
+ # Extract variables from the hash.
59
+ execute = hash.key?('Execute') ? hash['Execute'] : SKIP
60
+ three_dsur_ls = RedirectUrls.from_hash(hash['ThreeDSURLs']) if hash['ThreeDSURLs']
61
+ authentication_data = ThreeDSAuthenticationData.from_hash(hash['AuthenticationData']) if
62
+ hash['AuthenticationData']
63
+
64
+ # Create object from extracted values.
65
+ ThreeDSRequestData.new(execute,
66
+ three_dsur_ls,
67
+ authentication_data)
68
+ end
69
+
70
+ # Provides a human-readable string representation of the object.
71
+ def to_s
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} execute: #{@execute}, three_dsur_ls: #{@three_dsur_ls},"\
74
+ " authentication_data: #{@authentication_data}>"
75
+ end
76
+
77
+ # Provides a debugging-friendly string with detailed object information.
78
+ def inspect
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} execute: #{@execute.inspect}, three_dsur_ls: #{@three_dsur_ls.inspect},"\
81
+ " authentication_data: #{@authentication_data.inspect}>"
82
+ end
83
+ end
84
+ end