pcp-server-ruby-sdk 1.12.0 → 1.13.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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/api-definition.yaml +323 -41
  5. data/lib/PCP-server-Ruby-SDK/endpoints/payment_intent_api_client.rb +37 -0
  6. data/lib/PCP-server-Ruby-SDK/models/address.rb +9 -237
  7. data/lib/PCP-server-Ruby-SDK/models/address_personal.rb +10 -246
  8. data/lib/PCP-server-Ruby-SDK/models/amount_of_money.rb +4 -195
  9. data/lib/PCP-server-Ruby-SDK/models/api_error.rb +27 -232
  10. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_header_information.rb +6 -194
  11. data/lib/PCP-server-Ruby-SDK/models/apple_payment_data_token_information.rb +8 -229
  12. data/lib/PCP-server-Ruby-SDK/models/bank_account_information.rb +11 -207
  13. data/lib/PCP-server-Ruby-SDK/models/bank_payout_method_specific_input.rb +4 -187
  14. data/lib/PCP-server-Ruby-SDK/models/cancel_item.rb +6 -195
  15. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_request.rb +6 -222
  16. data/lib/PCP-server-Ruby-SDK/models/cancel_payment_response.rb +4 -190
  17. data/lib/PCP-server-Ruby-SDK/models/cancel_request.rb +6 -224
  18. data/lib/PCP-server-Ruby-SDK/models/cancel_response.rb +4 -190
  19. data/lib/PCP-server-Ruby-SDK/models/capture_output.rb +9 -214
  20. data/lib/PCP-server-Ruby-SDK/models/capture_payment_request.rb +14 -253
  21. data/lib/PCP-server-Ruby-SDK/models/capture_payment_response.rb +7 -239
  22. data/lib/PCP-server-Ruby-SDK/models/card_fraud_results.rb +29 -184
  23. data/lib/PCP-server-Ruby-SDK/models/card_info.rb +3 -182
  24. data/lib/PCP-server-Ruby-SDK/models/card_payment_details.rb +8 -210
  25. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_input.rb +32 -307
  26. data/lib/PCP-server-Ruby-SDK/models/card_payment_method_specific_output.rb +6 -210
  27. data/lib/PCP-server-Ruby-SDK/models/card_recurrence_details.rb +12 -186
  28. data/lib/PCP-server-Ruby-SDK/models/cart_item_data.rb +10 -0
  29. data/lib/PCP-server-Ruby-SDK/models/cart_item_input.rb +5 -198
  30. data/lib/PCP-server-Ruby-SDK/models/cart_item_invoice_data.rb +5 -184
  31. data/lib/PCP-server-Ruby-SDK/models/cart_item_order_status.rb +4 -213
  32. data/lib/PCP-server-Ruby-SDK/models/cart_item_patch.rb +5 -200
  33. data/lib/PCP-server-Ruby-SDK/models/cart_item_result.rb +5 -200
  34. data/lib/PCP-server-Ruby-SDK/models/cart_item_supplier_references.rb +6 -195
  35. data/lib/PCP-server-Ruby-SDK/models/checkout_references.rb +4 -192
  36. data/lib/PCP-server-Ruby-SDK/models/checkout_response.rb +15 -319
  37. data/lib/PCP-server-Ruby-SDK/models/checkouts_response.rb +4 -193
  38. data/lib/PCP-server-Ruby-SDK/models/company_information.rb +3 -182
  39. data/lib/PCP-server-Ruby-SDK/models/complete_financing_payment_method_specific_input.rb +12 -202
  40. data/lib/PCP-server-Ruby-SDK/models/complete_order_request.rb +3 -181
  41. data/lib/PCP-server-Ruby-SDK/models/complete_payment_method_specific_input.rb +4 -191
  42. data/lib/PCP-server-Ruby-SDK/models/complete_payment_product840_specific_input.rb +7 -226
  43. data/lib/PCP-server-Ruby-SDK/models/complete_payment_request.rb +6 -209
  44. data/lib/PCP-server-Ruby-SDK/models/complete_payment_response.rb +5 -199
  45. data/lib/PCP-server-Ruby-SDK/models/complete_redirect_payment_method_specific_input.rb +4 -192
  46. data/lib/PCP-server-Ruby-SDK/models/contact_details.rb +4 -191
  47. data/lib/PCP-server-Ruby-SDK/models/create_checkout_request.rb +13 -240
  48. data/lib/PCP-server-Ruby-SDK/models/create_checkout_response.rb +16 -307
  49. data/lib/PCP-server-Ruby-SDK/models/create_commerce_case_response.rb +7 -219
  50. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent.rb +11 -0
  51. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_request.rb +13 -0
  52. data/lib/PCP-server-Ruby-SDK/models/create_payment_intent_response.rb +10 -0
  53. data/lib/PCP-server-Ruby-SDK/models/create_payment_response.rb +7 -218
  54. data/lib/PCP-server-Ruby-SDK/models/customer.rb +28 -260
  55. data/lib/PCP-server-Ruby-SDK/models/customer_account.rb +10 -44
  56. data/lib/PCP-server-Ruby-SDK/models/customer_device.rb +8 -209
  57. data/lib/PCP-server-Ruby-SDK/models/deliver_item.rb +6 -195
  58. data/lib/PCP-server-Ruby-SDK/models/deliver_request.rb +10 -246
  59. data/lib/PCP-server-Ruby-SDK/models/deliver_response.rb +4 -191
  60. data/lib/PCP-server-Ruby-SDK/models/delivery_information.rb +3 -185
  61. data/lib/PCP-server-Ruby-SDK/models/error_response.rb +4 -193
  62. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_input.rb +15 -203
  63. data/lib/PCP-server-Ruby-SDK/models/financing_payment_method_specific_output.rb +10 -196
  64. data/lib/PCP-server-Ruby-SDK/models/fund_distribution.rb +12 -263
  65. data/lib/PCP-server-Ruby-SDK/models/fund_split.rb +5 -205
  66. data/lib/PCP-server-Ruby-SDK/models/fund_split_request.rb +3 -147
  67. data/lib/PCP-server-Ruby-SDK/models/fund_split_response.rb +10 -174
  68. data/lib/PCP-server-Ruby-SDK/models/installment_option.rb +13 -273
  69. data/lib/PCP-server-Ruby-SDK/models/link_information.rb +4 -196
  70. data/lib/PCP-server-Ruby-SDK/models/merchant_action.rb +16 -194
  71. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_input.rb +13 -246
  72. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_method_specific_output.rb +7 -219
  73. data/lib/PCP-server-Ruby-SDK/models/mobile_payment_three_dsecure.rb +3 -179
  74. data/lib/PCP-server-Ruby-SDK/models/model_base.rb +147 -0
  75. data/lib/PCP-server-Ruby-SDK/models/order.rb +7 -221
  76. data/lib/PCP-server-Ruby-SDK/models/order_item.rb +6 -197
  77. data/lib/PCP-server-Ruby-SDK/models/order_line_details_input.rb +29 -305
  78. data/lib/PCP-server-Ruby-SDK/models/order_line_details_patch.rb +5 -326
  79. data/lib/PCP-server-Ruby-SDK/models/order_line_details_result.rb +5 -326
  80. data/lib/PCP-server-Ruby-SDK/models/order_request.rb +7 -244
  81. data/lib/PCP-server-Ruby-SDK/models/order_response.rb +4 -192
  82. data/lib/PCP-server-Ruby-SDK/models/patch_checkout_request.rb +8 -228
  83. data/lib/PCP-server-Ruby-SDK/models/patch_commerce_case_request.rb +3 -183
  84. data/lib/PCP-server-Ruby-SDK/models/pause_payment_request.rb +2 -165
  85. data/lib/PCP-server-Ruby-SDK/models/pause_payment_response.rb +3 -186
  86. data/lib/PCP-server-Ruby-SDK/models/payee.rb +6 -204
  87. data/lib/PCP-server-Ruby-SDK/models/payment_creation_output.rb +3 -183
  88. data/lib/PCP-server-Ruby-SDK/models/payment_event.rb +19 -274
  89. data/lib/PCP-server-Ruby-SDK/models/payment_execution.rb +29 -335
  90. data/lib/PCP-server-Ruby-SDK/models/payment_execution_request.rb +4 -191
  91. data/lib/PCP-server-Ruby-SDK/models/payment_execution_specific_input.rb +6 -212
  92. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_request.rb +7 -205
  93. data/lib/PCP-server-Ruby-SDK/models/payment_information_refund_response.rb +5 -196
  94. data/lib/PCP-server-Ruby-SDK/models/payment_information_request.rb +10 -249
  95. data/lib/PCP-server-Ruby-SDK/models/payment_information_response.rb +30 -314
  96. data/lib/PCP-server-Ruby-SDK/models/payment_instructions.rb +8 -214
  97. data/lib/PCP-server-Ruby-SDK/models/payment_intent_output.rb +13 -0
  98. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response.rb +13 -0
  99. data/lib/PCP-server-Ruby-SDK/models/payment_intent_response_data.rb +12 -0
  100. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input.rb +9 -261
  101. data/lib/PCP-server-Ruby-SDK/models/payment_method_specific_input_for_intent.rb +9 -0
  102. data/lib/PCP-server-Ruby-SDK/models/payment_output.rb +11 -255
  103. data/lib/PCP-server-Ruby-SDK/models/payment_product302_specific_input.rb +11 -225
  104. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_input.rb +6 -197
  105. data/lib/PCP-server-Ruby-SDK/models/payment_product3391_specific_output.rb +3 -185
  106. data/lib/PCP-server-Ruby-SDK/models/payment_product3392_specific_input.rb +3 -185
  107. data/lib/PCP-server-Ruby-SDK/models/payment_product5002_specific_input.rb +7 -203
  108. data/lib/PCP-server-Ruby-SDK/models/payment_product771_specific_output.rb +3 -183
  109. data/lib/PCP-server-Ruby-SDK/models/payment_product840_customer_account.rb +6 -210
  110. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output.rb +5 -209
  111. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output_data.rb +11 -0
  112. data/lib/PCP-server-Ruby-SDK/models/payment_product840_specific_output_for_intent.rb +13 -0
  113. data/lib/PCP-server-Ruby-SDK/models/payment_references.rb +6 -184
  114. data/lib/PCP-server-Ruby-SDK/models/payment_references_for_refund.rb +12 -197
  115. data/lib/PCP-server-Ruby-SDK/models/payment_response.rb +6 -234
  116. data/lib/PCP-server-Ruby-SDK/models/payment_status_output.rb +6 -234
  117. data/lib/PCP-server-Ruby-SDK/models/payout_output.rb +5 -205
  118. data/lib/PCP-server-Ruby-SDK/models/payout_response.rb +6 -215
  119. data/lib/PCP-server-Ruby-SDK/models/personal_information.rb +11 -227
  120. data/lib/PCP-server-Ruby-SDK/models/personal_name.rb +5 -201
  121. data/lib/PCP-server-Ruby-SDK/models/positive_amount_of_money.rb +4 -196
  122. data/lib/PCP-server-Ruby-SDK/models/processing_mandate_information.rb +9 -254
  123. data/lib/PCP-server-Ruby-SDK/models/redirect_data.rb +3 -183
  124. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input.rb +14 -249
  125. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_input_for_intent.rb +12 -0
  126. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output.rb +6 -211
  127. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_create_intent.rb +12 -0
  128. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_method_specific_output_for_intent.rb +10 -0
  129. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input.rb +6 -205
  130. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product840_specific_input_data.rb +10 -0
  131. data/lib/PCP-server-Ruby-SDK/models/redirect_payment_product900_specific_input.rb +12 -177
  132. data/lib/PCP-server-Ruby-SDK/models/redirection_data.rb +11 -186
  133. data/lib/PCP-server-Ruby-SDK/models/references.rb +47 -205
  134. data/lib/PCP-server-Ruby-SDK/models/refresh_payment_request.rb +3 -186
  135. data/lib/PCP-server-Ruby-SDK/models/refund_error_response.rb +4 -193
  136. data/lib/PCP-server-Ruby-SDK/models/refund_output.rb +8 -211
  137. data/lib/PCP-server-Ruby-SDK/models/refund_payment_response.rb +7 -242
  138. data/lib/PCP-server-Ruby-SDK/models/refund_request.rb +6 -210
  139. data/lib/PCP-server-Ruby-SDK/models/return_information.rb +4 -194
  140. data/lib/PCP-server-Ruby-SDK/models/return_item.rb +6 -196
  141. data/lib/PCP-server-Ruby-SDK/models/return_request.rb +6 -234
  142. data/lib/PCP-server-Ruby-SDK/models/return_response.rb +4 -191
  143. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_input.rb +4 -193
  144. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_method_specific_output.rb +4 -193
  145. data/lib/PCP-server-Ruby-SDK/models/sepa_direct_debit_payment_product771_specific_input.rb +4 -192
  146. data/lib/PCP-server-Ruby-SDK/models/sepa_transfer_payment_product_772_specific_input.rb +3 -186
  147. data/lib/PCP-server-Ruby-SDK/models/shipping.rb +3 -183
  148. data/lib/PCP-server-Ruby-SDK/models/shipping_address.rb +14 -0
  149. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_data.rb +9 -0
  150. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_input.rb +3 -185
  151. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_patch.rb +3 -185
  152. data/lib/PCP-server-Ruby-SDK/models/shopping_cart_result.rb +3 -185
  153. data/lib/PCP-server-Ruby-SDK/models/status_output.rb +21 -264
  154. data/lib/PCP-server-Ruby-SDK/models/three_d_secure_results.rb +6 -226
  155. data/lib/PCP-server-Ruby-SDK/version.rb +1 -1
  156. data/lib/PCP-server-Ruby-SDK.rb +18 -0
  157. data/package-lock.json +2 -2
  158. data/package.json +1 -1
  159. data/scripts/convert_models_to_model_base.rb +128 -0
  160. data/spec/endpoints/payment_intent_api_client_spec.rb +43 -0
  161. data/spec/models/api_definition_conformance_spec.rb +88 -0
  162. data/spec/models/model_base_spec.rb +87 -0
  163. data/spec/models/payment_intent_models_spec.rb +25 -0
  164. data/spec/models/required_field_validation_spec.rb +5 -5
  165. metadata +35 -11
  166. data/lib/PCP-server-Ruby-SDK/models/action_type.rb +0 -34
  167. data/lib/PCP-server-Ruby-SDK/models/avs_result.rb +0 -52
  168. data/lib/PCP-server-Ruby-SDK/models/business_relation.rb +0 -30
@@ -1,222 +1,16 @@
1
- require 'date'
2
- require 'time'
1
+ require_relative 'model_base'
3
2
 
4
- # Object containing information on payment instructions details (e.g. on the invoice payments)
5
3
  module PCPServerSDK
6
4
  module Models
7
- class PaymentInstructions
8
- # Payee details
9
- attr_accessor :payee
10
-
11
- # Due date of the payment. Format: YYYYMMDD
12
- attr_accessor :due_date
13
-
5
+ class PaymentInstructions < ModelBase
6
+ attribute :payee, :payee, :Payee
7
+ # Due date of the payment.
8
+ # Format: YYYYMMDD
9
+ attribute :due_date, :dueDate, :String
14
10
  # External payment reference number as part of payment instructions for the consumer
15
- attr_accessor :reference_number
16
-
11
+ attribute :reference_number, :referenceNumber, :String
17
12
  # Status, usually describing the status of the invoice if paid, overdue, open...
18
- attr_accessor :status
19
-
20
- class EnumAttributeValidator
21
- attr_reader :datatype
22
- attr_reader :allowable_values
23
-
24
- def initialize(datatype, allowable_values)
25
- @allowable_values = allowable_values.map do |value|
26
- case datatype.to_s
27
- when /Integer/i
28
- value.to_i
29
- when /Float/i
30
- value.to_f
31
- else
32
- value
33
- end
34
- end
35
- end
36
-
37
- def valid?(value)
38
- !value || allowable_values.include?(value)
39
- end
40
- end
41
-
42
- # Attribute mapping from ruby-style variable name to JSON key.
43
- def self.attribute_map
44
- {
45
- :'payee' => :'payee',
46
- :'due_date' => :'dueDate',
47
- :'reference_number' => :'referenceNumber',
48
- :'status' => :'status'
49
- }
50
- end
51
-
52
- # Returns all the JSON keys this model knows about
53
- def self.acceptable_attributes
54
- attribute_map.values
55
- end
56
-
57
- # Attribute type mapping.
58
- def self.openapi_types
59
- {
60
- :'payee' => :'Payee',
61
- :'due_date' => :'String',
62
- :'reference_number' => :'String',
63
- :'status' => :'String'
64
- }
65
- end
66
-
67
- # List of attributes with nullable: true
68
- def self.openapi_nullable
69
- Set.new([])
70
- end
71
-
72
- # Initializes the object
73
- # @param [Hash] attributes Model attributes in the form of hash
74
- def initialize(attributes = {})
75
- if (!attributes.is_a?(Hash))
76
- fail ArgumentError, "The input argument (attributes) must be a hash in `PaymentInstructions` initialize method"
77
- end
78
-
79
- attributes = attributes.each_with_object({}) { |(k, v), h|
80
- if (!self.class.attribute_map.key?(k.to_sym))
81
- fail ArgumentError, "`#{k}` is not a valid attribute in `PaymentInstructions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
- end
83
- h[k.to_sym] = v
84
- }
85
-
86
- if attributes.key?(:'payee')
87
- self.payee = attributes[:'payee']
88
- end
89
-
90
- if attributes.key?(:'due_date')
91
- self.due_date = attributes[:'due_date']
92
- end
93
-
94
- if attributes.key?(:'reference_number')
95
- self.reference_number = attributes[:'reference_number']
96
- end
97
-
98
- if attributes.key?(:'status')
99
- self.status = attributes[:'status']
100
- end
101
- end
102
-
103
- # Checks equality by comparing each attribute.
104
- def ==(o)
105
- return true if self.equal?(o)
106
- self.class == o.class &&
107
- payee == o.payee &&
108
- due_date == o.due_date &&
109
- reference_number == o.reference_number &&
110
- status == o.status
111
- end
112
-
113
- # @see the `==` method
114
- def eql?(o)
115
- self == o
116
- end
117
-
118
- # Calculates hash code according to all attributes.
119
- def hash
120
- [payee, due_date, reference_number, status].hash
121
- end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def self.build_from_hash(attributes)
127
- return nil unless attributes.is_a?(Hash)
128
- attributes = attributes.transform_keys(&:to_sym)
129
- transformed_hash = {}
130
- openapi_types.each_pair do |key, type|
131
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
132
- transformed_hash["#{key}"] = nil
133
- elsif type =~ /\AArray<(.*)>/i
134
- if attributes[attribute_map[key]].is_a?(Array)
135
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
136
- end
137
- elsif !attributes[attribute_map[key]].nil?
138
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
139
- end
140
- end
141
- new(transformed_hash)
142
- end
143
-
144
- # Deserializes the data based on type
145
- def self._deserialize(type, value)
146
- case type.to_sym
147
- when :Time
148
- Time.parse(value)
149
- when :Date
150
- Date.parse(value)
151
- when :String
152
- value.to_s
153
- when :Integer
154
- value.to_i
155
- when :Float
156
- value.to_f
157
- when :Boolean
158
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
- true
160
- else
161
- false
162
- end
163
- when :Object
164
- value
165
- when /\AArray<(?<inner_type>.+)>\z/
166
- inner_type = Regexp.last_match[:inner_type]
167
- value.map { |v| _deserialize(inner_type, v) }
168
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
- k_type = Regexp.last_match[:k_type]
170
- v_type = Regexp.last_match[:v_type]
171
- {}.tap do |hash|
172
- value.each do |k, v|
173
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
- end
175
- end
176
- else
177
- klass = PCPServerSDK::Models.const_get(type)
178
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
179
- end
180
- end
181
-
182
- # Returns the string representation of the object
183
- def to_s
184
- to_hash.to_s
185
- end
186
-
187
- # to_body is an alias to to_hash (backward compatibility)
188
- def to_body
189
- to_hash
190
- end
191
-
192
- # Returns the object in the form of hash
193
- def to_hash
194
- hash = {}
195
- self.class.attribute_map.each_pair do |attr, param|
196
- value = self.send(attr)
197
- if value.nil?
198
- is_nullable = self.class.openapi_nullable.include?(attr)
199
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
200
- end
201
- hash[param] = _to_hash(value)
202
- end
203
- hash
204
- end
205
-
206
- # Outputs non-array value in the form of hash
207
- def _to_hash(value)
208
- if value.is_a?(Array)
209
- value.compact.map { |v| _to_hash(v) }
210
- elsif value.is_a?(Hash)
211
- {}.tap do |hash|
212
- value.each { |k, v| hash[k] = _to_hash(v) }
213
- end
214
- elsif value.respond_to? :to_hash
215
- value.to_hash
216
- else
217
- value
218
- end
219
- end
13
+ attribute :status, :status, :String
220
14
  end
221
15
  end
222
16
  end
@@ -0,0 +1,13 @@
1
+ require_relative 'payment_intent_response_data'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class PaymentIntentOutput < PaymentIntentResponseData
6
+ attribute :redirect_payment_method_specific_output, :redirectPaymentMethodSpecificOutput, :RedirectPaymentMethodSpecificOutputForCreateIntent
7
+
8
+ def self.openapi_all_of
9
+ [:PaymentIntentResponseData]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'payment_intent_response_data'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class PaymentIntentResponse < PaymentIntentResponseData
6
+ attribute :redirect_payment_method_specific_output, :redirectPaymentMethodSpecificOutput, :RedirectPaymentMethodSpecificOutputForIntent
7
+
8
+ def self.openapi_all_of
9
+ [:PaymentIntentResponseData]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'model_base'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class PaymentIntentResponseData < ModelBase
6
+ attribute :amount_of_money, :amountOfMoney, :AmountOfMoney
7
+ attribute :references, :references, :PaymentReferences
8
+ attribute :payment_intent_id, :paymentIntentId, :String
9
+ attribute :payment_id, :paymentId, :String
10
+ end
11
+ end
12
+ end
@@ -1,267 +1,15 @@
1
+ require_relative 'model_base'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Input for the payment for a respective payment method. In case the paymentMethodSpecificInput has already been provided when creating the Commerce Case or Checkout, it will automatically be used for the Payment Execution. If a new input will be provided, the existing input will be updated.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class PaymentMethodSpecificInput
9
- attr_accessor :card_payment_method_specific_input
10
-
11
- attr_accessor :mobile_payment_method_specific_input
12
-
13
- attr_accessor :redirect_payment_method_specific_input
14
-
15
- attr_accessor :sepa_direct_debit_payment_method_specific_input
16
-
17
- attr_accessor :financing_payment_method_specific_input
18
-
19
- attr_accessor :customer_device
20
-
21
- attr_accessor :payment_channel
22
-
23
-
24
-
25
- class EnumAttributeValidator
26
- attr_reader :datatype
27
- attr_reader :allowable_values
28
-
29
- def initialize(datatype, allowable_values)
30
- @allowable_values = allowable_values.map do |value|
31
- case datatype.to_s
32
- when /Integer/i
33
- value.to_i
34
- when /Float/i
35
- value.to_f
36
- else
37
- value
38
- end
39
- end
40
- end
41
-
42
- def valid?(value)
43
- !value || allowable_values.include?(value)
44
- end
45
- end
46
-
47
- # Attribute mapping from ruby-style variable name to JSON key.
48
- def self.attribute_map
49
- {
50
- :'card_payment_method_specific_input' => :'cardPaymentMethodSpecificInput',
51
- :'mobile_payment_method_specific_input' => :'mobilePaymentMethodSpecificInput',
52
- :'redirect_payment_method_specific_input' => :'redirectPaymentMethodSpecificInput',
53
- :'sepa_direct_debit_payment_method_specific_input' => :'sepaDirectDebitPaymentMethodSpecificInput',
54
- :'financing_payment_method_specific_input' => :'financingPaymentMethodSpecificInput',
55
- :'customer_device' => :'customerDevice',
56
- :'payment_channel' => :'paymentChannel'
57
- }
58
- end
59
-
60
- # Returns all the JSON keys this model knows about
61
- def self.acceptable_attributes
62
- attribute_map.values
63
- end
64
-
65
- # Attribute type mapping.
66
- def self.openapi_types
67
- {
68
- :'card_payment_method_specific_input' => :'CardPaymentMethodSpecificInput',
69
- :'mobile_payment_method_specific_input' => :'MobilePaymentMethodSpecificInput',
70
- :'redirect_payment_method_specific_input' => :'RedirectPaymentMethodSpecificInput',
71
- :'sepa_direct_debit_payment_method_specific_input' => :'SepaDirectDebitPaymentMethodSpecificInput',
72
- :'financing_payment_method_specific_input' => :'FinancingPaymentMethodSpecificInput',
73
- :'customer_device' => :'CustomerDevice',
74
- :'payment_channel' => :'PaymentChannel'
75
- }
76
- end
77
-
78
- # List of attributes with nullable: true
79
- def self.openapi_nullable
80
- Set.new([
81
- ])
82
- end
83
-
84
- # Initializes the object
85
- # @param [Hash] attributes Model attributes in the form of hash
86
- def initialize(attributes = {})
87
- if (!attributes.is_a?(Hash))
88
- fail ArgumentError, "The input argument (attributes) must be a hash in `PaymentMethodSpecificInput` initialize method"
89
- end
90
-
91
- # check to see if the attribute exists and convert string to symbol for hash key
92
- attributes = attributes.each_with_object({}) { |(k, v), h|
93
- if (!self.class.attribute_map.key?(k.to_sym))
94
- fail ArgumentError, "`#{k}` is not a valid attribute in `PaymentMethodSpecificInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
95
- end
96
- h[k.to_sym] = v
97
- }
98
-
99
- if attributes.key?(:'card_payment_method_specific_input')
100
- self.card_payment_method_specific_input = attributes[:'card_payment_method_specific_input']
101
- end
102
-
103
- if attributes.key?(:'mobile_payment_method_specific_input')
104
- self.mobile_payment_method_specific_input = attributes[:'mobile_payment_method_specific_input']
105
- end
106
-
107
- if attributes.key?(:'redirect_payment_method_specific_input')
108
- self.redirect_payment_method_specific_input = attributes[:'redirect_payment_method_specific_input']
109
- end
110
-
111
- if attributes.key?(:'sepa_direct_debit_payment_method_specific_input')
112
- self.sepa_direct_debit_payment_method_specific_input = attributes[:'sepa_direct_debit_payment_method_specific_input']
113
- end
114
-
115
- if attributes.key?(:'financing_payment_method_specific_input')
116
- self.financing_payment_method_specific_input = attributes[:'financing_payment_method_specific_input']
117
- end
118
-
119
- if attributes.key?(:'customer_device')
120
- self.customer_device = attributes[:'customer_device']
121
- end
122
-
123
- if attributes.key?(:'payment_channel')
124
- self.payment_channel = attributes[:'payment_channel']
125
- end
126
- end
127
-
128
- # Checks equality by comparing each attribute.
129
- # @param [Object] Object to be compared
130
- def ==(o)
131
- return true if self.equal?(o)
132
- self.class == o.class &&
133
- card_payment_method_specific_input == o.card_payment_method_specific_input &&
134
- mobile_payment_method_specific_input == o.mobile_payment_method_specific_input &&
135
- redirect_payment_method_specific_input == o.redirect_payment_method_specific_input &&
136
- sepa_direct_debit_payment_method_specific_input == o.sepa_direct_debit_payment_method_specific_input &&
137
- financing_payment_method_specific_input == o.financing_payment_method_specific_input &&
138
- customer_device == o.customer_device &&
139
- payment_channel == o.payment_channel
140
- end
141
-
142
- # @see the `==` method
143
- # @param [Object] Object to be compared
144
- def eql?(o)
145
- self == o
146
- end
147
-
148
- # Calculates hash code according to all attributes.
149
- # @return [Integer] Hash code
150
- def hash
151
- [card_payment_method_specific_input, mobile_payment_method_specific_input, redirect_payment_method_specific_input, sepa_direct_debit_payment_method_specific_input, financing_payment_method_specific_input, customer_device, payment_channel].hash
152
- end
153
-
154
- # Builds the object from hash
155
- # @param [Hash] attributes Model attributes in the form of hash
156
- # @return [Object] Returns the model itself
157
- def self.build_from_hash(attributes)
158
- return nil unless attributes.is_a?(Hash)
159
- attributes = attributes.transform_keys(&:to_sym)
160
- transformed_hash = {}
161
- openapi_types.each_pair do |key, type|
162
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
163
- transformed_hash["#{key}"] = nil
164
- elsif type =~ /\AArray<(.*)>/i
165
- # check to ensure the input is an array given that the attribute
166
- # is documented as an array but the input is not
167
- if attributes[attribute_map[key]].is_a?(Array)
168
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
169
- end
170
- elsif !attributes[attribute_map[key]].nil?
171
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
172
- end
173
- end
174
- new(transformed_hash)
175
- end
176
-
177
- # Deserializes the data based on type
178
- # @param string type Data type
179
- # @param string value Value to be deserialized
180
- # @return [Object] Deserialized data
181
- def self._deserialize(type, value)
182
- case type.to_sym
183
- when :Time
184
- Time.parse(value)
185
- when :Date
186
- Date.parse(value)
187
- when :String
188
- value.to_s
189
- when :Integer
190
- value.to_i
191
- when :Float
192
- value.to_f
193
- when :Boolean
194
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
195
- true
196
- else
197
- false
198
- end
199
- when :Object
200
- # generic object (usually a Hash), return directly
201
- value
202
- when /\AArray<(?<inner_type>.+)>\z/
203
- inner_type = Regexp.last_match[:inner_type]
204
- value.map { |v| _deserialize(inner_type, v) }
205
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
206
- k_type = Regexp.last_match[:k_type]
207
- v_type = Regexp.last_match[:v_type]
208
- {}.tap do |hash|
209
- value.each do |k, v|
210
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
211
- end
212
- end
213
- else # model
214
- # models (e.g. Pet) or oneOf
215
- klass = PCPServerSDK::Models.const_get(type)
216
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
217
- end
218
- end
219
-
220
- # Returns the string representation of the object
221
- # @return [String] String presentation of the object
222
- def to_s
223
- to_hash.to_s
224
- end
225
-
226
- # to_body is an alias to to_hash (backward compatibility)
227
- # @return [Hash] Returns the object in the form of hash
228
- def to_body
229
- to_hash
230
- end
231
-
232
- # Returns the object in the form of hash
233
- # @return [Hash] Returns the object in the form of hash
234
- def to_hash
235
- hash = {}
236
- self.class.attribute_map.each_pair do |attr, param|
237
- value = self.send(attr)
238
- if value.nil?
239
- is_nullable = self.class.openapi_nullable.include?(attr)
240
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
241
- end
242
-
243
- hash[param] = _to_hash(value)
244
- end
245
- hash
246
- end
247
-
248
- # Outputs non-array value in the form of hash
249
- # For object, use to_hash. Otherwise, just return the value
250
- # @param [Object] value Any valid value
251
- # @return [Hash] Returns the value in the form of hash
252
- def _to_hash(value)
253
- if value.is_a?(Array)
254
- value.compact.map { |v| _to_hash(v) }
255
- elsif value.is_a?(Hash)
256
- {}.tap do |hash|
257
- value.each { |k, v| hash[k] = _to_hash(v) }
258
- end
259
- elsif value.respond_to? :to_hash
260
- value.to_hash
261
- else
262
- value
263
- end
264
- end
5
+ class PaymentMethodSpecificInput < ModelBase
6
+ attribute :card_payment_method_specific_input, :cardPaymentMethodSpecificInput, :CardPaymentMethodSpecificInput
7
+ attribute :mobile_payment_method_specific_input, :mobilePaymentMethodSpecificInput, :MobilePaymentMethodSpecificInput
8
+ attribute :redirect_payment_method_specific_input, :redirectPaymentMethodSpecificInput, :RedirectPaymentMethodSpecificInput
9
+ attribute :sepa_direct_debit_payment_method_specific_input, :sepaDirectDebitPaymentMethodSpecificInput, :SepaDirectDebitPaymentMethodSpecificInput
10
+ attribute :financing_payment_method_specific_input, :financingPaymentMethodSpecificInput, :FinancingPaymentMethodSpecificInput
11
+ attribute :customer_device, :customerDevice, :CustomerDevice
12
+ attribute :payment_channel, :paymentChannel, :PaymentChannel
265
13
  end
266
14
  end
267
15
  end
@@ -0,0 +1,9 @@
1
+ require_relative 'model_base'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class PaymentMethodSpecificInputForIntent < ModelBase
6
+ attribute :redirect_payment_method_specific_input, :redirectPaymentMethodSpecificInput, :RedirectPaymentMethodSpecificInputForIntent
7
+ end
8
+ end
9
+ end