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,219 +1,14 @@
1
+ require_relative 'model_base'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Object containing the redirect payment product details.
6
3
  module PCPServerSDK
7
4
  module Models
8
- class RedirectPaymentMethodSpecificOutput
9
- # <- Payment product identifier - please check product documentation for a full overview of possible values.
10
- attr_accessor :payment_product_id
11
-
12
- attr_accessor :payment_product840_specific_output
13
-
5
+ class RedirectPaymentMethodSpecificOutput < ModelBase
6
+ attribute :payment_product_id, :paymentProductId, :Integer
7
+ attribute :payment_product840_specific_output, :paymentProduct840SpecificOutput, :PaymentProduct840SpecificOutput
14
8
  # ID of the token. This property is populated when the payment was done with a token.
15
- attr_accessor :payment_processing_token
16
-
9
+ attribute :payment_processing_token, :paymentProcessingToken, :String
17
10
  # Token to identify the card in the reporting.
18
- attr_accessor :reporting_token
19
-
20
- # Attribute mapping from ruby-style variable name to JSON key.
21
- def self.attribute_map
22
- {
23
- :'payment_product_id' => :'paymentProductId',
24
- :'payment_product840_specific_output' => :'paymentProduct840SpecificOutput',
25
- :'payment_processing_token' => :'paymentProcessingToken',
26
- :'reporting_token' => :'reportingToken'
27
- }
28
- end
29
-
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
33
- end
34
-
35
- # Attribute type mapping.
36
- def self.openapi_types
37
- {
38
- :'payment_product_id' => :'Integer',
39
- :'payment_product840_specific_output' => :'PaymentProduct840SpecificOutput',
40
- :'payment_processing_token' => :'String',
41
- :'reporting_token' => :'String'
42
- }
43
- end
44
-
45
- # List of attributes with nullable: true
46
- def self.openapi_nullable
47
- Set.new([
48
- ])
49
- end
50
-
51
- # Initializes the object
52
- # @param [Hash] attributes Model attributes in the form of hash
53
- def initialize(attributes = {})
54
- if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `RedirectPaymentMethodSpecificOutput` initialize method"
56
- end
57
-
58
- # check to see if the attribute exists and convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h|
60
- if (!self.class.attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `RedirectPaymentMethodSpecificOutput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
- end
63
- h[k.to_sym] = v
64
- }
65
-
66
- if attributes.key?(:'payment_product_id')
67
- self.payment_product_id = attributes[:'payment_product_id']
68
- end
69
-
70
- if attributes.key?(:'payment_product840_specific_output')
71
- self.payment_product840_specific_output = attributes[:'payment_product840_specific_output']
72
- end
73
-
74
- if attributes.key?(:'payment_processing_token')
75
- self.payment_processing_token = attributes[:'payment_processing_token']
76
- end
77
-
78
- if attributes.key?(:'reporting_token')
79
- self.reporting_token = attributes[:'reporting_token']
80
- end
81
- end
82
-
83
- # Checks equality by comparing each attribute.
84
- # @param [Object] Object to be compared
85
- def ==(o)
86
- return true if self.equal?(o)
87
- self.class == o.class &&
88
- payment_product_id == o.payment_product_id &&
89
- payment_product840_specific_output == o.payment_product840_specific_output &&
90
- payment_processing_token == o.payment_processing_token &&
91
- reporting_token == o.reporting_token
92
- end
93
-
94
- # @see the `==` method
95
- # @param [Object] Object to be compared
96
- def eql?(o)
97
- self == o
98
- end
99
-
100
- # Calculates hash code according to all attributes.
101
- # @return [Integer] Hash code
102
- def hash
103
- [payment_product_id, payment_product840_specific_output, payment_processing_token, reporting_token].hash
104
- end
105
-
106
- # Builds the object from hash
107
- # @param [Hash] attributes Model attributes in the form of hash
108
- # @return [Object] Returns the model itself
109
- def self.build_from_hash(attributes)
110
- return nil unless attributes.is_a?(Hash)
111
- attributes = attributes.transform_keys(&:to_sym)
112
- transformed_hash = {}
113
- openapi_types.each_pair do |key, type|
114
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
115
- transformed_hash["#{key}"] = nil
116
- elsif type =~ /\AArray<(.*)>/i
117
- # check to ensure the input is an array given that the attribute
118
- # is documented as an array but the input is not
119
- if attributes[attribute_map[key]].is_a?(Array)
120
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
121
- end
122
- elsif !attributes[attribute_map[key]].nil?
123
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
124
- end
125
- end
126
- new(transformed_hash)
127
- end
128
-
129
- # Deserializes the data based on type
130
- # @param string type Data type
131
- # @param string value Value to be deserialized
132
- # @return [Object] Deserialized data
133
- def self._deserialize(type, value)
134
- case type.to_sym
135
- when :Time
136
- Time.parse(value)
137
- when :Date
138
- Date.parse(value)
139
- when :String
140
- value.to_s
141
- when :Integer
142
- value.to_i
143
- when :Float
144
- value.to_f
145
- when :Boolean
146
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
- true
148
- else
149
- false
150
- end
151
- when :Object
152
- # generic object (usually a Hash), return directly
153
- value
154
- when /\AArray<(?<inner_type>.+)>\z/
155
- inner_type = Regexp.last_match[:inner_type]
156
- value.map { |v| _deserialize(inner_type, v) }
157
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
- k_type = Regexp.last_match[:k_type]
159
- v_type = Regexp.last_match[:v_type]
160
- {}.tap do |hash|
161
- value.each do |k, v|
162
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
- end
164
- end
165
- else # model
166
- # models (e.g. Pet) or oneOf
167
- klass = PCPServerSDK::Models.const_get(type)
168
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
- end
170
- end
171
-
172
- # Returns the string representation of the object
173
- # @return [String] String presentation of the object
174
- def to_s
175
- to_hash.to_s
176
- end
177
-
178
- # to_body is an alias to to_hash (backward compatibility)
179
- # @return [Hash] Returns the object in the form of hash
180
- def to_body
181
- to_hash
182
- end
183
-
184
- # Returns the object in the form of hash
185
- # @return [Hash] Returns the object in the form of hash
186
- def to_hash
187
- hash = {}
188
- self.class.attribute_map.each_pair do |attr, param|
189
- value = self.send(attr)
190
- if value.nil?
191
- is_nullable = self.class.openapi_nullable.include?(attr)
192
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
- end
194
-
195
- hash[param] = _to_hash(value)
196
- end
197
- hash
198
- end
199
-
200
- # Outputs non-array value in the form of hash
201
- # For object, use to_hash. Otherwise, just return the value
202
- # @param [Object] value Any valid value
203
- # @return [Hash] Returns the value in the form of hash
204
- def _to_hash(value)
205
- if value.is_a?(Array)
206
- value.compact.map { |v| _to_hash(v) }
207
- elsif value.is_a?(Hash)
208
- {}.tap do |hash|
209
- value.each { |k, v| hash[k] = _to_hash(v) }
210
- end
211
- elsif value.respond_to? :to_hash
212
- value.to_hash
213
- else
214
- value
215
- end
216
- end
11
+ attribute :reporting_token, :reportingToken, :String
217
12
  end
218
13
  end
219
14
  end
@@ -0,0 +1,12 @@
1
+ require_relative 'model_base'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class RedirectPaymentMethodSpecificOutputForCreateIntent < ModelBase
6
+ attribute :requires_approval, :requiresApproval, :Boolean
7
+ attribute :payment_product_id, :paymentProductId, :Integer
8
+ attribute :payment_product840_specific_output, :paymentProduct840SpecificOutput, :RedirectPaymentProduct840SpecificInputData
9
+ attribute :redirection_data, :redirectionData, :RedirectionData
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'model_base'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class RedirectPaymentMethodSpecificOutputForIntent < ModelBase
6
+ attribute :payment_product_id, :paymentProductId, :Integer
7
+ attribute :payment_product840_specific_output, :paymentProduct840SpecificOutput, :PaymentProduct840SpecificOutputForIntent
8
+ end
9
+ end
10
+ end
@@ -1,212 +1,13 @@
1
+ require_relative 'redirect_payment_product840_specific_input_data'
1
2
 
2
- require 'date'
3
- require 'time'
4
-
5
- # Object containing specific input required for PayPal payments (Payment product ID 840)
6
3
  module PCPServerSDK
7
4
  module Models
8
- class RedirectPaymentProduct840SpecificInput
9
- # Indicates whether to use PayPal Express Checkout Shortcut. * true = When shortcut is enabled, the consumer can select a shipping address during PayPal checkout. * false = When shortcut is disabled, the consumer cannot change the shipping address. Default value is false. Please note that this field is ignored when order.additionalInput.typeInformation.purchaseType is set to \"digital\"
10
- attr_accessor :address_selection_at_pay_pal
11
-
12
- # A unique ID determined by the merchant, to link a Paypal transaction to a FraudNet PayPal risk session. Only applicable to customer-initiated transactions, when the FraudNet SDK is used, and to be passed in the API request the same tracking ID value (FraudNet Session Identifier). This SDK is available here https://developer.paypal.com/docs/checkout/apm/pay-upon-invoice/fraudnet/
13
- attr_accessor :fraud_net_id
14
-
15
- # Required parameter which defines how PayPal is being integrated inside the checkout page.
16
- # * true = the current integration uses PayPal SDK
17
- # * false = classic usage with PayPal Redirect flow
18
- # @return [Boolean]
19
- attr_accessor :java_script_sdk_flow
20
-
21
- # Attribute mapping from ruby-style variable name to JSON key.
22
- def self.attribute_map
23
- {
24
- :'address_selection_at_pay_pal' => :'addressSelectionAtPayPal',
25
- :'fraud_net_id' => :'fraudNetId',
26
- :'java_script_sdk_flow' => :'javaScriptSdkFlow'
27
- }
28
- end
29
-
30
- # Returns all the JSON keys this model knows about
31
- def self.acceptable_attributes
32
- attribute_map.values
33
- end
34
-
35
- # Attribute type mapping.
36
- def self.openapi_types
37
- {
38
- :'address_selection_at_pay_pal' => :'Boolean',
39
- :'fraud_net_id' => :'String',
40
- :'java_script_sdk_flow' => :'Boolean'
41
- }
42
- end
43
-
44
- # List of attributes with nullable: true
45
- def self.openapi_nullable
46
- Set.new([
47
- ])
48
- end
49
-
50
- # Initializes the object
51
- # @param [Hash] attributes Model attributes in the form of hash
52
- def initialize(attributes = {})
53
- if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `RedirectPaymentProduct840SpecificInput` initialize method"
55
- end
56
-
57
- # check to see if the attribute exists and convert string to symbol for hash key
58
- attributes = attributes.each_with_object({}) { |(k, v), h|
59
- if (!self.class.attribute_map.key?(k.to_sym))
60
- fail ArgumentError, "`#{k}` is not a valid attribute in `RedirectPaymentProduct840SpecificInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
- end
62
- h[k.to_sym] = v
63
- }
64
-
65
- if attributes.key?(:'address_selection_at_pay_pal')
66
- self.address_selection_at_pay_pal = attributes[:'address_selection_at_pay_pal']
67
- end
68
-
69
- if attributes.key?(:'fraud_net_id')
70
- self.fraud_net_id = attributes[:'fraud_net_id']
71
- end
72
-
73
- if attributes.key?(:'java_script_sdk_flow')
74
- self.java_script_sdk_flow = attributes[:'java_script_sdk_flow']
75
- end
76
- end
77
-
78
- # Checks equality by comparing each attribute.
79
- # @param [Object] Object to be compared
80
- def ==(o)
81
- return true if self.equal?(o)
82
- self.class == o.class &&
83
- address_selection_at_pay_pal == o.address_selection_at_pay_pal &&
84
- fraud_net_id == o.fraud_net_id &&
85
- java_script_sdk_flow == o.java_script_sdk_flow
86
- end
87
-
88
- # @see the `==` method
89
- # @param [Object] Object to be compared
90
- def eql?(o)
91
- self == o
92
- end
93
-
94
- # Calculates hash code according to all attributes.
95
- # @return [Integer] Hash code
96
- def hash
97
- [address_selection_at_pay_pal, fraud_net_id, java_script_sdk_flow].hash
98
- end
99
-
100
- # Builds the object from hash
101
- # @param [Hash] attributes Model attributes in the form of hash
102
- # @return [Object] Returns the model itself
103
- def self.build_from_hash(attributes)
104
- return nil unless attributes.is_a?(Hash)
105
- attributes = attributes.transform_keys(&:to_sym)
106
- transformed_hash = {}
107
- openapi_types.each_pair do |key, type|
108
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
109
- transformed_hash["#{key}"] = nil
110
- elsif type =~ /\AArray<(.*)>/i
111
- # check to ensure the input is an array given that the attribute
112
- # is documented as an array but the input is not
113
- if attributes[attribute_map[key]].is_a?(Array)
114
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
115
- end
116
- elsif !attributes[attribute_map[key]].nil?
117
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
118
- end
119
- end
120
- new(transformed_hash)
121
- end
122
-
123
- # Deserializes the data based on type
124
- # @param string type Data type
125
- # @param string value Value to be deserialized
126
- # @return [Object] Deserialized data
127
- def self._deserialize(type, value)
128
- case type.to_sym
129
- when :Time
130
- Time.parse(value)
131
- when :Date
132
- Date.parse(value)
133
- when :String
134
- value.to_s
135
- when :Integer
136
- value.to_i
137
- when :Float
138
- value.to_f
139
- when :Boolean
140
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
- true
142
- else
143
- false
144
- end
145
- when :Object
146
- # generic object (usually a Hash), return directly
147
- value
148
- when /\AArray<(?<inner_type>.+)>\z/
149
- inner_type = Regexp.last_match[:inner_type]
150
- value.map { |v| _deserialize(inner_type, v) }
151
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
- k_type = Regexp.last_match[:k_type]
153
- v_type = Regexp.last_match[:v_type]
154
- {}.tap do |hash|
155
- value.each do |k, v|
156
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
- end
158
- end
159
- else # model
160
- # models (e.g. Pet) or oneOf
161
- klass = PCPServerSDK::Models.const_get(type)
162
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
163
- end
164
- end
165
-
166
- # Returns the string representation of the object
167
- # @return [String] String presentation of the object
168
- def to_s
169
- to_hash.to_s
170
- end
171
-
172
- # to_body is an alias to to_hash (backward compatibility)
173
- # @return [Hash] Returns the object in the form of hash
174
- def to_body
175
- to_hash
176
- end
177
-
178
- # Returns the object in the form of hash
179
- # @return [Hash] Returns the object in the form of hash
180
- def to_hash
181
- hash = {}
182
- self.class.attribute_map.each_pair do |attr, param|
183
- value = self.send(attr)
184
- if value.nil?
185
- is_nullable = self.class.openapi_nullable.include?(attr)
186
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
187
- end
188
-
189
- hash[param] = _to_hash(value)
190
- end
191
- hash
192
- end
5
+ class RedirectPaymentProduct840SpecificInput < RedirectPaymentProduct840SpecificInputData
6
+ attribute :fraud_net_id, :fraudNetId, :String
7
+ attribute :payment_id, :paymentId, :String
193
8
 
194
- # Outputs non-array value in the form of hash
195
- # For object, use to_hash. Otherwise, just return the value
196
- # @param [Object] value Any valid value
197
- # @return [Hash] Returns the value in the form of hash
198
- def _to_hash(value)
199
- if value.is_a?(Array)
200
- value.compact.map { |v| _to_hash(v) }
201
- elsif value.is_a?(Hash)
202
- {}.tap do |hash|
203
- value.each { |k, v| hash[k] = _to_hash(v) }
204
- end
205
- elsif value.respond_to? :to_hash
206
- value.to_hash
207
- else
208
- value
209
- end
9
+ def self.openapi_all_of
10
+ [:RedirectPaymentProduct840SpecificInputData]
210
11
  end
211
12
  end
212
13
  end
@@ -0,0 +1,10 @@
1
+ require_relative 'model_base'
2
+
3
+ module PCPServerSDK
4
+ module Models
5
+ class RedirectPaymentProduct840SpecificInputData < ModelBase
6
+ attribute :address_selection_at_pay_pal, :addressSelectionAtPayPal, :Boolean
7
+ attribute :java_script_sdk_flow, :javaScriptSdkFlow, :Boolean
8
+ end
9
+ end
10
+ end
@@ -1,183 +1,18 @@
1
-
2
- require 'date'
3
- require 'time'
1
+ require_relative 'model_base'
4
2
 
5
3
  module PCPServerSDK
6
4
  module Models
7
- class RedirectPaymentProduct900SpecificInput
8
- attr_accessor :capture_trigger
9
-
10
- class EnumAttributeValidator
11
- attr_reader :datatype
12
- attr_reader :allowable_values
13
-
14
- def initialize(datatype, allowable_values)
15
- @allowable_values = allowable_values.map do |value|
16
- case datatype.to_s
17
- when /Integer/i
18
- value.to_i
19
- when /Float/i
20
- value.to_f
21
- else
22
- value
23
- end
24
- end
25
- end
26
-
27
- def valid?(value)
28
- !value || allowable_values.include?(value)
29
- end
30
- end
31
-
32
- def self.attribute_map
33
- {
34
- :'capture_trigger' => :'captureTrigger'
35
- }
36
- end
37
-
38
- def self.acceptable_attributes
39
- attribute_map.values
40
- end
41
-
42
- def self.openapi_types
43
- {
44
- :'capture_trigger' => :'String'
45
- }
46
- end
47
-
48
- def self.openapi_nullable
49
- Set.new([])
50
- end
51
-
52
- def initialize(attributes = {})
53
- if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `RedirectPaymentProduct900SpecificInput` initialize method"
55
- end
56
-
57
- attributes = attributes.each_with_object({}) { |(k, v), h|
58
- if (!self.class.attribute_map.key?(k.to_sym))
59
- fail ArgumentError, "`#{k}` is not a valid attribute in `RedirectPaymentProduct900SpecificInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
- end
61
- h[k.to_sym] = v
62
- }
63
-
64
- if attributes.key?(:'capture_trigger')
65
- self.capture_trigger = attributes[:'capture_trigger']
66
- end
67
- end
68
-
69
- def ==(o)
70
- return true if self.equal?(o)
71
- self.class == o.class &&
72
- capture_trigger == o.capture_trigger
73
- end
74
-
75
- def eql?(o)
76
- self == o
77
- end
78
-
79
- def hash
80
- [capture_trigger].hash
81
- end
82
-
83
- def self.build_from_hash(attributes)
84
- return nil unless attributes.is_a?(Hash)
85
- attributes = attributes.transform_keys(&:to_sym)
86
- transformed_hash = {}
87
- openapi_types.each_pair do |key, type|
88
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
89
- transformed_hash["#{key}"] = nil
90
- elsif type =~ /\AArray<(.*)>/i
91
- if attributes[attribute_map[key]].is_a?(Array)
92
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
93
- end
94
- elsif !attributes[attribute_map[key]].nil?
95
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
96
- end
97
- end
98
- new(transformed_hash)
99
- end
100
-
101
- def self._deserialize(type, value)
102
- case type.to_sym
103
- when :Time
104
- Time.parse(value)
105
- when :Date
106
- Date.parse(value)
107
- when :String
108
- value.to_s
109
- when :Integer
110
- value.to_i
111
- when :Float
112
- value.to_f
113
- when :Boolean
114
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
115
- true
116
- else
117
- false
118
- end
119
- when :Object
120
- value
121
- when /\AArray<(?<inner_type>.+)>\z/
122
- inner_type = Regexp.last_match[:inner_type]
123
- value.map { |v| _deserialize(inner_type, v) }
124
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
125
- k_type = Regexp.last_match[:k_type]
126
- v_type = Regexp.last_match[:v_type]
127
- {}.tap do |hash|
128
- value.each do |k, v|
129
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
130
- end
131
- end
132
- else
133
- klass = PCPServerSDK::Models.const_get(type)
134
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
135
- end
136
- end
137
-
138
- def to_s
139
- to_hash.to_s
140
- end
141
-
142
- def to_body
143
- to_hash
144
- end
145
-
146
- def to_hash
147
- hash = {}
148
- self.class.attribute_map.each_pair do |attr, param|
149
- value = self.send(attr)
150
- if value.nil?
151
- is_nullable = self.class.openapi_nullable.include?(attr)
152
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
153
- end
154
-
155
- hash[param] = _to_hash(value)
156
- end
157
- hash
158
- end
159
-
160
- def _to_hash(value)
161
- if value.is_a?(Array)
162
- value.compact.map { |v| _to_hash(v) }
163
- elsif value.is_a?(Hash)
164
- {}.tap do |hash|
165
- value.each { |k, v| hash[k] = _to_hash(v) }
166
- end
167
- elsif value.respond_to? :to_hash
168
- value.to_hash
169
- else
170
- value
171
- end
172
- end
173
-
174
- def capture_trigger=(capture_trigger)
175
- validator = EnumAttributeValidator.new('String', ['shipping', 'delivery', 'availability', 'serviceFulfillment', 'other'])
176
- unless validator.valid?(capture_trigger)
177
- fail ArgumentError, "invalid value for \"capture_trigger\", must be one of #{validator.allowable_values}."
178
- end
179
- @capture_trigger = capture_trigger
180
- end
5
+ class RedirectPaymentProduct900SpecificInput < ModelBase
6
+ # Indicates the event upon which the payment should be captured.
7
+ # This value is shown to customers in the Wero portal to clarify
8
+ # when the capture will occur.
9
+ # Has the following possible values:
10
+ # - shipping: Upon shipping the order.
11
+ # - delivery: Upon delivering the order.
12
+ # - availability: As soon as the order is available.
13
+ # - serviceFulfillment: Upon fulfilling the service.
14
+ # - other: For any other use case.
15
+ attribute :capture_trigger, :captureTrigger, :String, enum: ["shipping", "delivery", "availability", "serviceFulfillment", "other"]
181
16
  end
182
17
  end
183
18
  end