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