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,335 +1,14 @@
1
+ require_relative 'order_line_details_input'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Object containing additional information that when supplied can have a beneficial effect on the discountrates.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class OrderLineDetailsResult
5
+ class OrderLineDetailsResult < OrderLineDetailsInput
9
6
  # Unique identifier of a cart item
10
- attr_accessor :id
11
-
12
- attr_accessor :status
13
-
14
- # Product or UPC Code
15
- attr_accessor :product_code
16
-
17
- # The price of one unit of the product, the value should be zero or greater.
18
- attr_accessor :product_price
19
-
20
- attr_accessor :product_type
21
-
22
- # Quantity of the units being purchased, should be greater than zero Note: Must not be all spaces or all zeros
23
- attr_accessor :quantity
24
-
25
- # Tax on the line item, with the last two digits implied as decimal places
26
- attr_accessor :tax_amount
27
-
28
- # Indicates if the taxAmount is to be interpreted as the tax amount per unit rather than for the entire line item.
29
- attr_accessor :tax_amount_per_unit
30
-
31
- # URL of the product in shop. Used for PAYONE Buy Now, Pay Later (BNPL).
32
- attr_accessor :product_url
33
-
34
- # URL of a product image. Used for PAYONE Buy Now, Pay Later (BNPL).
35
- attr_accessor :product_image_url
36
-
37
- # Category path of the item. Used for PAYONE Buy Now, Pay Later (BNPL).
38
- attr_accessor :product_category_path
39
-
40
- # Optional parameter to define the delivery shop or touchpoint where an item has been collected (e.g. for Click & Collect or Click & Reserve).
41
- attr_accessor :merchant_shop_delivery_reference
42
-
43
-
44
-
45
- class EnumAttributeValidator
46
- attr_reader :datatype
47
- attr_reader :allowable_values
48
-
49
- def initialize(datatype, allowable_values)
50
- @allowable_values = allowable_values.map do |value|
51
- case datatype.to_s
52
- when /Integer/i
53
- value.to_i
54
- when /Float/i
55
- value.to_f
56
- else
57
- value
58
- end
59
- end
60
- end
61
-
62
- def valid?(value)
63
- !value || allowable_values.include?(value)
64
- end
65
- end
66
-
67
- # Attribute mapping from ruby-style variable name to JSON key.
68
- def self.attribute_map
69
- {
70
- :'id' => :'id',
71
- :'status' => :'status',
72
- :'product_code' => :'productCode',
73
- :'product_price' => :'productPrice',
74
- :'product_type' => :'productType',
75
- :'quantity' => :'quantity',
76
- :'tax_amount' => :'taxAmount',
77
- :'tax_amount_per_unit' => :'taxAmountPerUnit',
78
- :'product_url' => :'productUrl',
79
- :'product_image_url' => :'productImageUrl',
80
- :'product_category_path' => :'productCategoryPath',
81
- :'merchant_shop_delivery_reference' => :'merchantShopDeliveryReference'
82
- }
83
- end
84
-
85
- # Returns all the JSON keys this model knows about
86
- def self.acceptable_attributes
87
- attribute_map.values
88
- end
89
-
90
- # Attribute type mapping.
91
- def self.openapi_types
92
- {
93
- :'id' => :'String',
94
- :'status' => :'Array<CartItemOrderStatus>',
95
- :'product_code' => :'String',
96
- :'product_price' => :'Integer',
97
- :'product_type' => :'ProductType',
98
- :'quantity' => :'Integer',
99
- :'tax_amount' => :'Integer',
100
- :'tax_amount_per_unit' => :'Boolean',
101
- :'product_url' => :'String',
102
- :'product_image_url' => :'String',
103
- :'product_category_path' => :'String',
104
- :'merchant_shop_delivery_reference' => :'String'
105
- }
106
- end
107
-
108
- # List of attributes with nullable: true
109
- def self.openapi_nullable
110
- Set.new([
111
- ])
112
- end
113
-
114
- # List of module PCPServerSDK
7
+ attribute :id, :id, :String
8
+ attribute :status, :status, "Array<CartItemOrderStatus>"
115
9
 
116
10
  def self.openapi_all_of
117
- [
118
- :'OrderLineDetailsInput'
119
- ]
120
- end
121
-
122
- # Initializes the object
123
- # @param [Hash] attributes Model attributes in the form of hash
124
- def initialize(attributes = {})
125
- if (!attributes.is_a?(Hash))
126
- fail ArgumentError, "The input argument (attributes) must be a hash in `OrderLineDetailsResult` initialize method"
127
- end
128
-
129
- # check to see if the attribute exists and convert string to symbol for hash key
130
- attributes = attributes.each_with_object({}) { |(k, v), h|
131
- if (!self.class.attribute_map.key?(k.to_sym))
132
- fail ArgumentError, "`#{k}` is not a valid attribute in `OrderLineDetailsResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
133
- end
134
- h[k.to_sym] = v
135
- }
136
-
137
- if attributes.key?(:'id')
138
- self.id = attributes[:'id']
139
- end
140
-
141
- if attributes.key?(:'status')
142
- if (value = attributes[:'status']).is_a?(Array)
143
- self.status = value
144
- end
145
- end
146
-
147
- if attributes.key?(:'product_code')
148
- self.product_code = attributes[:'product_code']
149
- end
150
-
151
- if attributes.key?(:'product_price')
152
- self.product_price = attributes[:'product_price']
153
- else
154
- self.product_price = nil
155
- end
156
-
157
- if attributes.key?(:'product_type')
158
- self.product_type = attributes[:'product_type']
159
- end
160
-
161
- if attributes.key?(:'quantity')
162
- self.quantity = attributes[:'quantity']
163
- else
164
- self.quantity = nil
165
- end
166
-
167
- if attributes.key?(:'tax_amount')
168
- self.tax_amount = attributes[:'tax_amount']
169
- end
170
-
171
- if attributes.key?(:'tax_amount_per_unit')
172
- self.tax_amount_per_unit = attributes[:'tax_amount_per_unit']
173
- end
174
-
175
- if attributes.key?(:'product_url')
176
- self.product_url = attributes[:'product_url']
177
- end
178
-
179
- if attributes.key?(:'product_image_url')
180
- self.product_image_url = attributes[:'product_image_url']
181
- end
182
-
183
- if attributes.key?(:'product_category_path')
184
- self.product_category_path = attributes[:'product_category_path']
185
- end
186
-
187
- if attributes.key?(:'merchant_shop_delivery_reference')
188
- self.merchant_shop_delivery_reference = attributes[:'merchant_shop_delivery_reference']
189
- end
190
- end
191
-
192
- # Checks equality by comparing each attribute.
193
- # @param [Object] Object to be compared
194
- def ==(o)
195
- return true if self.equal?(o)
196
- self.class == o.class &&
197
- id == o.id &&
198
- status == o.status &&
199
- product_code == o.product_code &&
200
- product_price == o.product_price &&
201
- product_type == o.product_type &&
202
- quantity == o.quantity &&
203
- tax_amount == o.tax_amount &&
204
- tax_amount_per_unit == o.tax_amount_per_unit &&
205
- product_url == o.product_url &&
206
- product_image_url == o.product_image_url &&
207
- product_category_path == o.product_category_path &&
208
- merchant_shop_delivery_reference == o.merchant_shop_delivery_reference
209
- end
210
-
211
- # @see the `==` method
212
- # @param [Object] Object to be compared
213
- def eql?(o)
214
- self == o
215
- end
216
-
217
- # Calculates hash code according to all attributes.
218
- # @return [Integer] Hash code
219
- def hash
220
- [id, status, product_code, product_price, product_type, quantity, tax_amount, tax_amount_per_unit, product_url, product_image_url, product_category_path, merchant_shop_delivery_reference].hash
221
- end
222
-
223
- # Builds the object from hash
224
- # @param [Hash] attributes Model attributes in the form of hash
225
- # @return [Object] Returns the model itself
226
- def self.build_from_hash(attributes)
227
- return nil unless attributes.is_a?(Hash)
228
- attributes = attributes.transform_keys(&:to_sym)
229
- transformed_hash = {}
230
- openapi_types.each_pair do |key, type|
231
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
232
- transformed_hash["#{key}"] = nil
233
- elsif type =~ /\AArray<(.*)>/i
234
- # check to ensure the input is an array given that the attribute
235
- # is documented as an array but the input is not
236
- if attributes[attribute_map[key]].is_a?(Array)
237
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
238
- end
239
- elsif !attributes[attribute_map[key]].nil?
240
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
241
- end
242
- end
243
- new(transformed_hash)
244
- end
245
-
246
- # Deserializes the data based on type
247
- # @param string type Data type
248
- # @param string value Value to be deserialized
249
- # @return [Object] Deserialized data
250
- def self._deserialize(type, value)
251
- case type.to_sym
252
- when :Time
253
- Time.parse(value)
254
- when :Date
255
- Date.parse(value)
256
- when :String
257
- value.to_s
258
- when :Integer
259
- value.to_i
260
- when :Float
261
- value.to_f
262
- when :Boolean
263
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
264
- true
265
- else
266
- false
267
- end
268
- when :Object
269
- # generic object (usually a Hash), return directly
270
- value
271
- when /\AArray<(?<inner_type>.+)>\z/
272
- inner_type = Regexp.last_match[:inner_type]
273
- value.map { |v| _deserialize(inner_type, v) }
274
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
275
- k_type = Regexp.last_match[:k_type]
276
- v_type = Regexp.last_match[:v_type]
277
- {}.tap do |hash|
278
- value.each do |k, v|
279
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
280
- end
281
- end
282
- else # model
283
- # models (e.g. Pet) or oneOf
284
- klass = PCPServerSDK::Models.const_get(type)
285
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
286
- end
287
- end
288
-
289
- # Returns the string representation of the object
290
- # @return [String] String presentation of the object
291
- def to_s
292
- to_hash.to_s
293
- end
294
-
295
- # to_body is an alias to to_hash (backward compatibility)
296
- # @return [Hash] Returns the object in the form of hash
297
- def to_body
298
- to_hash
299
- end
300
-
301
- # Returns the object in the form of hash
302
- # @return [Hash] Returns the object in the form of hash
303
- def to_hash
304
- hash = {}
305
- self.class.attribute_map.each_pair do |attr, param|
306
- value = self.send(attr)
307
- if value.nil?
308
- is_nullable = self.class.openapi_nullable.include?(attr)
309
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
310
- end
311
-
312
- hash[param] = _to_hash(value)
313
- end
314
- hash
315
- end
316
-
317
- # Outputs non-array value in the form of hash
318
- # For object, use to_hash. Otherwise, just return the value
319
- # @param [Object] value Any valid value
320
- # @return [Hash] Returns the value in the form of hash
321
- def _to_hash(value)
322
- if value.is_a?(Array)
323
- value.compact.map { |v| _to_hash(v) }
324
- elsif value.is_a?(Hash)
325
- {}.tap do |hash|
326
- value.each { |k, v| hash[k] = _to_hash(v) }
327
- end
328
- elsif value.respond_to? :to_hash
329
- value.to_hash
330
- else
331
- value
332
- end
11
+ [:OrderLineDetailsInput]
333
12
  end
334
13
  end
335
14
  end
@@ -1,250 +1,13 @@
1
+ require_relative 'model_base'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Request to execute an Order for the corresponding Checkout for a specific payment method. The provided data from the Commerce Case and the Checkout regarding customer, shipping, and ShoppingCart will be automatically loaded and used for the Payment Execution. In case the paymentMethodSpecificInput has already been provided when creating the Commerce Case or Checkout, this input will automatically be used. An Order can be created for a full or the partial ShoppingCart of the Checkout. For a partial Order a list of items must be provided. The platform will automatically calculate the respective amount to trigger the payment execution.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class OrderRequest
9
- attr_accessor :order_type
10
-
11
- attr_accessor :order_references
12
-
13
- attr_accessor :items
14
-
15
- attr_accessor :payment_method_specific_input
16
-
17
- attr_accessor :fund_split
18
-
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
- :'order_type' => :'orderType',
46
- :'order_references' => :'orderReferences',
47
- :'items' => :'items',
48
- :'payment_method_specific_input' => :'paymentMethodSpecificInput',
49
- :'fund_split' => :'fundSplit'
50
- }
51
- end
52
-
53
- # Returns all the JSON keys this model knows about
54
- def self.acceptable_attributes
55
- attribute_map.values
56
- end
57
-
58
- # Attribute type mapping.
59
- def self.openapi_types
60
- {
61
- :'order_type' => :'OrderType',
62
- :'order_references' => :'References',
63
- :'items' => :'Array<OrderItem>',
64
- :'payment_method_specific_input' => :'PaymentMethodSpecificInput',
65
- :'fund_split' => :'FundSplit'
66
- }
67
- end
68
-
69
- # List of attributes with nullable: true
70
- def self.openapi_nullable
71
- Set.new([
72
- ])
73
- end
74
-
75
- # Initializes the object
76
- # @param [Hash] attributes Model attributes in the form of hash
77
- def initialize(attributes = {})
78
- if (!attributes.is_a?(Hash))
79
- fail ArgumentError, "The input argument (attributes) must be a hash in `OrderRequest` initialize method"
80
- end
81
-
82
- # check to see if the attribute exists and convert string to symbol for hash key
83
- attributes = attributes.each_with_object({}) { |(k, v), h|
84
- if (!self.class.attribute_map.key?(k.to_sym))
85
- fail ArgumentError, "`#{k}` is not a valid attribute in `OrderRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
- end
87
- h[k.to_sym] = v
88
- }
89
-
90
- if attributes.key?(:'order_type')
91
- self.order_type = attributes[:'order_type']
92
- end
93
-
94
- if attributes.key?(:'order_references')
95
- self.order_references = attributes[:'order_references']
96
- end
97
-
98
- if attributes.key?(:'items')
99
- if (value = attributes[:'items']).is_a?(Array)
100
- self.items = value
101
- end
102
- end
103
-
104
- if attributes.key?(:'payment_method_specific_input')
105
- self.payment_method_specific_input = attributes[:'payment_method_specific_input']
106
- end
107
-
108
- if attributes.key?(:'fund_split')
109
- self.fund_split = attributes[:'fund_split']
110
- end
111
- end
112
-
113
- # Checks equality by comparing each attribute.
114
- # @param [Object] Object to be compared
115
- def ==(o)
116
- return true if self.equal?(o)
117
- self.class == o.class &&
118
- order_type == o.order_type &&
119
- order_references == o.order_references &&
120
- items == o.items &&
121
- payment_method_specific_input == o.payment_method_specific_input &&
122
- fund_split == o.fund_split
123
- end
124
-
125
- # @see the `==` method
126
- # @param [Object] Object to be compared
127
- def eql?(o)
128
- self == o
129
- end
130
-
131
- # Calculates hash code according to all attributes.
132
- # @return [Integer] Hash code
133
- def hash
134
- [order_type, order_references, items, payment_method_specific_input, fund_split].hash
135
- end
136
-
137
- # Builds the object from hash
138
- # @param [Hash] attributes Model attributes in the form of hash
139
- # @return [Object] Returns the model itself
140
- def self.build_from_hash(attributes)
141
- return nil unless attributes.is_a?(Hash)
142
- attributes = attributes.transform_keys(&:to_sym)
143
- transformed_hash = {}
144
- openapi_types.each_pair do |key, type|
145
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
146
- transformed_hash["#{key}"] = nil
147
- elsif type =~ /\AArray<(.*)>/i
148
- # check to ensure the input is an array given that the attribute
149
- # is documented as an array but the input is not
150
- if attributes[attribute_map[key]].is_a?(Array)
151
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
152
- end
153
- elsif !attributes[attribute_map[key]].nil?
154
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
155
- end
156
- end
157
- new(transformed_hash)
158
- end
159
-
160
- # Deserializes the data based on type
161
- # @param string type Data type
162
- # @param string value Value to be deserialized
163
- # @return [Object] Deserialized data
164
- def self._deserialize(type, value)
165
- case type.to_sym
166
- when :Time
167
- Time.parse(value)
168
- when :Date
169
- Date.parse(value)
170
- when :String
171
- value.to_s
172
- when :Integer
173
- value.to_i
174
- when :Float
175
- value.to_f
176
- when :Boolean
177
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
178
- true
179
- else
180
- false
181
- end
182
- when :Object
183
- # generic object (usually a Hash), return directly
184
- value
185
- when /\AArray<(?<inner_type>.+)>\z/
186
- inner_type = Regexp.last_match[:inner_type]
187
- value.map { |v| _deserialize(inner_type, v) }
188
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
189
- k_type = Regexp.last_match[:k_type]
190
- v_type = Regexp.last_match[:v_type]
191
- {}.tap do |hash|
192
- value.each do |k, v|
193
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
194
- end
195
- end
196
- else # model
197
- # models (e.g. Pet) or oneOf
198
- klass = PCPServerSDK::Models.const_get(type)
199
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
200
- end
201
- end
202
-
203
- # Returns the string representation of the object
204
- # @return [String] String presentation of the object
205
- def to_s
206
- to_hash.to_s
207
- end
208
-
209
- # to_body is an alias to to_hash (backward compatibility)
210
- # @return [Hash] Returns the object in the form of hash
211
- def to_body
212
- to_hash
213
- end
214
-
215
- # Returns the object in the form of hash
216
- # @return [Hash] Returns the object in the form of hash
217
- def to_hash
218
- hash = {}
219
- self.class.attribute_map.each_pair do |attr, param|
220
- value = self.send(attr)
221
- if value.nil?
222
- is_nullable = self.class.openapi_nullable.include?(attr)
223
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
224
- end
225
-
226
- hash[param] = _to_hash(value)
227
- end
228
- hash
229
- end
230
-
231
- # Outputs non-array value in the form of hash
232
- # For object, use to_hash. Otherwise, just return the value
233
- # @param [Object] value Any valid value
234
- # @return [Hash] Returns the value in the form of hash
235
- def _to_hash(value)
236
- if value.is_a?(Array)
237
- value.compact.map { |v| _to_hash(v) }
238
- elsif value.is_a?(Hash)
239
- {}.tap do |hash|
240
- value.each { |k, v| hash[k] = _to_hash(v) }
241
- end
242
- elsif value.respond_to? :to_hash
243
- value.to_hash
244
- else
245
- value
246
- end
247
- end
5
+ class OrderRequest < ModelBase
6
+ attribute :order_type, :orderType, :OrderType
7
+ attribute :order_references, :orderReferences, :References
8
+ attribute :items, :items, "Array<OrderItem>"
9
+ attribute :payment_method_specific_input, :paymentMethodSpecificInput, :PaymentMethodSpecificInput
10
+ attribute :fund_split, :fundSplit, :FundSplit
248
11
  end
249
12
  end
250
13
  end