postfinancecheckout-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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +68 -19
  3. data/LICENSE +1 -1
  4. data/README.md +377 -108
  5. data/lib/postfinancecheckout-ruby-sdk/api_client.rb +1 -1
  6. data/lib/postfinancecheckout-ruby-sdk/models/abstract_role_update.rb +13 -1
  7. data/lib/postfinancecheckout-ruby-sdk/models/abstract_walleejoin_partnership.rb +330 -0
  8. data/lib/postfinancecheckout-ruby-sdk/models/{payment_terminal_preparing.rb → account_create_with_owner.rb} +63 -34
  9. data/lib/postfinancecheckout-ruby-sdk/models/authenticated_card_data_create.rb +30 -1
  10. data/lib/postfinancecheckout-ruby-sdk/models/bank_payment_type.rb +50 -0
  11. data/lib/postfinancecheckout-ruby-sdk/models/basic_address.rb +266 -0
  12. data/lib/postfinancecheckout-ruby-sdk/models/boarding_strategy_information_request.rb +247 -0
  13. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_session_create.rb → charge_attempt_lookup_result.rb} +16 -20
  14. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt_projection.rb +560 -0
  15. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_shipping_option.rb → create_fulfillment_request.rb} +25 -50
  16. data/lib/postfinancecheckout-ruby-sdk/models/delivery_days_range.rb +60 -0
  17. data/lib/postfinancecheckout-ruby-sdk/models/delivery_destination.rb +51 -0
  18. data/lib/postfinancecheckout-ruby-sdk/models/dunning_case_level.rb +403 -0
  19. data/lib/postfinancecheckout-ruby-sdk/models/{user_account_role_list_response.rb → dunning_case_level_list_response.rb} +4 -4
  20. data/lib/postfinancecheckout-ruby-sdk/models/dunning_case_level_search_response.rb +263 -0
  21. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_session_state.rb → dunning_case_level_state.rb} +7 -7
  22. data/lib/postfinancecheckout-ruby-sdk/models/fulfillment.rb +428 -0
  23. data/lib/postfinancecheckout-ruby-sdk/models/fulfillment_search_response.rb +263 -0
  24. data/lib/postfinancecheckout-ruby-sdk/models/fulfillment_state.rb +52 -0
  25. data/lib/postfinancecheckout-ruby-sdk/models/identity_info.rb +279 -0
  26. data/lib/postfinancecheckout-ruby-sdk/models/invoice_processor.rb +51 -0
  27. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record.rb +633 -0
  28. data/lib/postfinancecheckout-ruby-sdk/models/{user_account_role.rb → invoice_reconciliation_record_invoice_link.rb} +40 -43
  29. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_invoice_link_list_response.rb +253 -0
  30. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_invoice_link_search_response.rb +263 -0
  31. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_list_response.rb +253 -0
  32. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_rejection_status.rb +51 -0
  33. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_search_response.rb +263 -0
  34. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reconciliation_record_state.rb +53 -0
  35. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_wallet_type.rb → invoice_reconciliation_record_type.rb} +3 -3
  36. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reimbursement.rb +463 -0
  37. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reimbursement_list_response.rb +253 -0
  38. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reimbursement_search_response.rb +263 -0
  39. data/lib/postfinancecheckout-ruby-sdk/models/invoice_reimbursement_state.rb +54 -0
  40. data/lib/postfinancecheckout-ruby-sdk/models/legal_form.rb +83 -0
  41. data/lib/postfinancecheckout-ruby-sdk/models/merchant_application_data_dto.rb +275 -0
  42. data/lib/postfinancecheckout-ruby-sdk/models/merchant_application_state.rb +50 -0
  43. data/lib/postfinancecheckout-ruby-sdk/models/merchant_application_status_dto.rb +284 -0
  44. data/lib/postfinancecheckout-ruby-sdk/models/merchant_bank_details_dto.rb +253 -0
  45. data/lib/postfinancecheckout-ruby-sdk/models/merchant_company_details_dto.rb +331 -0
  46. data/lib/postfinancecheckout-ruby-sdk/models/merchant_contract_revenue_dto.rb +261 -0
  47. data/lib/postfinancecheckout-ruby-sdk/models/merchant_ecommerce_details_dto.rb +348 -0
  48. data/lib/postfinancecheckout-ruby-sdk/models/merchant_payment_channels_dto.rb +263 -0
  49. data/lib/postfinancecheckout-ruby-sdk/models/merchant_related_persons_dto.rb +243 -0
  50. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_create_response.rb → payment_facilitator_pricing_profile_dto.rb} +16 -16
  51. data/lib/postfinancecheckout-ruby-sdk/models/payment_facilitator_pricing_profile_state.rb +53 -0
  52. data/lib/postfinancecheckout-ruby-sdk/models/{express_checkout_session.rb → payment_initiation_advice_file.rb} +60 -37
  53. data/lib/postfinancecheckout-ruby-sdk/models/payment_initiation_advice_file_state.rb +55 -0
  54. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal.rb +37 -1
  55. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_activation_status.rb +301 -0
  56. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_activation_status_detail_search_response.rb +263 -0
  57. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_address_create.rb +511 -0
  58. data/lib/postfinancecheckout-ruby-sdk/models/{payment_terminal_create.rb → payment_terminal_creation_request.rb} +88 -62
  59. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location.rb +1 -0
  60. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_crud_model.rb +398 -0
  61. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_crud_model_rest_api_create.rb +359 -0
  62. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_list_response.rb +253 -0
  63. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_version_state.rb +2 -1
  64. data/lib/postfinancecheckout-ruby-sdk/models/payout_account_info.rb +257 -0
  65. data/lib/postfinancecheckout-ruby-sdk/models/person_salutation.rb +54 -0
  66. data/lib/postfinancecheckout-ruby-sdk/models/pricing_history_dto.rb +266 -0
  67. data/lib/postfinancecheckout-ruby-sdk/models/product_metered_fee.rb +11 -1
  68. data/lib/postfinancecheckout-ruby-sdk/models/product_metered_fee_update.rb +11 -1
  69. data/lib/postfinancecheckout-ruby-sdk/models/refund.rb +13 -1
  70. data/lib/postfinancecheckout-ruby-sdk/models/refund_create.rb +13 -1
  71. data/lib/postfinancecheckout-ruby-sdk/models/refund_days_range.rb +51 -0
  72. data/lib/postfinancecheckout-ruby-sdk/models/refund_percentage_range.rb +56 -0
  73. data/lib/postfinancecheckout-ruby-sdk/models/related_person.rb +329 -0
  74. data/lib/postfinancecheckout-ruby-sdk/models/representative_info.rb +239 -0
  75. data/lib/postfinancecheckout-ruby-sdk/models/{user_space_role.rb → rest_member.rb} +50 -37
  76. data/lib/postfinancecheckout-ruby-sdk/models/role.rb +13 -1
  77. data/lib/postfinancecheckout-ruby-sdk/models/role_create.rb +13 -1
  78. data/lib/postfinancecheckout-ruby-sdk/models/{abstract_payment_terminal_update.rb → role_ref.rb} +18 -27
  79. data/lib/postfinancecheckout-ruby-sdk/models/role_update.rb +13 -1
  80. data/lib/postfinancecheckout-ruby-sdk/models/sales_channel.rb +15 -230
  81. data/lib/postfinancecheckout-ruby-sdk/models/scope.rb +28 -16
  82. data/lib/postfinancecheckout-ruby-sdk/models/setter.rb +618 -0
  83. data/lib/postfinancecheckout-ruby-sdk/models/sole_proprietor_ownership_type.rb +51 -0
  84. data/lib/postfinancecheckout-ruby-sdk/models/sole_proprietorship_info.rb +261 -0
  85. data/lib/postfinancecheckout-ruby-sdk/models/{user_space_role_list_response.rb → state_list_response.rb} +4 -4
  86. data/lib/postfinancecheckout-ruby-sdk/models/store_trial_subscription_request.rb +273 -0
  87. data/lib/postfinancecheckout-ruby-sdk/models/store_trial_subscription_request_setter.rb +307 -0
  88. data/lib/postfinancecheckout-ruby-sdk/models/subscription_component_group_configuration_request.rb +249 -0
  89. data/lib/postfinancecheckout-ruby-sdk/models/subscription_component_group_configuration_request_setter.rb +249 -0
  90. data/lib/postfinancecheckout-ruby-sdk/models/subscription_product_dto.rb +239 -0
  91. data/lib/postfinancecheckout-ruby-sdk/models/tokenized_card_data_create.rb +30 -1
  92. data/lib/postfinancecheckout-ruby-sdk/models/tracking_number_request.rb +230 -0
  93. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion.rb +13 -1
  94. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_details.rb +26 -4
  95. data/lib/postfinancecheckout-ruby-sdk/models/transaction_overview.rb +1144 -0
  96. data/lib/postfinancecheckout-ruby-sdk/models/transaction_projection.rb +1135 -0
  97. data/lib/postfinancecheckout-ruby-sdk/models/transaction_user_interface_type.rb +2 -1
  98. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_admin_partner_configuration_request_dto.rb +360 -0
  99. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_admin_partner_configuration_response_dto.rb +351 -0
  100. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_admin_pricing_type.rb +51 -0
  101. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_create_partnership_api_request_dto.rb +266 -0
  102. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership.rb +357 -0
  103. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_create.rb +337 -0
  104. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_response_dto.rb +342 -0
  105. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_response_dto_list_response.rb +253 -0
  106. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_response_dto_search_response.rb +263 -0
  107. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_state.rb +51 -0
  108. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_type.rb +50 -0
  109. data/lib/postfinancecheckout-ruby-sdk/models/walleejoin_partnership_update.rb +364 -0
  110. data/lib/postfinancecheckout-ruby-sdk/models/wallet_type.rb +40 -1
  111. data/lib/postfinancecheckout-ruby-sdk/models/web_ui_account_theme.rb +230 -0
  112. data/lib/postfinancecheckout-ruby-sdk/service/accounts_service.rb +16 -9
  113. data/lib/postfinancecheckout-ruby-sdk/service/analytics_queries_service.rb +8 -8
  114. data/lib/postfinancecheckout-ruby-sdk/service/bank_accounts_service.rb +3 -3
  115. data/lib/postfinancecheckout-ruby-sdk/service/bank_transactions_service.rb +3 -3
  116. data/lib/postfinancecheckout-ruby-sdk/service/boarding_subscription_strategy_service.rb +181 -0
  117. data/lib/postfinancecheckout-ruby-sdk/service/charge_attempts_service.rb +3 -3
  118. data/lib/postfinancecheckout-ruby-sdk/service/charge_bank_transactions_service.rb +3 -3
  119. data/lib/postfinancecheckout-ruby-sdk/service/charge_flow_levels_service.rb +4 -4
  120. data/lib/postfinancecheckout-ruby-sdk/service/charge_flows_level_payment_links_service.rb +3 -3
  121. data/lib/postfinancecheckout-ruby-sdk/service/charge_flows_service.rb +3 -3
  122. data/lib/postfinancecheckout-ruby-sdk/service/countries_service.rb +15 -6
  123. data/lib/postfinancecheckout-ruby-sdk/service/currency_bank_accounts_service.rb +3 -3
  124. data/lib/postfinancecheckout-ruby-sdk/service/customer_addresses_service.rb +7 -7
  125. data/lib/postfinancecheckout-ruby-sdk/service/customer_comments_service.rb +8 -8
  126. data/lib/postfinancecheckout-ruby-sdk/service/customers_service.rb +11 -11
  127. data/lib/postfinancecheckout-ruby-sdk/service/delivery_indications_service.rb +5 -5
  128. data/lib/postfinancecheckout-ruby-sdk/service/document_templates_service.rb +3 -3
  129. data/lib/postfinancecheckout-ruby-sdk/service/dunning_case_levels_service.rb +291 -0
  130. data/lib/postfinancecheckout-ruby-sdk/service/dunning_cases_service.rb +5 -5
  131. data/lib/postfinancecheckout-ruby-sdk/service/dunning_flow_levels_service.rb +3 -3
  132. data/lib/postfinancecheckout-ruby-sdk/service/dunning_flows_service.rb +3 -3
  133. data/lib/postfinancecheckout-ruby-sdk/service/external_transfer_bank_transactions_service.rb +3 -3
  134. data/lib/postfinancecheckout-ruby-sdk/service/fulfillments_service.rb +355 -0
  135. data/lib/postfinancecheckout-ruby-sdk/service/internal_transfer_bank_transactions_service.rb +3 -3
  136. data/lib/postfinancecheckout-ruby-sdk/service/invoice_reconciliation_record_invoice_links_service.rb +453 -0
  137. data/lib/postfinancecheckout-ruby-sdk/service/invoice_reconciliation_records_service.rb +433 -0
  138. data/lib/postfinancecheckout-ruby-sdk/service/invoice_reimbursements_service.rb +450 -0
  139. data/lib/postfinancecheckout-ruby-sdk/service/join_admin_partner_configuration_service.rb +306 -0
  140. data/lib/postfinancecheckout-ruby-sdk/service/join_partnership_service.rb +586 -0
  141. data/lib/postfinancecheckout-ruby-sdk/service/manual_tasks_service.rb +5 -5
  142. data/lib/postfinancecheckout-ruby-sdk/service/members_service.rb +215 -0
  143. data/lib/postfinancecheckout-ruby-sdk/service/merchant_applications_service.rb +334 -0
  144. data/lib/postfinancecheckout-ruby-sdk/service/payment_connector_configurations_service.rb +6 -6
  145. data/lib/postfinancecheckout-ruby-sdk/service/payment_links_service.rb +6 -6
  146. data/lib/postfinancecheckout-ruby-sdk/service/payment_method_configurations_service.rb +6 -6
  147. data/lib/postfinancecheckout-ruby-sdk/service/payment_processor_configurations_service.rb +85 -6
  148. data/lib/postfinancecheckout-ruby-sdk/service/payment_terminal_transaction_summaries_service.rb +4 -4
  149. data/lib/postfinancecheckout-ruby-sdk/service/payment_terminals_service.rb +475 -22
  150. data/lib/postfinancecheckout-ruby-sdk/service/refund_bank_transactions_service.rb +3 -3
  151. data/lib/postfinancecheckout-ruby-sdk/service/refund_comments_service.rb +8 -8
  152. data/lib/postfinancecheckout-ruby-sdk/service/refund_recovery_bank_transactions_service.rb +3 -3
  153. data/lib/postfinancecheckout-ruby-sdk/service/refunds_service.rb +7 -7
  154. data/lib/postfinancecheckout-ruby-sdk/service/spaces_service.rb +10 -3
  155. data/lib/postfinancecheckout-ruby-sdk/service/subscribers_service.rb +6 -6
  156. data/lib/postfinancecheckout-ruby-sdk/service/subscription_affiliates_service.rb +6 -6
  157. data/lib/postfinancecheckout-ruby-sdk/service/subscription_charges_service.rb +5 -5
  158. data/lib/postfinancecheckout-ruby-sdk/service/subscription_ledger_entries_service.rb +4 -4
  159. data/lib/postfinancecheckout-ruby-sdk/service/subscription_metric_usage_reports_service.rb +4 -4
  160. data/lib/postfinancecheckout-ruby-sdk/service/subscription_metrics_service.rb +6 -6
  161. data/lib/postfinancecheckout-ruby-sdk/service/subscription_period_bills_service.rb +4 -4
  162. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_component_groups_service.rb +6 -6
  163. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_components_service.rb +6 -6
  164. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_metered_fee_tiers_service.rb +6 -6
  165. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_metered_fees_service.rb +6 -6
  166. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_period_fees_service.rb +6 -6
  167. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_retirements_service.rb +3 -3
  168. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_setup_fees_service.rb +6 -6
  169. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_version_retirements_service.rb +3 -3
  170. data/lib/postfinancecheckout-ruby-sdk/service/subscription_product_versions_service.rb +7 -7
  171. data/lib/postfinancecheckout-ruby-sdk/service/subscription_products_service.rb +6 -6
  172. data/lib/postfinancecheckout-ruby-sdk/service/subscription_suspensions_service.rb +3 -3
  173. data/lib/postfinancecheckout-ruby-sdk/service/subscription_versions_service.rb +3 -3
  174. data/lib/postfinancecheckout-ruby-sdk/service/subscriptions_service.rb +13 -13
  175. data/lib/postfinancecheckout-ruby-sdk/service/terminal_locations_service.rb +276 -0
  176. data/lib/postfinancecheckout-ruby-sdk/service/token_versions_service.rb +3 -3
  177. data/lib/postfinancecheckout-ruby-sdk/service/tokens_service.rb +8 -8
  178. data/lib/postfinancecheckout-ruby-sdk/service/transaction_client_platforms_service.rb +3 -3
  179. data/lib/postfinancecheckout-ruby-sdk/service/transaction_comments_service.rb +8 -8
  180. data/lib/postfinancecheckout-ruby-sdk/service/transaction_completions_service.rb +3 -3
  181. data/lib/postfinancecheckout-ruby-sdk/service/transaction_invoice_comments_service.rb +8 -8
  182. data/lib/postfinancecheckout-ruby-sdk/service/transaction_invoices_service.rb +86 -8
  183. data/lib/postfinancecheckout-ruby-sdk/service/transaction_line_item_versions_service.rb +4 -4
  184. data/lib/postfinancecheckout-ruby-sdk/service/transaction_voids_service.rb +3 -3
  185. data/lib/postfinancecheckout-ruby-sdk/service/transactions_service.rb +179 -37
  186. data/lib/postfinancecheckout-ruby-sdk/service/web_apps_service.rb +2 -2
  187. data/lib/postfinancecheckout-ruby-sdk/service/web_ui_account_theme_service.rb +245 -0
  188. data/lib/postfinancecheckout-ruby-sdk/service/webhook_listeners_service.rb +9 -9
  189. data/lib/postfinancecheckout-ruby-sdk/service/webhook_urls_service.rb +9 -9
  190. data/lib/postfinancecheckout-ruby-sdk/version.rb +1 -1
  191. data/lib/postfinancecheckout-ruby-sdk.rb +99 -17
  192. data/test/test_querying.rb +11 -0
  193. metadata +101 -19
  194. data/lib/postfinancecheckout-ruby-sdk/service/application_users_roles_service.rb +0 -478
  195. data/lib/postfinancecheckout-ruby-sdk/service/express_checkout_service.rb +0 -107
  196. data/lib/postfinancecheckout-ruby-sdk/service/human_users_roles_service.rb +0 -478
  197. data/lib/postfinancecheckout-ruby-sdk/service/single_sign_on_users_roles_service.rb +0 -478
@@ -0,0 +1,249 @@
1
+ =begin
2
+ # PostFinance Ruby SDK
3
+ #
4
+ # This library allows to interact with the PostFinance payment service.
5
+ #
6
+ # Copyright owner: Wallee AG
7
+ # Website: https://www.postfinance.ch/en/private.html
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 PostfinancecheckoutRubySdk
27
+ # Model used to configure the Subscription Product to be assigned to the Account
28
+ class SubscriptionComponentGroupConfigurationRequestSetter
29
+ attr_accessor :quantity
30
+
31
+ attr_accessor :subscription_product_component_group_id
32
+
33
+ attr_accessor :subscription_product_component_reference_id
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'quantity' => :'quantity',
39
+ :'subscription_product_component_group_id' => :'subscriptionProductComponentGroupId',
40
+ :'subscription_product_component_reference_id' => :'subscriptionProductComponentReferenceId'
41
+ }
42
+ end
43
+
44
+ # Returns attribute mapping this model knows about
45
+ def self.acceptable_attribute_map
46
+ attribute_map
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ acceptable_attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ :'quantity' => :'Float',
58
+ :'subscription_product_component_group_id' => :'Integer',
59
+ :'subscription_product_component_reference_id' => :'Integer'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([
66
+ ])
67
+ end
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostfinancecheckoutRubySdk::SubscriptionComponentGroupConfigurationRequestSetter` initialize method"
74
+ end
75
+
76
+ # check to see if the attribute exists and convert string to symbol for hash key
77
+ acceptable_attribute_map = self.class.acceptable_attribute_map
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!acceptable_attribute_map.key?(k.to_sym))
80
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostfinancecheckoutRubySdk::SubscriptionComponentGroupConfigurationRequestSetter`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
81
+ end
82
+ h[k.to_sym] = v
83
+ }
84
+
85
+ if attributes.key?(:'quantity')
86
+ self.quantity = attributes[:'quantity']
87
+ end
88
+
89
+ if attributes.key?(:'subscription_product_component_group_id')
90
+ self.subscription_product_component_group_id = attributes[:'subscription_product_component_group_id']
91
+ end
92
+
93
+ if attributes.key?(:'subscription_product_component_reference_id')
94
+ self.subscription_product_component_reference_id = attributes[:'subscription_product_component_reference_id']
95
+ end
96
+ end
97
+
98
+ # Show invalid properties with the reasons. Usually used together with valid?
99
+ # @return Array for valid properties with the reasons
100
+ def list_invalid_properties
101
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
102
+ invalid_properties = Array.new
103
+ invalid_properties
104
+ end
105
+
106
+ # Check to see if the all the properties in the model are valid
107
+ # @return true if the model is valid
108
+ def valid?
109
+ warn '[DEPRECATED] the `valid?` method is obsolete'
110
+ true
111
+ end
112
+
113
+ # Checks equality by comparing each attribute.
114
+ # @param [Object] Object to be compared
115
+ def ==(o)
116
+ return true if self.equal?(o)
117
+ self.class == o.class &&
118
+ quantity == o.quantity &&
119
+ subscription_product_component_group_id == o.subscription_product_component_group_id &&
120
+ subscription_product_component_reference_id == o.subscription_product_component_reference_id
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] Object to be compared
125
+ def eql?(o)
126
+ self == o
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Integer] Hash code
131
+ def hash
132
+ [quantity, subscription_product_component_group_id, subscription_product_component_reference_id].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def self.build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ attributes = attributes.transform_keys(&:to_sym)
141
+ transformed_hash = {}
142
+ openapi_types.each_pair do |key, type|
143
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
144
+ transformed_hash["#{key}"] = nil
145
+ elsif type =~ /\AArray<(.*)>/i
146
+ # check to ensure the input is an array given that the attribute
147
+ # is documented as an array but the input is not
148
+ if attributes[attribute_map[key]].is_a?(Array)
149
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
150
+ end
151
+ elsif !attributes[attribute_map[key]].nil?
152
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
153
+ end
154
+ end
155
+ new(transformed_hash)
156
+ end
157
+
158
+ # Deserializes the data based on type
159
+ # @param string type Data type
160
+ # @param string value Value to be deserialized
161
+ # @return [Object] Deserialized data
162
+ def self._deserialize(type, value)
163
+ case type.to_sym
164
+ when :Time
165
+ Time.parse(value)
166
+ when :Date
167
+ Date.parse(value)
168
+ when :String
169
+ value.to_s
170
+ when :Integer
171
+ value.to_i
172
+ when :Float
173
+ value.to_f
174
+ when :Boolean
175
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
176
+ true
177
+ else
178
+ false
179
+ end
180
+ when :Object
181
+ # generic object (usually a Hash), return directly
182
+ value
183
+ when /\AArray<(?<inner_type>.+)>\z/
184
+ inner_type = Regexp.last_match[:inner_type]
185
+ value.map { |v| _deserialize(inner_type, v) }
186
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
187
+ k_type = Regexp.last_match[:k_type]
188
+ v_type = Regexp.last_match[:v_type]
189
+ {}.tap do |hash|
190
+ value.each do |k, v|
191
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
192
+ end
193
+ end
194
+ else # model
195
+ # models (e.g. Pet) or oneOf
196
+ klass = PostfinancecheckoutRubySdk.const_get(type)
197
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
198
+ end
199
+ end
200
+
201
+ # Returns the string representation of the object
202
+ # @return [String] String presentation of the object
203
+ def to_s
204
+ to_hash.to_s
205
+ end
206
+
207
+ # to_body is an alias to to_hash (backward compatibility)
208
+ # @return [Hash] Returns the object in the form of hash
209
+ def to_body
210
+ to_hash
211
+ end
212
+
213
+ # Returns the object in the form of hash
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_hash
216
+ hash = {}
217
+ self.class.attribute_map.each_pair do |attr, param|
218
+ value = self.send(attr)
219
+ if value.nil?
220
+ is_nullable = self.class.openapi_nullable.include?(attr)
221
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
+ end
223
+
224
+ hash[param] = _to_hash(value)
225
+ end
226
+ hash
227
+ end
228
+
229
+ # Outputs non-array value in the form of hash
230
+ # For object, use to_hash. Otherwise, just return the value
231
+ # @param [Object] value Any valid value
232
+ # @return [Hash] Returns the value in the form of hash
233
+ def _to_hash(value)
234
+ if value.is_a?(Array)
235
+ value.compact.map { |v| _to_hash(v) }
236
+ elsif value.is_a?(Hash)
237
+ {}.tap do |hash|
238
+ value.each { |k, v| hash[k] = _to_hash(v) }
239
+ end
240
+ elsif value.respond_to? :to_hash
241
+ value.to_hash
242
+ else
243
+ value
244
+ end
245
+ end
246
+
247
+ end
248
+
249
+ end
@@ -0,0 +1,239 @@
1
+ =begin
2
+ # PostFinance Ruby SDK
3
+ #
4
+ # This library allows to interact with the PostFinance payment service.
5
+ #
6
+ # Copyright owner: Wallee AG
7
+ # Website: https://www.postfinance.ch/en/private.html
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 PostfinancecheckoutRubySdk
27
+ class SubscriptionProductDto
28
+ attr_accessor :name
29
+
30
+ attr_accessor :id
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'name' => :'name',
36
+ :'id' => :'id'
37
+ }
38
+ end
39
+
40
+ # Returns attribute mapping this model knows about
41
+ def self.acceptable_attribute_map
42
+ attribute_map
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ acceptable_attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'name' => :'String',
54
+ :'id' => :'Integer'
55
+ }
56
+ end
57
+
58
+ # List of attributes with nullable: true
59
+ def self.openapi_nullable
60
+ Set.new([
61
+ ])
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostfinancecheckoutRubySdk::SubscriptionProductDto` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ acceptable_attribute_map = self.class.acceptable_attribute_map
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!acceptable_attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostfinancecheckoutRubySdk::SubscriptionProductDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'name')
81
+ self.name = attributes[:'name']
82
+ end
83
+
84
+ if attributes.key?(:'id')
85
+ self.id = attributes[:'id']
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
93
+ invalid_properties = Array.new
94
+ invalid_properties
95
+ end
96
+
97
+ # Check to see if the all the properties in the model are valid
98
+ # @return true if the model is valid
99
+ def valid?
100
+ warn '[DEPRECATED] the `valid?` method is obsolete'
101
+ true
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ name == o.name &&
110
+ id == o.id
111
+ end
112
+
113
+ # @see the `==` method
114
+ # @param [Object] Object to be compared
115
+ def eql?(o)
116
+ self == o
117
+ end
118
+
119
+ # Calculates hash code according to all attributes.
120
+ # @return [Integer] Hash code
121
+ def hash
122
+ [name, id].hash
123
+ end
124
+
125
+ # Builds the object from hash
126
+ # @param [Hash] attributes Model attributes in the form of hash
127
+ # @return [Object] Returns the model itself
128
+ def self.build_from_hash(attributes)
129
+ return nil unless attributes.is_a?(Hash)
130
+ attributes = attributes.transform_keys(&:to_sym)
131
+ transformed_hash = {}
132
+ openapi_types.each_pair do |key, type|
133
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
134
+ transformed_hash["#{key}"] = nil
135
+ elsif type =~ /\AArray<(.*)>/i
136
+ # check to ensure the input is an array given that the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[attribute_map[key]].is_a?(Array)
139
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
140
+ end
141
+ elsif !attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
143
+ end
144
+ end
145
+ new(transformed_hash)
146
+ end
147
+
148
+ # Deserializes the data based on type
149
+ # @param string type Data type
150
+ # @param string value Value to be deserialized
151
+ # @return [Object] Deserialized data
152
+ def self._deserialize(type, value)
153
+ case type.to_sym
154
+ when :Time
155
+ Time.parse(value)
156
+ when :Date
157
+ Date.parse(value)
158
+ when :String
159
+ value.to_s
160
+ when :Integer
161
+ value.to_i
162
+ when :Float
163
+ value.to_f
164
+ when :Boolean
165
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
166
+ true
167
+ else
168
+ false
169
+ end
170
+ when :Object
171
+ # generic object (usually a Hash), return directly
172
+ value
173
+ when /\AArray<(?<inner_type>.+)>\z/
174
+ inner_type = Regexp.last_match[:inner_type]
175
+ value.map { |v| _deserialize(inner_type, v) }
176
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
177
+ k_type = Regexp.last_match[:k_type]
178
+ v_type = Regexp.last_match[:v_type]
179
+ {}.tap do |hash|
180
+ value.each do |k, v|
181
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
182
+ end
183
+ end
184
+ else # model
185
+ # models (e.g. Pet) or oneOf
186
+ klass = PostfinancecheckoutRubySdk.const_get(type)
187
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
188
+ end
189
+ end
190
+
191
+ # Returns the string representation of the object
192
+ # @return [String] String presentation of the object
193
+ def to_s
194
+ to_hash.to_s
195
+ end
196
+
197
+ # to_body is an alias to to_hash (backward compatibility)
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_body
200
+ to_hash
201
+ end
202
+
203
+ # Returns the object in the form of hash
204
+ # @return [Hash] Returns the object in the form of hash
205
+ def to_hash
206
+ hash = {}
207
+ self.class.attribute_map.each_pair do |attr, param|
208
+ value = self.send(attr)
209
+ if value.nil?
210
+ is_nullable = self.class.openapi_nullable.include?(attr)
211
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
212
+ end
213
+
214
+ hash[param] = _to_hash(value)
215
+ end
216
+ hash
217
+ end
218
+
219
+ # Outputs non-array value in the form of hash
220
+ # For object, use to_hash. Otherwise, just return the value
221
+ # @param [Object] value Any valid value
222
+ # @return [Hash] Returns the value in the form of hash
223
+ def _to_hash(value)
224
+ if value.is_a?(Array)
225
+ value.compact.map { |v| _to_hash(v) }
226
+ elsif value.is_a?(Hash)
227
+ {}.tap do |hash|
228
+ value.each { |k, v| hash[k] = _to_hash(v) }
229
+ end
230
+ elsif value.respond_to? :to_hash
231
+ value.to_hash
232
+ else
233
+ value
234
+ end
235
+ end
236
+
237
+ end
238
+
239
+ end
@@ -41,6 +41,9 @@ module PostfinancecheckoutRubySdk
41
41
 
42
42
  attr_accessor :recurring_indicator
43
43
 
44
+ # A reference specific to linking card transaction lifecycle events within the payment scheme.
45
+ attr_accessor :transaction_link_identifier
46
+
44
47
  # A reference specific to the card's transaction within its payment scheme.
45
48
  attr_accessor :scheme_transaction_reference
46
49
 
@@ -80,6 +83,7 @@ module PostfinancecheckoutRubySdk
80
83
  :'card_verification_code' => :'cardVerificationCode',
81
84
  :'primary_account_number' => :'primaryAccountNumber',
82
85
  :'recurring_indicator' => :'recurringIndicator',
86
+ :'transaction_link_identifier' => :'transactionLinkIdentifier',
83
87
  :'scheme_transaction_reference' => :'schemeTransactionReference',
84
88
  :'token_requestor_id' => :'tokenRequestorId',
85
89
  :'cryptogram' => :'cryptogram'
@@ -105,6 +109,7 @@ module PostfinancecheckoutRubySdk
105
109
  :'card_verification_code' => :'String',
106
110
  :'primary_account_number' => :'String',
107
111
  :'recurring_indicator' => :'RecurringIndicator',
112
+ :'transaction_link_identifier' => :'String',
108
113
  :'scheme_transaction_reference' => :'String',
109
114
  :'token_requestor_id' => :'String',
110
115
  :'cryptogram' => :'CardCryptogramCreate'
@@ -159,6 +164,10 @@ module PostfinancecheckoutRubySdk
159
164
  self.recurring_indicator = attributes[:'recurring_indicator']
160
165
  end
161
166
 
167
+ if attributes.key?(:'transaction_link_identifier')
168
+ self.transaction_link_identifier = attributes[:'transaction_link_identifier']
169
+ end
170
+
162
171
  if attributes.key?(:'scheme_transaction_reference')
163
172
  self.scheme_transaction_reference = attributes[:'scheme_transaction_reference']
164
173
  end
@@ -216,6 +225,10 @@ module PostfinancecheckoutRubySdk
216
225
  invalid_properties.push("invalid value for \"primary_account_number\", must conform to the pattern #{pattern}.")
217
226
  end
218
227
 
228
+ if !@transaction_link_identifier.nil? && @transaction_link_identifier.to_s.length > 100
229
+ invalid_properties.push('invalid value for "transaction_link_identifier", the character length must be smaller than or equal to 100.')
230
+ end
231
+
219
232
  if !@scheme_transaction_reference.nil? && @scheme_transaction_reference.to_s.length > 100
220
233
  invalid_properties.push('invalid value for "scheme_transaction_reference", the character length must be smaller than or equal to 100.')
221
234
  end
@@ -236,6 +249,7 @@ module PostfinancecheckoutRubySdk
236
249
  return false if @primary_account_number.to_s.length > 30
237
250
  return false if @primary_account_number.to_s.length < 10
238
251
  return false if @primary_account_number !~ Regexp.new(/([0-9 ]+)/)
252
+ return false if !@transaction_link_identifier.nil? && @transaction_link_identifier.to_s.length > 100
239
253
  return false if !@scheme_transaction_reference.nil? && @scheme_transaction_reference.to_s.length > 100
240
254
  true
241
255
  end
@@ -315,6 +329,20 @@ module PostfinancecheckoutRubySdk
315
329
  @primary_account_number = primary_account_number
316
330
  end
317
331
 
332
+ # Custom attribute writer method with validation
333
+ # @param [Object] transaction_link_identifier Value to be assigned
334
+ def transaction_link_identifier=(transaction_link_identifier)
335
+ if transaction_link_identifier.nil?
336
+ fail ArgumentError, 'transaction_link_identifier cannot be nil'
337
+ end
338
+
339
+ if transaction_link_identifier.to_s.length > 100
340
+ fail ArgumentError, 'invalid value for "transaction_link_identifier", the character length must be smaller than or equal to 100.'
341
+ end
342
+
343
+ @transaction_link_identifier = transaction_link_identifier
344
+ end
345
+
318
346
  # Custom attribute writer method with validation
319
347
  # @param [Object] scheme_transaction_reference Value to be assigned
320
348
  def scheme_transaction_reference=(scheme_transaction_reference)
@@ -340,6 +368,7 @@ module PostfinancecheckoutRubySdk
340
368
  card_verification_code == o.card_verification_code &&
341
369
  primary_account_number == o.primary_account_number &&
342
370
  recurring_indicator == o.recurring_indicator &&
371
+ transaction_link_identifier == o.transaction_link_identifier &&
343
372
  scheme_transaction_reference == o.scheme_transaction_reference &&
344
373
  token_requestor_id == o.token_requestor_id &&
345
374
  cryptogram == o.cryptogram
@@ -354,7 +383,7 @@ module PostfinancecheckoutRubySdk
354
383
  # Calculates hash code according to all attributes.
355
384
  # @return [Integer] Hash code
356
385
  def hash
357
- [expiry_date, pan_type, card_holder_name, card_verification_code, primary_account_number, recurring_indicator, scheme_transaction_reference, token_requestor_id, cryptogram].hash
386
+ [expiry_date, pan_type, card_holder_name, card_verification_code, primary_account_number, recurring_indicator, transaction_link_identifier, scheme_transaction_reference, token_requestor_id, cryptogram].hash
358
387
  end
359
388
 
360
389
  # Builds the object from hash