wallee-ruby-sdk 6.3.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +68 -19
  3. data/LICENSE +1 -1
  4. data/README.md +451 -108
  5. data/lib/wallee-ruby-sdk/api_client.rb +1 -1
  6. data/lib/wallee-ruby-sdk/models/abstract_o_auth_client_update.rb +340 -0
  7. data/lib/wallee-ruby-sdk/models/abstract_role_update.rb +13 -1
  8. data/lib/wallee-ruby-sdk/models/abstract_walleejoin_partnership.rb +330 -0
  9. data/lib/wallee-ruby-sdk/models/{payment_terminal_preparing.rb → account_create_with_owner.rb} +63 -34
  10. data/lib/wallee-ruby-sdk/models/authenticated_card_data_create.rb +30 -1
  11. data/lib/wallee-ruby-sdk/models/bank_payment_type.rb +50 -0
  12. data/lib/wallee-ruby-sdk/models/basic_address.rb +266 -0
  13. data/lib/wallee-ruby-sdk/models/boarding_strategy_information_request.rb +247 -0
  14. data/lib/wallee-ruby-sdk/models/{express_checkout_session_create.rb → charge_attempt_lookup_result.rb} +16 -20
  15. data/lib/wallee-ruby-sdk/models/charge_attempt_projection.rb +560 -0
  16. data/lib/wallee-ruby-sdk/models/{express_checkout_shipping_option.rb → create_fulfillment_request.rb} +25 -50
  17. data/lib/wallee-ruby-sdk/models/delivery_days_range.rb +60 -0
  18. data/lib/wallee-ruby-sdk/models/delivery_destination.rb +51 -0
  19. data/lib/wallee-ruby-sdk/models/dunning_case_level.rb +403 -0
  20. data/lib/wallee-ruby-sdk/models/dunning_case_level_list_response.rb +253 -0
  21. data/lib/wallee-ruby-sdk/models/dunning_case_level_search_response.rb +263 -0
  22. data/lib/wallee-ruby-sdk/models/{express_checkout_session_state.rb → dunning_case_level_state.rb} +7 -7
  23. data/lib/wallee-ruby-sdk/models/extended_rest_o_auth_client.rb +425 -0
  24. data/lib/wallee-ruby-sdk/models/fulfillment.rb +428 -0
  25. data/lib/wallee-ruby-sdk/models/fulfillment_search_response.rb +263 -0
  26. data/lib/wallee-ruby-sdk/models/fulfillment_state.rb +52 -0
  27. data/lib/wallee-ruby-sdk/models/identity_info.rb +279 -0
  28. data/lib/wallee-ruby-sdk/models/invoice_processor.rb +51 -0
  29. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record.rb +633 -0
  30. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_invoice_link.rb +278 -0
  31. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_invoice_link_list_response.rb +253 -0
  32. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_invoice_link_search_response.rb +263 -0
  33. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_list_response.rb +253 -0
  34. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_rejection_status.rb +51 -0
  35. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_search_response.rb +263 -0
  36. data/lib/wallee-ruby-sdk/models/invoice_reconciliation_record_state.rb +53 -0
  37. data/lib/wallee-ruby-sdk/models/{express_checkout_wallet_type.rb → invoice_reconciliation_record_type.rb} +3 -3
  38. data/lib/wallee-ruby-sdk/models/invoice_reimbursement.rb +463 -0
  39. data/lib/wallee-ruby-sdk/models/invoice_reimbursement_list_response.rb +253 -0
  40. data/lib/wallee-ruby-sdk/models/invoice_reimbursement_search_response.rb +263 -0
  41. data/lib/wallee-ruby-sdk/models/invoice_reimbursement_state.rb +54 -0
  42. data/lib/wallee-ruby-sdk/models/legal_form.rb +83 -0
  43. data/lib/wallee-ruby-sdk/models/merchant_application_data_dto.rb +275 -0
  44. data/lib/wallee-ruby-sdk/models/merchant_application_state.rb +50 -0
  45. data/lib/wallee-ruby-sdk/models/merchant_application_status_dto.rb +284 -0
  46. data/lib/wallee-ruby-sdk/models/merchant_bank_details_dto.rb +253 -0
  47. data/lib/wallee-ruby-sdk/models/merchant_company_details_dto.rb +331 -0
  48. data/lib/wallee-ruby-sdk/models/merchant_contract_revenue_dto.rb +261 -0
  49. data/lib/wallee-ruby-sdk/models/merchant_ecommerce_details_dto.rb +348 -0
  50. data/lib/wallee-ruby-sdk/models/merchant_payment_channels_dto.rb +263 -0
  51. data/lib/wallee-ruby-sdk/models/merchant_related_persons_dto.rb +243 -0
  52. data/lib/wallee-ruby-sdk/models/o_auth_client.rb +397 -0
  53. data/lib/wallee-ruby-sdk/models/o_auth_client_create.rb +365 -0
  54. data/lib/wallee-ruby-sdk/models/{user_space_role_list_response.rb → o_auth_client_list_response.rb} +4 -4
  55. data/lib/wallee-ruby-sdk/models/o_auth_client_search_response.rb +263 -0
  56. data/lib/wallee-ruby-sdk/models/o_auth_client_update.rb +374 -0
  57. data/lib/wallee-ruby-sdk/models/o_auth_consent.rb +321 -0
  58. data/lib/wallee-ruby-sdk/models/{user_account_role_list_response.rb → o_auth_consent_list_response.rb} +4 -4
  59. data/lib/wallee-ruby-sdk/models/o_auth_consent_search_response.rb +263 -0
  60. data/lib/wallee-ruby-sdk/models/{user_account_role.rb → o_auth_user.rb} +56 -29
  61. data/lib/wallee-ruby-sdk/models/{express_checkout_create_response.rb → payment_facilitator_pricing_profile_dto.rb} +16 -16
  62. data/lib/wallee-ruby-sdk/models/payment_facilitator_pricing_profile_state.rb +53 -0
  63. data/lib/wallee-ruby-sdk/models/payment_initiation_advice_file.rb +337 -0
  64. data/lib/wallee-ruby-sdk/models/payment_initiation_advice_file_state.rb +55 -0
  65. data/lib/wallee-ruby-sdk/models/payment_terminal.rb +37 -1
  66. data/lib/wallee-ruby-sdk/models/payment_terminal_activation_status.rb +301 -0
  67. data/lib/wallee-ruby-sdk/models/payment_terminal_activation_status_detail_search_response.rb +263 -0
  68. data/lib/wallee-ruby-sdk/models/payment_terminal_address_create.rb +511 -0
  69. data/lib/wallee-ruby-sdk/models/{payment_terminal_create.rb → payment_terminal_creation_request.rb} +88 -62
  70. data/lib/wallee-ruby-sdk/models/payment_terminal_location.rb +1 -0
  71. data/lib/wallee-ruby-sdk/models/payment_terminal_location_crud_model.rb +398 -0
  72. data/lib/wallee-ruby-sdk/models/payment_terminal_location_crud_model_rest_api_create.rb +359 -0
  73. data/lib/wallee-ruby-sdk/models/payment_terminal_location_list_response.rb +253 -0
  74. data/lib/wallee-ruby-sdk/models/payment_terminal_location_version_state.rb +2 -1
  75. data/lib/wallee-ruby-sdk/models/payout_account_info.rb +257 -0
  76. data/lib/wallee-ruby-sdk/models/person_salutation.rb +54 -0
  77. data/lib/wallee-ruby-sdk/models/pricing_history_dto.rb +266 -0
  78. data/lib/wallee-ruby-sdk/models/product_metered_fee.rb +11 -1
  79. data/lib/wallee-ruby-sdk/models/product_metered_fee_update.rb +11 -1
  80. data/lib/wallee-ruby-sdk/models/refund.rb +13 -1
  81. data/lib/wallee-ruby-sdk/models/refund_create.rb +13 -1
  82. data/lib/wallee-ruby-sdk/models/refund_days_range.rb +51 -0
  83. data/lib/wallee-ruby-sdk/models/refund_percentage_range.rb +56 -0
  84. data/lib/wallee-ruby-sdk/models/related_person.rb +329 -0
  85. data/lib/wallee-ruby-sdk/models/representative_info.rb +239 -0
  86. data/lib/wallee-ruby-sdk/models/rest_member.rb +284 -0
  87. data/lib/wallee-ruby-sdk/models/{user_space_role.rb → rest_o_auth_client_secret.rb} +38 -37
  88. data/lib/wallee-ruby-sdk/models/{express_checkout_session.rb → rest_o_auth_client_secret_created.rb} +27 -52
  89. data/lib/wallee-ruby-sdk/models/role.rb +13 -1
  90. data/lib/wallee-ruby-sdk/models/role_create.rb +13 -1
  91. data/lib/wallee-ruby-sdk/models/{abstract_payment_terminal_update.rb → role_ref.rb} +18 -27
  92. data/lib/wallee-ruby-sdk/models/role_update.rb +13 -1
  93. data/lib/wallee-ruby-sdk/models/sales_channel.rb +15 -230
  94. data/lib/wallee-ruby-sdk/models/scope.rb +28 -16
  95. data/lib/wallee-ruby-sdk/models/secret_key_state.rb +51 -0
  96. data/lib/wallee-ruby-sdk/models/setter.rb +618 -0
  97. data/lib/wallee-ruby-sdk/models/sole_proprietor_ownership_type.rb +51 -0
  98. data/lib/wallee-ruby-sdk/models/sole_proprietorship_info.rb +261 -0
  99. data/lib/wallee-ruby-sdk/models/state_list_response.rb +253 -0
  100. data/lib/wallee-ruby-sdk/models/store_trial_subscription_request.rb +273 -0
  101. data/lib/wallee-ruby-sdk/models/store_trial_subscription_request_setter.rb +307 -0
  102. data/lib/wallee-ruby-sdk/models/subscription_component_group_configuration_request.rb +249 -0
  103. data/lib/wallee-ruby-sdk/models/subscription_component_group_configuration_request_setter.rb +249 -0
  104. data/lib/wallee-ruby-sdk/models/subscription_product_dto.rb +239 -0
  105. data/lib/wallee-ruby-sdk/models/tokenized_card_data_create.rb +30 -1
  106. data/lib/wallee-ruby-sdk/models/tracking_number_request.rb +230 -0
  107. data/lib/wallee-ruby-sdk/models/transaction_completion.rb +13 -1
  108. data/lib/wallee-ruby-sdk/models/transaction_completion_details.rb +26 -4
  109. data/lib/wallee-ruby-sdk/models/transaction_overview.rb +1144 -0
  110. data/lib/wallee-ruby-sdk/models/transaction_projection.rb +1135 -0
  111. data/lib/wallee-ruby-sdk/models/transaction_user_interface_type.rb +2 -1
  112. data/lib/wallee-ruby-sdk/models/walleejoin_admin_partner_configuration_request_dto.rb +360 -0
  113. data/lib/wallee-ruby-sdk/models/walleejoin_admin_partner_configuration_response_dto.rb +351 -0
  114. data/lib/wallee-ruby-sdk/models/walleejoin_admin_pricing_type.rb +51 -0
  115. data/lib/wallee-ruby-sdk/models/walleejoin_create_partnership_api_request_dto.rb +266 -0
  116. data/lib/wallee-ruby-sdk/models/walleejoin_partnership.rb +357 -0
  117. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_create.rb +337 -0
  118. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_response_dto.rb +342 -0
  119. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_response_dto_list_response.rb +253 -0
  120. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_response_dto_search_response.rb +263 -0
  121. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_state.rb +51 -0
  122. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_type.rb +50 -0
  123. data/lib/wallee-ruby-sdk/models/walleejoin_partnership_update.rb +364 -0
  124. data/lib/wallee-ruby-sdk/models/wallet_type.rb +40 -1
  125. data/lib/wallee-ruby-sdk/models/web_ui_account_theme.rb +230 -0
  126. data/lib/wallee-ruby-sdk/service/accounts_service.rb +16 -9
  127. data/lib/wallee-ruby-sdk/service/analytics_queries_service.rb +8 -8
  128. data/lib/wallee-ruby-sdk/service/bank_accounts_service.rb +3 -3
  129. data/lib/wallee-ruby-sdk/service/bank_transactions_service.rb +3 -3
  130. data/lib/wallee-ruby-sdk/service/boarding_subscription_strategy_service.rb +181 -0
  131. data/lib/wallee-ruby-sdk/service/charge_attempts_service.rb +3 -3
  132. data/lib/wallee-ruby-sdk/service/charge_bank_transactions_service.rb +3 -3
  133. data/lib/wallee-ruby-sdk/service/charge_flow_levels_service.rb +4 -4
  134. data/lib/wallee-ruby-sdk/service/charge_flows_level_payment_links_service.rb +3 -3
  135. data/lib/wallee-ruby-sdk/service/charge_flows_service.rb +3 -3
  136. data/lib/wallee-ruby-sdk/service/consumed_resources_service.rb +1 -1
  137. data/lib/wallee-ruby-sdk/service/countries_service.rb +15 -6
  138. data/lib/wallee-ruby-sdk/service/currency_bank_accounts_service.rb +3 -3
  139. data/lib/wallee-ruby-sdk/service/customer_addresses_service.rb +7 -7
  140. data/lib/wallee-ruby-sdk/service/customer_comments_service.rb +8 -8
  141. data/lib/wallee-ruby-sdk/service/customers_service.rb +11 -11
  142. data/lib/wallee-ruby-sdk/service/debt_collection_cases_service.rb +12 -12
  143. data/lib/wallee-ruby-sdk/service/debt_collector_configurations_service.rb +6 -6
  144. data/lib/wallee-ruby-sdk/service/delivery_indications_service.rb +5 -5
  145. data/lib/wallee-ruby-sdk/service/document_templates_service.rb +3 -3
  146. data/lib/wallee-ruby-sdk/service/dunning_case_levels_service.rb +291 -0
  147. data/lib/wallee-ruby-sdk/service/dunning_cases_service.rb +5 -5
  148. data/lib/wallee-ruby-sdk/service/dunning_flow_levels_service.rb +3 -3
  149. data/lib/wallee-ruby-sdk/service/dunning_flows_service.rb +3 -3
  150. data/lib/wallee-ruby-sdk/service/external_transfer_bank_transactions_service.rb +3 -3
  151. data/lib/wallee-ruby-sdk/service/fulfillments_service.rb +355 -0
  152. data/lib/wallee-ruby-sdk/service/internal_transfer_bank_transactions_service.rb +3 -3
  153. data/lib/wallee-ruby-sdk/service/invoice_reconciliation_record_invoice_links_service.rb +453 -0
  154. data/lib/wallee-ruby-sdk/service/invoice_reconciliation_records_service.rb +433 -0
  155. data/lib/wallee-ruby-sdk/service/invoice_reimbursements_service.rb +450 -0
  156. data/lib/wallee-ruby-sdk/service/join_admin_partner_configuration_service.rb +306 -0
  157. data/lib/wallee-ruby-sdk/service/join_partnership_service.rb +586 -0
  158. data/lib/wallee-ruby-sdk/service/manual_tasks_service.rb +5 -5
  159. data/lib/wallee-ruby-sdk/service/members_service.rb +215 -0
  160. data/lib/wallee-ruby-sdk/service/merchant_applications_service.rb +334 -0
  161. data/lib/wallee-ruby-sdk/service/o_auth_clients_service.rb +611 -0
  162. data/lib/wallee-ruby-sdk/service/o_auth_consents_service.rb +332 -0
  163. data/lib/wallee-ruby-sdk/service/payment_connector_configurations_service.rb +6 -6
  164. data/lib/wallee-ruby-sdk/service/payment_links_service.rb +6 -6
  165. data/lib/wallee-ruby-sdk/service/payment_method_configurations_service.rb +6 -6
  166. data/lib/wallee-ruby-sdk/service/payment_processor_configurations_service.rb +85 -6
  167. data/lib/wallee-ruby-sdk/service/payment_terminal_transaction_summaries_service.rb +4 -4
  168. data/lib/wallee-ruby-sdk/service/payment_terminals_service.rb +475 -22
  169. data/lib/wallee-ruby-sdk/service/payment_web_apps_service.rb +11 -11
  170. data/lib/wallee-ruby-sdk/service/refund_bank_transactions_service.rb +3 -3
  171. data/lib/wallee-ruby-sdk/service/refund_comments_service.rb +8 -8
  172. data/lib/wallee-ruby-sdk/service/refund_recovery_bank_transactions_service.rb +3 -3
  173. data/lib/wallee-ruby-sdk/service/refunds_service.rb +7 -7
  174. data/lib/wallee-ruby-sdk/service/spaces_service.rb +10 -3
  175. data/lib/wallee-ruby-sdk/service/subscribers_service.rb +6 -6
  176. data/lib/wallee-ruby-sdk/service/subscription_affiliates_service.rb +6 -6
  177. data/lib/wallee-ruby-sdk/service/subscription_charges_service.rb +5 -5
  178. data/lib/wallee-ruby-sdk/service/subscription_ledger_entries_service.rb +4 -4
  179. data/lib/wallee-ruby-sdk/service/subscription_metric_usage_reports_service.rb +4 -4
  180. data/lib/wallee-ruby-sdk/service/subscription_metrics_service.rb +6 -6
  181. data/lib/wallee-ruby-sdk/service/subscription_period_bills_service.rb +4 -4
  182. data/lib/wallee-ruby-sdk/service/subscription_product_component_groups_service.rb +6 -6
  183. data/lib/wallee-ruby-sdk/service/subscription_product_components_service.rb +6 -6
  184. data/lib/wallee-ruby-sdk/service/subscription_product_metered_fee_tiers_service.rb +6 -6
  185. data/lib/wallee-ruby-sdk/service/subscription_product_metered_fees_service.rb +6 -6
  186. data/lib/wallee-ruby-sdk/service/subscription_product_period_fees_service.rb +6 -6
  187. data/lib/wallee-ruby-sdk/service/subscription_product_retirements_service.rb +3 -3
  188. data/lib/wallee-ruby-sdk/service/subscription_product_setup_fees_service.rb +6 -6
  189. data/lib/wallee-ruby-sdk/service/subscription_product_version_retirements_service.rb +3 -3
  190. data/lib/wallee-ruby-sdk/service/subscription_product_versions_service.rb +7 -7
  191. data/lib/wallee-ruby-sdk/service/subscription_products_service.rb +6 -6
  192. data/lib/wallee-ruby-sdk/service/subscription_suspensions_service.rb +3 -3
  193. data/lib/wallee-ruby-sdk/service/subscription_versions_service.rb +3 -3
  194. data/lib/wallee-ruby-sdk/service/subscriptions_service.rb +13 -13
  195. data/lib/wallee-ruby-sdk/service/terminal_locations_service.rb +276 -0
  196. data/lib/wallee-ruby-sdk/service/token_versions_service.rb +3 -3
  197. data/lib/wallee-ruby-sdk/service/tokens_service.rb +8 -8
  198. data/lib/wallee-ruby-sdk/service/transaction_client_platforms_service.rb +3 -3
  199. data/lib/wallee-ruby-sdk/service/transaction_comments_service.rb +8 -8
  200. data/lib/wallee-ruby-sdk/service/transaction_completions_service.rb +3 -3
  201. data/lib/wallee-ruby-sdk/service/transaction_invoice_comments_service.rb +8 -8
  202. data/lib/wallee-ruby-sdk/service/transaction_invoices_service.rb +86 -8
  203. data/lib/wallee-ruby-sdk/service/transaction_line_item_versions_service.rb +4 -4
  204. data/lib/wallee-ruby-sdk/service/transaction_voids_service.rb +3 -3
  205. data/lib/wallee-ruby-sdk/service/transactions_service.rb +179 -37
  206. data/lib/wallee-ruby-sdk/service/web_apps_service.rb +2 -2
  207. data/lib/wallee-ruby-sdk/service/web_ui_account_theme_service.rb +245 -0
  208. data/lib/wallee-ruby-sdk/service/webhook_listeners_service.rb +9 -9
  209. data/lib/wallee-ruby-sdk/service/webhook_urls_service.rb +9 -9
  210. data/lib/wallee-ruby-sdk/version.rb +1 -1
  211. data/lib/wallee-ruby-sdk.rb +115 -17
  212. data/test/test_querying.rb +11 -0
  213. metadata +117 -19
  214. data/lib/wallee-ruby-sdk/service/application_users_roles_service.rb +0 -478
  215. data/lib/wallee-ruby-sdk/service/express_checkout_service.rb +0 -107
  216. data/lib/wallee-ruby-sdk/service/human_users_roles_service.rb +0 -478
  217. data/lib/wallee-ruby-sdk/service/single_sign_on_users_roles_service.rb +0 -478
@@ -0,0 +1,633 @@
1
+ =begin
2
+ # Wallee AG Ruby SDK
3
+ #
4
+ # This library allows to interact with the Wallee AG payment service.
5
+ #
6
+ # Copyright owner: Wallee AG
7
+ # Website: https://en.wallee.com
8
+ # Developer email: ecosystem-team@wallee.com
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License");
11
+ # you may not use this file except in compliance with the License.
12
+ # You may obtain a copy of the License at
13
+ #
14
+ # http://www.apache.org/licenses/LICENSE-2.0
15
+ #
16
+ # Unless required by applicable law or agreed to in writing, software
17
+ # distributed under the License is distributed on an "AS IS" BASIS,
18
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ # See the License for the specific language governing permissions and
20
+ # limitations under the License.
21
+ =end
22
+
23
+ require 'date'
24
+ require 'time'
25
+
26
+ module WalleeRubySdk
27
+ class InvoiceReconciliationRecord
28
+ # The discarded on date indicates when the bank transaction has been discarded.
29
+ attr_accessor :discarded_on
30
+
31
+ attr_accessor :last_resolution_failure
32
+
33
+ attr_accessor :country
34
+
35
+ attr_accessor :rejection_status
36
+
37
+ attr_accessor :city
38
+
39
+ attr_accessor :resolved_by
40
+
41
+ attr_accessor :discarded_by
42
+
43
+ attr_accessor :type
44
+
45
+ # The date and time when the object was created.
46
+ attr_accessor :created_on
47
+
48
+ attr_accessor :payment_fee_currency
49
+
50
+ attr_accessor :payment_reason
51
+
52
+ attr_accessor :reference_number
53
+
54
+ attr_accessor :street
55
+
56
+ attr_accessor :family_name
57
+
58
+ attr_accessor :currency
59
+
60
+ # A unique identifier for the object.
61
+ attr_accessor :id
62
+
63
+ attr_accessor :state
64
+
65
+ # The payment transaction this object is linked to.
66
+ attr_accessor :linked_transaction
67
+
68
+ # The resolved on date indicates when the bank transaction has been resolved.
69
+ attr_accessor :resolved_on
70
+
71
+ attr_accessor :amount
72
+
73
+ attr_accessor :address
74
+
75
+ attr_accessor :given_name
76
+
77
+ # The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
78
+ attr_accessor :planned_purge_date
79
+
80
+ attr_accessor :bank_payment_type
81
+
82
+ attr_accessor :value_date
83
+
84
+ # The version is used for optimistic locking and incremented whenever the object is updated.
85
+ attr_accessor :version
86
+
87
+ attr_accessor :payment_fee_amount
88
+
89
+ # The ID of the space this object belongs to.
90
+ attr_accessor :linked_space_id
91
+
92
+ attr_accessor :environment
93
+
94
+ attr_accessor :sender_bank_account
95
+
96
+ attr_accessor :participant_number
97
+
98
+ attr_accessor :iban
99
+
100
+ attr_accessor :post_code
101
+
102
+ attr_accessor :unique_id
103
+
104
+ class EnumAttributeValidator
105
+ attr_reader :datatype
106
+ attr_reader :allowable_values
107
+
108
+ def initialize(datatype, allowable_values)
109
+ @allowable_values = allowable_values.map do |value|
110
+ case datatype.to_s
111
+ when /Integer/i
112
+ value.to_i
113
+ when /Float/i
114
+ value.to_f
115
+ else
116
+ value
117
+ end
118
+ end
119
+ end
120
+
121
+ def valid?(value)
122
+ !value || allowable_values.include?(value)
123
+ end
124
+ end
125
+
126
+ # Attribute mapping from ruby-style variable name to JSON key.
127
+ def self.attribute_map
128
+ {
129
+ :'discarded_on' => :'discardedOn',
130
+ :'last_resolution_failure' => :'lastResolutionFailure',
131
+ :'country' => :'country',
132
+ :'rejection_status' => :'rejectionStatus',
133
+ :'city' => :'city',
134
+ :'resolved_by' => :'resolvedBy',
135
+ :'discarded_by' => :'discardedBy',
136
+ :'type' => :'type',
137
+ :'created_on' => :'createdOn',
138
+ :'payment_fee_currency' => :'paymentFeeCurrency',
139
+ :'payment_reason' => :'paymentReason',
140
+ :'reference_number' => :'referenceNumber',
141
+ :'street' => :'street',
142
+ :'family_name' => :'familyName',
143
+ :'currency' => :'currency',
144
+ :'id' => :'id',
145
+ :'state' => :'state',
146
+ :'linked_transaction' => :'linkedTransaction',
147
+ :'resolved_on' => :'resolvedOn',
148
+ :'amount' => :'amount',
149
+ :'address' => :'address',
150
+ :'given_name' => :'givenName',
151
+ :'planned_purge_date' => :'plannedPurgeDate',
152
+ :'bank_payment_type' => :'bankPaymentType',
153
+ :'value_date' => :'valueDate',
154
+ :'version' => :'version',
155
+ :'payment_fee_amount' => :'paymentFeeAmount',
156
+ :'linked_space_id' => :'linkedSpaceId',
157
+ :'environment' => :'environment',
158
+ :'sender_bank_account' => :'senderBankAccount',
159
+ :'participant_number' => :'participantNumber',
160
+ :'iban' => :'iban',
161
+ :'post_code' => :'postCode',
162
+ :'unique_id' => :'uniqueId'
163
+ }
164
+ end
165
+
166
+ # Returns attribute mapping this model knows about
167
+ def self.acceptable_attribute_map
168
+ attribute_map
169
+ end
170
+
171
+ # Returns all the JSON keys this model knows about
172
+ def self.acceptable_attributes
173
+ acceptable_attribute_map.values
174
+ end
175
+
176
+ # Attribute type mapping.
177
+ def self.openapi_types
178
+ {
179
+ :'discarded_on' => :'Time',
180
+ :'last_resolution_failure' => :'FailureReason',
181
+ :'country' => :'String',
182
+ :'rejection_status' => :'InvoiceReconciliationRecordRejectionStatus',
183
+ :'city' => :'String',
184
+ :'resolved_by' => :'Integer',
185
+ :'discarded_by' => :'Integer',
186
+ :'type' => :'InvoiceReconciliationRecordType',
187
+ :'created_on' => :'Time',
188
+ :'payment_fee_currency' => :'String',
189
+ :'payment_reason' => :'String',
190
+ :'reference_number' => :'String',
191
+ :'street' => :'String',
192
+ :'family_name' => :'String',
193
+ :'currency' => :'String',
194
+ :'id' => :'Integer',
195
+ :'state' => :'InvoiceReconciliationRecordState',
196
+ :'linked_transaction' => :'Integer',
197
+ :'resolved_on' => :'Time',
198
+ :'amount' => :'Float',
199
+ :'address' => :'String',
200
+ :'given_name' => :'String',
201
+ :'planned_purge_date' => :'Time',
202
+ :'bank_payment_type' => :'BankPaymentType',
203
+ :'value_date' => :'Time',
204
+ :'version' => :'Integer',
205
+ :'payment_fee_amount' => :'Float',
206
+ :'linked_space_id' => :'Integer',
207
+ :'environment' => :'ChargeAttemptEnvironment',
208
+ :'sender_bank_account' => :'String',
209
+ :'participant_number' => :'String',
210
+ :'iban' => :'String',
211
+ :'post_code' => :'String',
212
+ :'unique_id' => :'String'
213
+ }
214
+ end
215
+
216
+ # List of attributes with nullable: true
217
+ def self.openapi_nullable
218
+ Set.new([
219
+ ])
220
+ end
221
+
222
+ # Initializes the object
223
+ # @param [Hash] attributes Model attributes in the form of hash
224
+ def initialize(attributes = {})
225
+ if (!attributes.is_a?(Hash))
226
+ fail ArgumentError, "The input argument (attributes) must be a hash in `WalleeRubySdk::InvoiceReconciliationRecord` initialize method"
227
+ end
228
+
229
+ # check to see if the attribute exists and convert string to symbol for hash key
230
+ acceptable_attribute_map = self.class.acceptable_attribute_map
231
+ attributes = attributes.each_with_object({}) { |(k, v), h|
232
+ if (!acceptable_attribute_map.key?(k.to_sym))
233
+ fail ArgumentError, "`#{k}` is not a valid attribute in `WalleeRubySdk::InvoiceReconciliationRecord`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
234
+ end
235
+ h[k.to_sym] = v
236
+ }
237
+
238
+ if attributes.key?(:'discarded_on')
239
+ self.discarded_on = attributes[:'discarded_on']
240
+ end
241
+
242
+ if attributes.key?(:'last_resolution_failure')
243
+ self.last_resolution_failure = attributes[:'last_resolution_failure']
244
+ end
245
+
246
+ if attributes.key?(:'country')
247
+ self.country = attributes[:'country']
248
+ end
249
+
250
+ if attributes.key?(:'rejection_status')
251
+ self.rejection_status = attributes[:'rejection_status']
252
+ end
253
+
254
+ if attributes.key?(:'city')
255
+ self.city = attributes[:'city']
256
+ end
257
+
258
+ if attributes.key?(:'resolved_by')
259
+ self.resolved_by = attributes[:'resolved_by']
260
+ end
261
+
262
+ if attributes.key?(:'discarded_by')
263
+ self.discarded_by = attributes[:'discarded_by']
264
+ end
265
+
266
+ if attributes.key?(:'type')
267
+ self.type = attributes[:'type']
268
+ end
269
+
270
+ if attributes.key?(:'created_on')
271
+ self.created_on = attributes[:'created_on']
272
+ end
273
+
274
+ if attributes.key?(:'payment_fee_currency')
275
+ self.payment_fee_currency = attributes[:'payment_fee_currency']
276
+ end
277
+
278
+ if attributes.key?(:'payment_reason')
279
+ self.payment_reason = attributes[:'payment_reason']
280
+ end
281
+
282
+ if attributes.key?(:'reference_number')
283
+ self.reference_number = attributes[:'reference_number']
284
+ end
285
+
286
+ if attributes.key?(:'street')
287
+ self.street = attributes[:'street']
288
+ end
289
+
290
+ if attributes.key?(:'family_name')
291
+ self.family_name = attributes[:'family_name']
292
+ end
293
+
294
+ if attributes.key?(:'currency')
295
+ self.currency = attributes[:'currency']
296
+ end
297
+
298
+ if attributes.key?(:'id')
299
+ self.id = attributes[:'id']
300
+ end
301
+
302
+ if attributes.key?(:'state')
303
+ self.state = attributes[:'state']
304
+ end
305
+
306
+ if attributes.key?(:'linked_transaction')
307
+ self.linked_transaction = attributes[:'linked_transaction']
308
+ end
309
+
310
+ if attributes.key?(:'resolved_on')
311
+ self.resolved_on = attributes[:'resolved_on']
312
+ end
313
+
314
+ if attributes.key?(:'amount')
315
+ self.amount = attributes[:'amount']
316
+ end
317
+
318
+ if attributes.key?(:'address')
319
+ self.address = attributes[:'address']
320
+ end
321
+
322
+ if attributes.key?(:'given_name')
323
+ self.given_name = attributes[:'given_name']
324
+ end
325
+
326
+ if attributes.key?(:'planned_purge_date')
327
+ self.planned_purge_date = attributes[:'planned_purge_date']
328
+ end
329
+
330
+ if attributes.key?(:'bank_payment_type')
331
+ self.bank_payment_type = attributes[:'bank_payment_type']
332
+ end
333
+
334
+ if attributes.key?(:'value_date')
335
+ self.value_date = attributes[:'value_date']
336
+ end
337
+
338
+ if attributes.key?(:'version')
339
+ self.version = attributes[:'version']
340
+ end
341
+
342
+ if attributes.key?(:'payment_fee_amount')
343
+ self.payment_fee_amount = attributes[:'payment_fee_amount']
344
+ end
345
+
346
+ if attributes.key?(:'linked_space_id')
347
+ self.linked_space_id = attributes[:'linked_space_id']
348
+ end
349
+
350
+ if attributes.key?(:'environment')
351
+ self.environment = attributes[:'environment']
352
+ end
353
+
354
+ if attributes.key?(:'sender_bank_account')
355
+ self.sender_bank_account = attributes[:'sender_bank_account']
356
+ end
357
+
358
+ if attributes.key?(:'participant_number')
359
+ self.participant_number = attributes[:'participant_number']
360
+ end
361
+
362
+ if attributes.key?(:'iban')
363
+ self.iban = attributes[:'iban']
364
+ end
365
+
366
+ if attributes.key?(:'post_code')
367
+ self.post_code = attributes[:'post_code']
368
+ end
369
+
370
+ if attributes.key?(:'unique_id')
371
+ self.unique_id = attributes[:'unique_id']
372
+ end
373
+ end
374
+
375
+ # Show invalid properties with the reasons. Usually used together with valid?
376
+ # @return Array for valid properties with the reasons
377
+ def list_invalid_properties
378
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
379
+ invalid_properties = Array.new
380
+ if !@reference_number.nil? && @reference_number.to_s.length > 255
381
+ invalid_properties.push('invalid value for "reference_number", the character length must be smaller than or equal to 255.')
382
+ end
383
+
384
+ if !@participant_number.nil? && @participant_number.to_s.length > 100
385
+ invalid_properties.push('invalid value for "participant_number", the character length must be smaller than or equal to 100.')
386
+ end
387
+
388
+ if !@iban.nil? && @iban.to_s.length > 100
389
+ invalid_properties.push('invalid value for "iban", the character length must be smaller than or equal to 100.')
390
+ end
391
+
392
+ if !@unique_id.nil? && @unique_id.to_s.length > 500
393
+ invalid_properties.push('invalid value for "unique_id", the character length must be smaller than or equal to 500.')
394
+ end
395
+
396
+ invalid_properties
397
+ end
398
+
399
+ # Check to see if the all the properties in the model are valid
400
+ # @return true if the model is valid
401
+ def valid?
402
+ warn '[DEPRECATED] the `valid?` method is obsolete'
403
+ return false if !@reference_number.nil? && @reference_number.to_s.length > 255
404
+ return false if !@participant_number.nil? && @participant_number.to_s.length > 100
405
+ return false if !@iban.nil? && @iban.to_s.length > 100
406
+ return false if !@unique_id.nil? && @unique_id.to_s.length > 500
407
+ true
408
+ end
409
+
410
+ # Custom attribute writer method with validation
411
+ # @param [Object] reference_number Value to be assigned
412
+ def reference_number=(reference_number)
413
+ if reference_number.nil?
414
+ fail ArgumentError, 'reference_number cannot be nil'
415
+ end
416
+
417
+ if reference_number.to_s.length > 255
418
+ fail ArgumentError, 'invalid value for "reference_number", the character length must be smaller than or equal to 255.'
419
+ end
420
+
421
+ @reference_number = reference_number
422
+ end
423
+
424
+ # Custom attribute writer method with validation
425
+ # @param [Object] participant_number Value to be assigned
426
+ def participant_number=(participant_number)
427
+ if participant_number.nil?
428
+ fail ArgumentError, 'participant_number cannot be nil'
429
+ end
430
+
431
+ if participant_number.to_s.length > 100
432
+ fail ArgumentError, 'invalid value for "participant_number", the character length must be smaller than or equal to 100.'
433
+ end
434
+
435
+ @participant_number = participant_number
436
+ end
437
+
438
+ # Custom attribute writer method with validation
439
+ # @param [Object] iban Value to be assigned
440
+ def iban=(iban)
441
+ if iban.nil?
442
+ fail ArgumentError, 'iban cannot be nil'
443
+ end
444
+
445
+ if iban.to_s.length > 100
446
+ fail ArgumentError, 'invalid value for "iban", the character length must be smaller than or equal to 100.'
447
+ end
448
+
449
+ @iban = iban
450
+ end
451
+
452
+ # Custom attribute writer method with validation
453
+ # @param [Object] unique_id Value to be assigned
454
+ def unique_id=(unique_id)
455
+ if unique_id.nil?
456
+ fail ArgumentError, 'unique_id cannot be nil'
457
+ end
458
+
459
+ if unique_id.to_s.length > 500
460
+ fail ArgumentError, 'invalid value for "unique_id", the character length must be smaller than or equal to 500.'
461
+ end
462
+
463
+ @unique_id = unique_id
464
+ end
465
+
466
+ # Checks equality by comparing each attribute.
467
+ # @param [Object] Object to be compared
468
+ def ==(o)
469
+ return true if self.equal?(o)
470
+ self.class == o.class &&
471
+ discarded_on == o.discarded_on &&
472
+ last_resolution_failure == o.last_resolution_failure &&
473
+ country == o.country &&
474
+ rejection_status == o.rejection_status &&
475
+ city == o.city &&
476
+ resolved_by == o.resolved_by &&
477
+ discarded_by == o.discarded_by &&
478
+ type == o.type &&
479
+ created_on == o.created_on &&
480
+ payment_fee_currency == o.payment_fee_currency &&
481
+ payment_reason == o.payment_reason &&
482
+ reference_number == o.reference_number &&
483
+ street == o.street &&
484
+ family_name == o.family_name &&
485
+ currency == o.currency &&
486
+ id == o.id &&
487
+ state == o.state &&
488
+ linked_transaction == o.linked_transaction &&
489
+ resolved_on == o.resolved_on &&
490
+ amount == o.amount &&
491
+ address == o.address &&
492
+ given_name == o.given_name &&
493
+ planned_purge_date == o.planned_purge_date &&
494
+ bank_payment_type == o.bank_payment_type &&
495
+ value_date == o.value_date &&
496
+ version == o.version &&
497
+ payment_fee_amount == o.payment_fee_amount &&
498
+ linked_space_id == o.linked_space_id &&
499
+ environment == o.environment &&
500
+ sender_bank_account == o.sender_bank_account &&
501
+ participant_number == o.participant_number &&
502
+ iban == o.iban &&
503
+ post_code == o.post_code &&
504
+ unique_id == o.unique_id
505
+ end
506
+
507
+ # @see the `==` method
508
+ # @param [Object] Object to be compared
509
+ def eql?(o)
510
+ self == o
511
+ end
512
+
513
+ # Calculates hash code according to all attributes.
514
+ # @return [Integer] Hash code
515
+ def hash
516
+ [discarded_on, last_resolution_failure, country, rejection_status, city, resolved_by, discarded_by, type, created_on, payment_fee_currency, payment_reason, reference_number, street, family_name, currency, id, state, linked_transaction, resolved_on, amount, address, given_name, planned_purge_date, bank_payment_type, value_date, version, payment_fee_amount, linked_space_id, environment, sender_bank_account, participant_number, iban, post_code, unique_id].hash
517
+ end
518
+
519
+ # Builds the object from hash
520
+ # @param [Hash] attributes Model attributes in the form of hash
521
+ # @return [Object] Returns the model itself
522
+ def self.build_from_hash(attributes)
523
+ return nil unless attributes.is_a?(Hash)
524
+ attributes = attributes.transform_keys(&:to_sym)
525
+ transformed_hash = {}
526
+ openapi_types.each_pair do |key, type|
527
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
528
+ transformed_hash["#{key}"] = nil
529
+ elsif type =~ /\AArray<(.*)>/i
530
+ # check to ensure the input is an array given that the attribute
531
+ # is documented as an array but the input is not
532
+ if attributes[attribute_map[key]].is_a?(Array)
533
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
534
+ end
535
+ elsif !attributes[attribute_map[key]].nil?
536
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
537
+ end
538
+ end
539
+ new(transformed_hash)
540
+ end
541
+
542
+ # Deserializes the data based on type
543
+ # @param string type Data type
544
+ # @param string value Value to be deserialized
545
+ # @return [Object] Deserialized data
546
+ def self._deserialize(type, value)
547
+ case type.to_sym
548
+ when :Time
549
+ Time.parse(value)
550
+ when :Date
551
+ Date.parse(value)
552
+ when :String
553
+ value.to_s
554
+ when :Integer
555
+ value.to_i
556
+ when :Float
557
+ value.to_f
558
+ when :Boolean
559
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
560
+ true
561
+ else
562
+ false
563
+ end
564
+ when :Object
565
+ # generic object (usually a Hash), return directly
566
+ value
567
+ when /\AArray<(?<inner_type>.+)>\z/
568
+ inner_type = Regexp.last_match[:inner_type]
569
+ value.map { |v| _deserialize(inner_type, v) }
570
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
571
+ k_type = Regexp.last_match[:k_type]
572
+ v_type = Regexp.last_match[:v_type]
573
+ {}.tap do |hash|
574
+ value.each do |k, v|
575
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
576
+ end
577
+ end
578
+ else # model
579
+ # models (e.g. Pet) or oneOf
580
+ klass = WalleeRubySdk.const_get(type)
581
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
582
+ end
583
+ end
584
+
585
+ # Returns the string representation of the object
586
+ # @return [String] String presentation of the object
587
+ def to_s
588
+ to_hash.to_s
589
+ end
590
+
591
+ # to_body is an alias to to_hash (backward compatibility)
592
+ # @return [Hash] Returns the object in the form of hash
593
+ def to_body
594
+ to_hash
595
+ end
596
+
597
+ # Returns the object in the form of hash
598
+ # @return [Hash] Returns the object in the form of hash
599
+ def to_hash
600
+ hash = {}
601
+ self.class.attribute_map.each_pair do |attr, param|
602
+ value = self.send(attr)
603
+ if value.nil?
604
+ is_nullable = self.class.openapi_nullable.include?(attr)
605
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
606
+ end
607
+
608
+ hash[param] = _to_hash(value)
609
+ end
610
+ hash
611
+ end
612
+
613
+ # Outputs non-array value in the form of hash
614
+ # For object, use to_hash. Otherwise, just return the value
615
+ # @param [Object] value Any valid value
616
+ # @return [Hash] Returns the value in the form of hash
617
+ def _to_hash(value)
618
+ if value.is_a?(Array)
619
+ value.compact.map { |v| _to_hash(v) }
620
+ elsif value.is_a?(Hash)
621
+ {}.tap do |hash|
622
+ value.each { |k, v| hash[k] = _to_hash(v) }
623
+ end
624
+ elsif value.respond_to? :to_hash
625
+ value.to_hash
626
+ else
627
+ value
628
+ end
629
+ end
630
+
631
+ end
632
+
633
+ end