pq-api-matic-sdk 1.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 (268) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +208 -0
  4. data/bin/console +15 -0
  5. data/lib/pay_quicker_sdk/api_helper.rb +10 -0
  6. data/lib/pay_quicker_sdk/client.rb +205 -0
  7. data/lib/pay_quicker_sdk/configuration.rb +229 -0
  8. data/lib/pay_quicker_sdk/controllers/agreements_controller.rb +129 -0
  9. data/lib/pay_quicker_sdk/controllers/balances_controller.rb +156 -0
  10. data/lib/pay_quicker_sdk/controllers/bank_accounts_controller.rb +587 -0
  11. data/lib/pay_quicker_sdk/controllers/base_controller.rb +60 -0
  12. data/lib/pay_quicker_sdk/controllers/client_side_controller.rb +237 -0
  13. data/lib/pay_quicker_sdk/controllers/compliance_controller.rb +77 -0
  14. data/lib/pay_quicker_sdk/controllers/documents_controller.rb +233 -0
  15. data/lib/pay_quicker_sdk/controllers/electronic_wallets_controller.rb +280 -0
  16. data/lib/pay_quicker_sdk/controllers/events_controller.rb +75 -0
  17. data/lib/pay_quicker_sdk/controllers/invitations_controller.rb +179 -0
  18. data/lib/pay_quicker_sdk/controllers/jobs_controller.rb +154 -0
  19. data/lib/pay_quicker_sdk/controllers/o_auth_authorization_controller.rb +43 -0
  20. data/lib/pay_quicker_sdk/controllers/payments_controller.rb +217 -0
  21. data/lib/pay_quicker_sdk/controllers/prepaid_cards_controller.rb +262 -0
  22. data/lib/pay_quicker_sdk/controllers/program_controller.rb +88 -0
  23. data/lib/pay_quicker_sdk/controllers/receipts_controller.rb +287 -0
  24. data/lib/pay_quicker_sdk/controllers/spendback_controller.rb +201 -0
  25. data/lib/pay_quicker_sdk/controllers/spendback_refunds_controller.rb +232 -0
  26. data/lib/pay_quicker_sdk/controllers/statements_controller.rb +197 -0
  27. data/lib/pay_quicker_sdk/controllers/transfers_controller.rb +259 -0
  28. data/lib/pay_quicker_sdk/controllers/users_controller.rb +151 -0
  29. data/lib/pay_quicker_sdk/controllers/webhooks_controller.rb +173 -0
  30. data/lib/pay_quicker_sdk/exceptions/api_error_result_exception.rb +80 -0
  31. data/lib/pay_quicker_sdk/exceptions/api_exception.rb +21 -0
  32. data/lib/pay_quicker_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  33. data/lib/pay_quicker_sdk/http/auth/clientside.rb +53 -0
  34. data/lib/pay_quicker_sdk/http/auth/server.rb +156 -0
  35. data/lib/pay_quicker_sdk/http/http_call_back.rb +10 -0
  36. data/lib/pay_quicker_sdk/http/http_method_enum.rb +10 -0
  37. data/lib/pay_quicker_sdk/http/http_request.rb +10 -0
  38. data/lib/pay_quicker_sdk/http/http_response.rb +10 -0
  39. data/lib/pay_quicker_sdk/http/proxy_settings.rb +22 -0
  40. data/lib/pay_quicker_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  41. data/lib/pay_quicker_sdk/logging/sdk_logger.rb +17 -0
  42. data/lib/pay_quicker_sdk/models/addresses.rb +45 -0
  43. data/lib/pay_quicker_sdk/models/agreement_list_result_json.rb +106 -0
  44. data/lib/pay_quicker_sdk/models/agreement_object.rb +120 -0
  45. data/lib/pay_quicker_sdk/models/agreement_result.rb +130 -0
  46. data/lib/pay_quicker_sdk/models/agreement_types.rb +64 -0
  47. data/lib/pay_quicker_sdk/models/authorization_list_result.rb +106 -0
  48. data/lib/pay_quicker_sdk/models/authorization_object.rb +194 -0
  49. data/lib/pay_quicker_sdk/models/balance_list_result.rb +106 -0
  50. data/lib/pay_quicker_sdk/models/balance_object.rb +118 -0
  51. data/lib/pay_quicker_sdk/models/balance_result.rb +128 -0
  52. data/lib/pay_quicker_sdk/models/bank_account_address.rb +132 -0
  53. data/lib/pay_quicker_sdk/models/bank_account_field.rb +83 -0
  54. data/lib/pay_quicker_sdk/models/bank_account_fields.rb +195 -0
  55. data/lib/pay_quicker_sdk/models/bank_account_list_result.rb +106 -0
  56. data/lib/pay_quicker_sdk/models/bank_account_object.rb +226 -0
  57. data/lib/pay_quicker_sdk/models/bank_account_ownership.rb +36 -0
  58. data/lib/pay_quicker_sdk/models/bank_account_required_fields.rb +125 -0
  59. data/lib/pay_quicker_sdk/models/bank_account_requirement.rb +142 -0
  60. data/lib/pay_quicker_sdk/models/bank_account_requirement_format.rb +93 -0
  61. data/lib/pay_quicker_sdk/models/bank_account_requirement_format_legend.rb +93 -0
  62. data/lib/pay_quicker_sdk/models/bank_account_requirement_list_result.rb +110 -0
  63. data/lib/pay_quicker_sdk/models/bank_account_requirement_validator.rb +86 -0
  64. data/lib/pay_quicker_sdk/models/bank_account_result.rb +234 -0
  65. data/lib/pay_quicker_sdk/models/bank_account_statuses.rb +49 -0
  66. data/lib/pay_quicker_sdk/models/bank_account_types.rb +47 -0
  67. data/lib/pay_quicker_sdk/models/bank_types.rb +68 -0
  68. data/lib/pay_quicker_sdk/models/base_model.rb +122 -0
  69. data/lib/pay_quicker_sdk/models/business_contact_roles.rb +44 -0
  70. data/lib/pay_quicker_sdk/models/card_networks.rb +36 -0
  71. data/lib/pay_quicker_sdk/models/card_processors.rb +52 -0
  72. data/lib/pay_quicker_sdk/models/category_types.rb +36 -0
  73. data/lib/pay_quicker_sdk/models/countries.rb +1031 -0
  74. data/lib/pay_quicker_sdk/models/countries_alpha_code3.rb +1028 -0
  75. data/lib/pay_quicker_sdk/models/create_invitation.rb +614 -0
  76. data/lib/pay_quicker_sdk/models/create_or_update_bank_account.rb +163 -0
  77. data/lib/pay_quicker_sdk/models/create_or_update_document.rb +82 -0
  78. data/lib/pay_quicker_sdk/models/create_or_update_document_fields.rb +81 -0
  79. data/lib/pay_quicker_sdk/models/create_or_update_electronic_wallet.rb +126 -0
  80. data/lib/pay_quicker_sdk/models/create_or_update_user.rb +614 -0
  81. data/lib/pay_quicker_sdk/models/create_spendback_refund_quote.rb +173 -0
  82. data/lib/pay_quicker_sdk/models/create_webhook_request.rb +82 -0
  83. data/lib/pay_quicker_sdk/models/currencies.rb +700 -0
  84. data/lib/pay_quicker_sdk/models/delivery_details.rb +119 -0
  85. data/lib/pay_quicker_sdk/models/document_details.rb +81 -0
  86. data/lib/pay_quicker_sdk/models/document_list_result.rb +108 -0
  87. data/lib/pay_quicker_sdk/models/document_object.rb +147 -0
  88. data/lib/pay_quicker_sdk/models/document_requirements_list_result.rb +91 -0
  89. data/lib/pay_quicker_sdk/models/document_result.rb +157 -0
  90. data/lib/pay_quicker_sdk/models/document_status_types.rb +48 -0
  91. data/lib/pay_quicker_sdk/models/document_types.rb +264 -0
  92. data/lib/pay_quicker_sdk/models/electronic_funds_transfer_types.rb +36 -0
  93. data/lib/pay_quicker_sdk/models/electronic_transfer_failure_types.rb +97 -0
  94. data/lib/pay_quicker_sdk/models/electronic_transfer_status_types.rb +46 -0
  95. data/lib/pay_quicker_sdk/models/electronic_wallet_field.rb +83 -0
  96. data/lib/pay_quicker_sdk/models/electronic_wallet_fields.rb +41 -0
  97. data/lib/pay_quicker_sdk/models/electronic_wallet_list_result.rb +106 -0
  98. data/lib/pay_quicker_sdk/models/electronic_wallet_object.rb +186 -0
  99. data/lib/pay_quicker_sdk/models/electronic_wallet_required_fields.rb +125 -0
  100. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement.rb +166 -0
  101. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format.rb +93 -0
  102. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format_legend.rb +93 -0
  103. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_list_result.rb +110 -0
  104. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_validator.rb +86 -0
  105. data/lib/pay_quicker_sdk/models/electronic_wallet_result.rb +195 -0
  106. data/lib/pay_quicker_sdk/models/electronic_wallet_statuses.rb +48 -0
  107. data/lib/pay_quicker_sdk/models/electronic_wallet_type.rb +99 -0
  108. data/lib/pay_quicker_sdk/models/electronic_wallet_types.rb +368 -0
  109. data/lib/pay_quicker_sdk/models/event_category_types.rb +40 -0
  110. data/lib/pay_quicker_sdk/models/event_list_result.rb +106 -0
  111. data/lib/pay_quicker_sdk/models/event_object.rb +191 -0
  112. data/lib/pay_quicker_sdk/models/event_requirement_categories.rb +56 -0
  113. data/lib/pay_quicker_sdk/models/event_requirements.rb +105 -0
  114. data/lib/pay_quicker_sdk/models/event_statuses.rb +52 -0
  115. data/lib/pay_quicker_sdk/models/event_types.rb +36 -0
  116. data/lib/pay_quicker_sdk/models/expected_delivery_types.rb +36 -0
  117. data/lib/pay_quicker_sdk/models/fee_configuration.rb +154 -0
  118. data/lib/pay_quicker_sdk/models/fee_distribution.rb +159 -0
  119. data/lib/pay_quicker_sdk/models/fee_responsibility_parties.rb +44 -0
  120. data/lib/pay_quicker_sdk/models/fee_responsibility_sources.rb +36 -0
  121. data/lib/pay_quicker_sdk/models/fee_sources.rb +40 -0
  122. data/lib/pay_quicker_sdk/models/fee_values.rb +36 -0
  123. data/lib/pay_quicker_sdk/models/fees.rb +222 -0
  124. data/lib/pay_quicker_sdk/models/fx_rate.rb +144 -0
  125. data/lib/pay_quicker_sdk/models/gateway_payment_job.rb +131 -0
  126. data/lib/pay_quicker_sdk/models/gateway_payment_job_quote.rb +167 -0
  127. data/lib/pay_quicker_sdk/models/gateway_payment_quote.rb +220 -0
  128. data/lib/pay_quicker_sdk/models/gateway_spendback_quote.rb +167 -0
  129. data/lib/pay_quicker_sdk/models/gateway_transfer_quote.rb +195 -0
  130. data/lib/pay_quicker_sdk/models/genders.rb +48 -0
  131. data/lib/pay_quicker_sdk/models/government_ids.rb +45 -0
  132. data/lib/pay_quicker_sdk/models/hateoas_relationship.rb +69 -0
  133. data/lib/pay_quicker_sdk/models/hateoas_self_ref.rb +84 -0
  134. data/lib/pay_quicker_sdk/models/identity_verification_providers.rb +62 -0
  135. data/lib/pay_quicker_sdk/models/identity_verification_result_sub_types.rb +38 -0
  136. data/lib/pay_quicker_sdk/models/identity_verification_result_types.rb +57 -0
  137. data/lib/pay_quicker_sdk/models/idv_check_list_result.rb +108 -0
  138. data/lib/pay_quicker_sdk/models/idv_check_object.rb +209 -0
  139. data/lib/pay_quicker_sdk/models/idv_check_result.rb +221 -0
  140. data/lib/pay_quicker_sdk/models/invitation_list_result.rb +106 -0
  141. data/lib/pay_quicker_sdk/models/invitation_object.rb +262 -0
  142. data/lib/pay_quicker_sdk/models/invitation_result.rb +272 -0
  143. data/lib/pay_quicker_sdk/models/job_status_types.rb +68 -0
  144. data/lib/pay_quicker_sdk/models/job_types.rb +36 -0
  145. data/lib/pay_quicker_sdk/models/languages.rb +101 -0
  146. data/lib/pay_quicker_sdk/models/list_metadata.rb +116 -0
  147. data/lib/pay_quicker_sdk/models/lock_side_types.rb +37 -0
  148. data/lib/pay_quicker_sdk/models/metadata.rb +72 -0
  149. data/lib/pay_quicker_sdk/models/metadata_items.rb +80 -0
  150. data/lib/pay_quicker_sdk/models/o_auth_provider_error.rb +62 -0
  151. data/lib/pay_quicker_sdk/models/o_auth_scope_server.rb +36 -0
  152. data/lib/pay_quicker_sdk/models/o_auth_token.rb +106 -0
  153. data/lib/pay_quicker_sdk/models/occupations.rb +100 -0
  154. data/lib/pay_quicker_sdk/models/operation_result.rb +72 -0
  155. data/lib/pay_quicker_sdk/models/order_prepaid_card.rb +97 -0
  156. data/lib/pay_quicker_sdk/models/payment_job_list_result.rb +106 -0
  157. data/lib/pay_quicker_sdk/models/payment_job_object.rb +211 -0
  158. data/lib/pay_quicker_sdk/models/payment_job_result.rb +220 -0
  159. data/lib/pay_quicker_sdk/models/payment_list_result.rb +106 -0
  160. data/lib/pay_quicker_sdk/models/payment_object.rb +263 -0
  161. data/lib/pay_quicker_sdk/models/payment_purposes.rb +58 -0
  162. data/lib/pay_quicker_sdk/models/payment_result.rb +272 -0
  163. data/lib/pay_quicker_sdk/models/portal_payment_job.rb +131 -0
  164. data/lib/pay_quicker_sdk/models/portal_payment_job_quote.rb +176 -0
  165. data/lib/pay_quicker_sdk/models/portal_payment_quote.rb +228 -0
  166. data/lib/pay_quicker_sdk/models/portal_spendback_quote.rb +177 -0
  167. data/lib/pay_quicker_sdk/models/portal_transfer_quote.rb +204 -0
  168. data/lib/pay_quicker_sdk/models/prepaid_card_authorizations.rb +129 -0
  169. data/lib/pay_quicker_sdk/models/prepaid_card_capabilities.rb +69 -0
  170. data/lib/pay_quicker_sdk/models/prepaid_card_data_object.rb +136 -0
  171. data/lib/pay_quicker_sdk/models/prepaid_card_data_result.rb +146 -0
  172. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_object.rb +134 -0
  173. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_result.rb +145 -0
  174. data/lib/pay_quicker_sdk/models/prepaid_card_data_type.rb +36 -0
  175. data/lib/pay_quicker_sdk/models/prepaid_card_image_side.rb +36 -0
  176. data/lib/pay_quicker_sdk/models/prepaid_card_list_result.rb +106 -0
  177. data/lib/pay_quicker_sdk/models/prepaid_card_object.rb +243 -0
  178. data/lib/pay_quicker_sdk/models/prepaid_card_pin_object.rb +108 -0
  179. data/lib/pay_quicker_sdk/models/prepaid_card_pin_result.rb +121 -0
  180. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_object.rb +128 -0
  181. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_result.rb +139 -0
  182. data/lib/pay_quicker_sdk/models/prepaid_card_replacement_reasons.rb +48 -0
  183. data/lib/pay_quicker_sdk/models/prepaid_card_result.rb +254 -0
  184. data/lib/pay_quicker_sdk/models/prepaid_card_statuses.rb +71 -0
  185. data/lib/pay_quicker_sdk/models/program_list_result.rb +106 -0
  186. data/lib/pay_quicker_sdk/models/program_object.rb +138 -0
  187. data/lib/pay_quicker_sdk/models/program_result.rb +147 -0
  188. data/lib/pay_quicker_sdk/models/program_types.rb +44 -0
  189. data/lib/pay_quicker_sdk/models/receipt_descriptions.rb +84 -0
  190. data/lib/pay_quicker_sdk/models/receipt_details.rb +439 -0
  191. data/lib/pay_quicker_sdk/models/receipt_list_result.rb +106 -0
  192. data/lib/pay_quicker_sdk/models/receipt_object.rb +241 -0
  193. data/lib/pay_quicker_sdk/models/receipt_result.rb +251 -0
  194. data/lib/pay_quicker_sdk/models/receipt_statuses.rb +76 -0
  195. data/lib/pay_quicker_sdk/models/replace_prepaid_card.rb +85 -0
  196. data/lib/pay_quicker_sdk/models/retrieve_card_data.rb +73 -0
  197. data/lib/pay_quicker_sdk/models/retrieve_card_pin.rb +76 -0
  198. data/lib/pay_quicker_sdk/models/sandbox_instance.rb +76 -0
  199. data/lib/pay_quicker_sdk/models/signs.rb +40 -0
  200. data/lib/pay_quicker_sdk/models/spendback_list_result.rb +106 -0
  201. data/lib/pay_quicker_sdk/models/spendback_object.rb +291 -0
  202. data/lib/pay_quicker_sdk/models/spendback_quote_accept_result.rb +301 -0
  203. data/lib/pay_quicker_sdk/models/spendback_refund_list_result.rb +106 -0
  204. data/lib/pay_quicker_sdk/models/spendback_refund_object.rb +251 -0
  205. data/lib/pay_quicker_sdk/models/spendback_refund_result.rb +262 -0
  206. data/lib/pay_quicker_sdk/models/spendback_result.rb +301 -0
  207. data/lib/pay_quicker_sdk/models/statement_list_result.rb +106 -0
  208. data/lib/pay_quicker_sdk/models/statement_object.rb +183 -0
  209. data/lib/pay_quicker_sdk/models/statement_result.rb +192 -0
  210. data/lib/pay_quicker_sdk/models/tax_resident_statuses.rb +40 -0
  211. data/lib/pay_quicker_sdk/models/token_purposes.rb +36 -0
  212. data/lib/pay_quicker_sdk/models/transfer_list_result.rb +106 -0
  213. data/lib/pay_quicker_sdk/models/transfer_method_types.rb +48 -0
  214. data/lib/pay_quicker_sdk/models/transfer_object.rb +309 -0
  215. data/lib/pay_quicker_sdk/models/transfer_result.rb +318 -0
  216. data/lib/pay_quicker_sdk/models/transfer_statuses.rb +76 -0
  217. data/lib/pay_quicker_sdk/models/transfer_types.rb +112 -0
  218. data/lib/pay_quicker_sdk/models/translation.rb +85 -0
  219. data/lib/pay_quicker_sdk/models/uat_instance.rb +48 -0
  220. data/lib/pay_quicker_sdk/models/update_card_pin.rb +87 -0
  221. data/lib/pay_quicker_sdk/models/update_prepaid_card.rb +85 -0
  222. data/lib/pay_quicker_sdk/models/upload_fields.rb +40 -0
  223. data/lib/pay_quicker_sdk/models/user_action.rb +40 -0
  224. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items.rb +101 -0
  225. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items_name_items.rb +83 -0
  226. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_supplemental_docs_items.rb +92 -0
  227. data/lib/pay_quicker_sdk/models/user_document_requirement_item.rb +105 -0
  228. data/lib/pay_quicker_sdk/models/user_document_requirement_item_documents_items.rb +132 -0
  229. data/lib/pay_quicker_sdk/models/user_event_result.rb +201 -0
  230. data/lib/pay_quicker_sdk/models/user_impact.rb +48 -0
  231. data/lib/pay_quicker_sdk/models/user_list_result.rb +106 -0
  232. data/lib/pay_quicker_sdk/models/user_object.rb +676 -0
  233. data/lib/pay_quicker_sdk/models/user_result.rb +686 -0
  234. data/lib/pay_quicker_sdk/models/user_statuses.rb +40 -0
  235. data/lib/pay_quicker_sdk/models/user_types.rb +36 -0
  236. data/lib/pay_quicker_sdk/models/validator_types.rb +50 -0
  237. data/lib/pay_quicker_sdk/models/webhook_namespaces.rb +307 -0
  238. data/lib/pay_quicker_sdk/models/webhook_subscription_list_result.rb +106 -0
  239. data/lib/pay_quicker_sdk/models/webhook_subscription_object.rb +158 -0
  240. data/lib/pay_quicker_sdk/models/webhook_subscription_result.rb +167 -0
  241. data/lib/pay_quicker_sdk/models/webhook_subscription_statuses.rb +44 -0
  242. data/lib/pay_quicker_sdk/utilities/date_time_helper.rb +11 -0
  243. data/lib/pay_quicker_sdk/utilities/file_wrapper.rb +28 -0
  244. data/lib/pay_quicker_sdk/utilities/union_type_lookup.rb +62 -0
  245. data/lib/pay_quicker_sdk.rb +274 -0
  246. data/test/controllers/controller_test_base.rb +24 -0
  247. data/test/controllers/test_agreements_controller.rb +108 -0
  248. data/test/controllers/test_balances_controller.rb +132 -0
  249. data/test/controllers/test_bank_accounts_controller.rb +645 -0
  250. data/test/controllers/test_client_side_controller.rb +295 -0
  251. data/test/controllers/test_compliance_controller.rb +86 -0
  252. data/test/controllers/test_documents_controller.rb +212 -0
  253. data/test/controllers/test_electronic_wallets_controller.rb +292 -0
  254. data/test/controllers/test_events_controller.rb +138 -0
  255. data/test/controllers/test_invitations_controller.rb +162 -0
  256. data/test/controllers/test_jobs_controller.rb +114 -0
  257. data/test/controllers/test_payments_controller.rb +323 -0
  258. data/test/controllers/test_prepaid_cards_controller.rb +351 -0
  259. data/test/controllers/test_program_controller.rb +134 -0
  260. data/test/controllers/test_receipts_controller.rb +813 -0
  261. data/test/controllers/test_spendback_controller.rb +302 -0
  262. data/test/controllers/test_spendback_refunds_controller.rb +128 -0
  263. data/test/controllers/test_statements_controller.rb +192 -0
  264. data/test/controllers/test_transfers_controller.rb +613 -0
  265. data/test/controllers/test_users_controller.rb +483 -0
  266. data/test/controllers/test_webhooks_controller.rb +402 -0
  267. data/test/http_response_catcher.rb +19 -0
  268. metadata +379 -0
@@ -0,0 +1,614 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module PayQuickerSdk
8
+ # CreateOrUpdateUser Model.
9
+ class CreateOrUpdateUser < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # [Currency code type](#/rest/models/structures/country) for the object
14
+ # @return [Currencies]
15
+ attr_accessor :currency
16
+
17
+ # [Program identifier](#/rest/models/structures/program-user-id) for the
18
+ # user
19
+ # @return [String]
20
+ attr_accessor :program_user_id
21
+
22
+ # Contact [email address](#/rest/models/structures/email-address) for the
23
+ # user account for the user account
24
+ # @return [String]
25
+ attr_accessor :email
26
+
27
+ # First name
28
+ # @return [String]
29
+ attr_accessor :first_name
30
+
31
+ # Last name
32
+ # @return [String]
33
+ attr_accessor :last_name
34
+
35
+ # Last name
36
+ # @return [DateTime]
37
+ attr_accessor :date_of_birth
38
+
39
+ # Tax [resident status type](#/rest/models/structures/tax-resident-status)
40
+ # @return [TaxResidentStatuses]
41
+ attr_accessor :tax_resident_status
42
+
43
+ # Tax [resident status type](#/rest/models/structures/tax-resident-status)
44
+ # @return [String]
45
+ attr_accessor :phone_number
46
+
47
+ # Tax [resident status type](#/rest/models/structures/tax-resident-status)
48
+ # @return [String]
49
+ attr_accessor :mobile_number
50
+
51
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
52
+ # used in place of the country name, e.g., for bank country or residential
53
+ # country.
54
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
55
+ # convenience.
56
+ # @return [Countries]
57
+ attr_accessor :phone_number_country
58
+
59
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
60
+ # used in place of the country name, e.g., for bank country or residential
61
+ # country.
62
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
63
+ # convenience.
64
+ # @return [Countries]
65
+ attr_accessor :mobile_number_country
66
+
67
+ # Address Line 1
68
+ # @return [String]
69
+ attr_accessor :address_line1
70
+
71
+ # Address Line 1
72
+ # @return [String]
73
+ attr_accessor :address_line2
74
+
75
+ # Address Line 1
76
+ # @return [String]
77
+ attr_accessor :address_line3
78
+
79
+ # Address Line 1
80
+ # @return [String]
81
+ attr_accessor :city
82
+
83
+ # Address Line 1
84
+ # @return [String]
85
+ attr_accessor :region
86
+
87
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
88
+ # used in place of the country name, e.g., for bank country or residential
89
+ # country.
90
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
91
+ # convenience.
92
+ # @return [Countries]
93
+ attr_accessor :country
94
+
95
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
96
+ # used in place of the country name, e.g., for bank country or residential
97
+ # country.
98
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
99
+ # convenience.
100
+ # @return [String]
101
+ attr_accessor :postal_code
102
+
103
+ # [Gender](#/rest/models/structures/gender) as a user identifies
104
+ # @return [Genders]
105
+ attr_accessor :gender
106
+
107
+ # Account holder's profile [type](#/rest/models/structures/user-type)
108
+ # @return [UserTypes]
109
+ attr_accessor :user_type
110
+
111
+ # The [Language](#/rest/models/structures/language) type in IETF's BCP 47
112
+ # format
113
+ # @return [Languages]
114
+ attr_accessor :language
115
+
116
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
117
+ # used in place of the country name, e.g., for bank country or residential
118
+ # country.
119
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
120
+ # convenience.
121
+ # @return [Countries]
122
+ attr_accessor :country_of_birth
123
+
124
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
125
+ # used in place of the country name, e.g., for bank country or residential
126
+ # country.
127
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
128
+ # convenience.
129
+ # @return [Countries]
130
+ attr_accessor :country_of_nationality
131
+
132
+ # Business contact role
133
+ # @return [BusinessContactRoles]
134
+ attr_accessor :business_contact_role
135
+
136
+ # Indicates the type of ID submitted for user verification purposes.
137
+ # @return [GovernmentIds]
138
+ attr_accessor :government_id_type
139
+
140
+ # Indicates the type of ID submitted for user verification purposes.
141
+ # @return [String]
142
+ attr_accessor :government_id
143
+
144
+ # Indicates the type of ID submitted for user verification purposes.
145
+ # @return [String]
146
+ attr_accessor :occupation_title
147
+
148
+ # [Type of occupation](#/rest/models/structures/occupation) for the user
149
+ # @return [Occupations]
150
+ attr_accessor :occupation_type
151
+
152
+ # [Type of occupation](#/rest/models/structures/occupation) for the user
153
+ # @return [String]
154
+ attr_accessor :mailing_address_line1
155
+
156
+ # [Type of occupation](#/rest/models/structures/occupation) for the user
157
+ # @return [String]
158
+ attr_accessor :mailing_address_line2
159
+
160
+ # [Type of occupation](#/rest/models/structures/occupation) for the user
161
+ # @return [String]
162
+ attr_accessor :mailing_address_line3
163
+
164
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
165
+ # used in place of the country name, e.g., for bank country or residential
166
+ # country.
167
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
168
+ # convenience.
169
+ # @return [Countries]
170
+ attr_accessor :mailing_country
171
+
172
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
173
+ # used in place of the country name, e.g., for bank country or residential
174
+ # country.
175
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
176
+ # convenience.
177
+ # @return [String]
178
+ attr_accessor :mailing_city
179
+
180
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
181
+ # used in place of the country name, e.g., for bank country or residential
182
+ # country.
183
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
184
+ # convenience.
185
+ # @return [String]
186
+ attr_accessor :mailing_region
187
+
188
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
189
+ # used in place of the country name, e.g., for bank country or residential
190
+ # country.
191
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
192
+ # convenience.
193
+ # @return [String]
194
+ attr_accessor :mailing_postal_code
195
+
196
+ # Business address line 1
197
+ # @return [String]
198
+ attr_accessor :business_address_line1
199
+
200
+ # Business address line 2
201
+ # @return [String]
202
+ attr_accessor :business_address_line2
203
+
204
+ # Business address line 3
205
+ # @return [String]
206
+ attr_accessor :business_address_line3
207
+
208
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is
209
+ # used in place of the country name, e.g., for bank country or residential
210
+ # country.
211
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
212
+ # convenience.
213
+ # @return [Countries]
214
+ attr_accessor :business_country
215
+
216
+ # Business city
217
+ # @return [String]
218
+ attr_accessor :business_city
219
+
220
+ # Region that the business is based out of
221
+ # @return [String]
222
+ attr_accessor :business_region
223
+
224
+ # Region that the business is based out of
225
+ # @return [String]
226
+ attr_accessor :business_postal_code
227
+
228
+ # Region that the business is based out of
229
+ # @return [String]
230
+ attr_accessor :premise_number
231
+
232
+ # Auto-generated unique identifier representing a program, prefixed with
233
+ # prog-
234
+ # @return [String]
235
+ attr_accessor :program_token
236
+
237
+ # Auto-generated unique identifier representing a user, prefixed with
238
+ # `user-`.
239
+ # @return [String]
240
+ attr_accessor :primary_user_token
241
+
242
+ # A mapping from model property names to API property names.
243
+ def self.names
244
+ @_hash = {} if @_hash.nil?
245
+ @_hash['currency'] = 'currency'
246
+ @_hash['program_user_id'] = 'programUserId'
247
+ @_hash['email'] = 'email'
248
+ @_hash['first_name'] = 'firstName'
249
+ @_hash['last_name'] = 'lastName'
250
+ @_hash['date_of_birth'] = 'dateOfBirth'
251
+ @_hash['tax_resident_status'] = 'taxResidentStatus'
252
+ @_hash['phone_number'] = 'phoneNumber'
253
+ @_hash['mobile_number'] = 'mobileNumber'
254
+ @_hash['phone_number_country'] = 'phoneNumberCountry'
255
+ @_hash['mobile_number_country'] = 'mobileNumberCountry'
256
+ @_hash['address_line1'] = 'addressLine1'
257
+ @_hash['address_line2'] = 'addressLine2'
258
+ @_hash['address_line3'] = 'addressLine3'
259
+ @_hash['city'] = 'city'
260
+ @_hash['region'] = 'region'
261
+ @_hash['country'] = 'country'
262
+ @_hash['postal_code'] = 'postalCode'
263
+ @_hash['gender'] = 'gender'
264
+ @_hash['user_type'] = 'userType'
265
+ @_hash['language'] = 'language'
266
+ @_hash['country_of_birth'] = 'countryOfBirth'
267
+ @_hash['country_of_nationality'] = 'countryOfNationality'
268
+ @_hash['business_contact_role'] = 'businessContactRole'
269
+ @_hash['government_id_type'] = 'governmentIdType'
270
+ @_hash['government_id'] = 'governmentId'
271
+ @_hash['occupation_title'] = 'occupationTitle'
272
+ @_hash['occupation_type'] = 'occupationType'
273
+ @_hash['mailing_address_line1'] = 'mailingAddressLine1'
274
+ @_hash['mailing_address_line2'] = 'mailingAddressLine2'
275
+ @_hash['mailing_address_line3'] = 'mailingAddressLine3'
276
+ @_hash['mailing_country'] = 'mailingCountry'
277
+ @_hash['mailing_city'] = 'mailingCity'
278
+ @_hash['mailing_region'] = 'mailingRegion'
279
+ @_hash['mailing_postal_code'] = 'mailingPostalCode'
280
+ @_hash['business_address_line1'] = 'businessAddressLine1'
281
+ @_hash['business_address_line2'] = 'businessAddressLine2'
282
+ @_hash['business_address_line3'] = 'businessAddressLine3'
283
+ @_hash['business_country'] = 'businessCountry'
284
+ @_hash['business_city'] = 'businessCity'
285
+ @_hash['business_region'] = 'businessRegion'
286
+ @_hash['business_postal_code'] = 'businessPostalCode'
287
+ @_hash['premise_number'] = 'premiseNumber'
288
+ @_hash['program_token'] = 'programToken'
289
+ @_hash['primary_user_token'] = 'primaryUserToken'
290
+ @_hash
291
+ end
292
+
293
+ # An array for optional fields
294
+ def self.optionals
295
+ %w[
296
+ currency
297
+ program_user_id
298
+ email
299
+ first_name
300
+ last_name
301
+ date_of_birth
302
+ tax_resident_status
303
+ phone_number
304
+ mobile_number
305
+ phone_number_country
306
+ mobile_number_country
307
+ address_line1
308
+ address_line2
309
+ address_line3
310
+ city
311
+ region
312
+ country
313
+ postal_code
314
+ gender
315
+ user_type
316
+ language
317
+ country_of_birth
318
+ country_of_nationality
319
+ business_contact_role
320
+ government_id_type
321
+ government_id
322
+ occupation_title
323
+ occupation_type
324
+ mailing_address_line1
325
+ mailing_address_line2
326
+ mailing_address_line3
327
+ mailing_country
328
+ mailing_city
329
+ mailing_region
330
+ mailing_postal_code
331
+ business_address_line1
332
+ business_address_line2
333
+ business_address_line3
334
+ business_country
335
+ business_city
336
+ business_region
337
+ business_postal_code
338
+ premise_number
339
+ program_token
340
+ primary_user_token
341
+ ]
342
+ end
343
+
344
+ # An array for nullable fields
345
+ def self.nullables
346
+ []
347
+ end
348
+
349
+ def initialize(currency = Currencies::USD, program_user_id = SKIP,
350
+ email = SKIP, first_name = SKIP, last_name = SKIP,
351
+ date_of_birth = SKIP, tax_resident_status = SKIP,
352
+ phone_number = SKIP, mobile_number = SKIP,
353
+ phone_number_country = SKIP, mobile_number_country = SKIP,
354
+ address_line1 = SKIP, address_line2 = SKIP,
355
+ address_line3 = SKIP, city = SKIP, region = SKIP,
356
+ country = SKIP, postal_code = SKIP, gender = SKIP,
357
+ user_type = SKIP, language = SKIP, country_of_birth = SKIP,
358
+ country_of_nationality = SKIP, business_contact_role = SKIP,
359
+ government_id_type = SKIP, government_id = SKIP,
360
+ occupation_title = SKIP, occupation_type = SKIP,
361
+ mailing_address_line1 = SKIP, mailing_address_line2 = SKIP,
362
+ mailing_address_line3 = SKIP, mailing_country = SKIP,
363
+ mailing_city = SKIP, mailing_region = SKIP,
364
+ mailing_postal_code = SKIP, business_address_line1 = SKIP,
365
+ business_address_line2 = SKIP, business_address_line3 = SKIP,
366
+ business_country = SKIP, business_city = SKIP,
367
+ business_region = SKIP, business_postal_code = SKIP,
368
+ premise_number = SKIP, program_token = SKIP,
369
+ primary_user_token = SKIP, additional_properties = {})
370
+ # Add additional model properties to the instance.
371
+ additional_properties.each do |_name, _value|
372
+ instance_variable_set("@#{_name}", _value)
373
+ end
374
+
375
+ @currency = currency unless currency == SKIP
376
+ @program_user_id = program_user_id unless program_user_id == SKIP
377
+ @email = email unless email == SKIP
378
+ @first_name = first_name unless first_name == SKIP
379
+ @last_name = last_name unless last_name == SKIP
380
+ @date_of_birth = date_of_birth unless date_of_birth == SKIP
381
+ @tax_resident_status = tax_resident_status unless tax_resident_status == SKIP
382
+ @phone_number = phone_number unless phone_number == SKIP
383
+ @mobile_number = mobile_number unless mobile_number == SKIP
384
+ @phone_number_country = phone_number_country unless phone_number_country == SKIP
385
+ @mobile_number_country = mobile_number_country unless mobile_number_country == SKIP
386
+ @address_line1 = address_line1 unless address_line1 == SKIP
387
+ @address_line2 = address_line2 unless address_line2 == SKIP
388
+ @address_line3 = address_line3 unless address_line3 == SKIP
389
+ @city = city unless city == SKIP
390
+ @region = region unless region == SKIP
391
+ @country = country unless country == SKIP
392
+ @postal_code = postal_code unless postal_code == SKIP
393
+ @gender = gender unless gender == SKIP
394
+ @user_type = user_type unless user_type == SKIP
395
+ @language = language unless language == SKIP
396
+ @country_of_birth = country_of_birth unless country_of_birth == SKIP
397
+ @country_of_nationality = country_of_nationality unless country_of_nationality == SKIP
398
+ @business_contact_role = business_contact_role unless business_contact_role == SKIP
399
+ @government_id_type = government_id_type unless government_id_type == SKIP
400
+ @government_id = government_id unless government_id == SKIP
401
+ @occupation_title = occupation_title unless occupation_title == SKIP
402
+ @occupation_type = occupation_type unless occupation_type == SKIP
403
+ @mailing_address_line1 = mailing_address_line1 unless mailing_address_line1 == SKIP
404
+ @mailing_address_line2 = mailing_address_line2 unless mailing_address_line2 == SKIP
405
+ @mailing_address_line3 = mailing_address_line3 unless mailing_address_line3 == SKIP
406
+ @mailing_country = mailing_country unless mailing_country == SKIP
407
+ @mailing_city = mailing_city unless mailing_city == SKIP
408
+ @mailing_region = mailing_region unless mailing_region == SKIP
409
+ @mailing_postal_code = mailing_postal_code unless mailing_postal_code == SKIP
410
+ @business_address_line1 = business_address_line1 unless business_address_line1 == SKIP
411
+ @business_address_line2 = business_address_line2 unless business_address_line2 == SKIP
412
+ @business_address_line3 = business_address_line3 unless business_address_line3 == SKIP
413
+ @business_country = business_country unless business_country == SKIP
414
+ @business_city = business_city unless business_city == SKIP
415
+ @business_region = business_region unless business_region == SKIP
416
+ @business_postal_code = business_postal_code unless business_postal_code == SKIP
417
+ @premise_number = premise_number unless premise_number == SKIP
418
+ @program_token = program_token unless program_token == SKIP
419
+ @primary_user_token = primary_user_token unless primary_user_token == SKIP
420
+ end
421
+
422
+ # Creates an instance of the object from a hash.
423
+ def self.from_hash(hash)
424
+ return nil unless hash
425
+
426
+ # Extract variables from the hash.
427
+ currency = hash['currency'] ||= Currencies::USD
428
+ program_user_id =
429
+ hash.key?('programUserId') ? hash['programUserId'] : SKIP
430
+ email = hash.key?('email') ? hash['email'] : SKIP
431
+ first_name = hash.key?('firstName') ? hash['firstName'] : SKIP
432
+ last_name = hash.key?('lastName') ? hash['lastName'] : SKIP
433
+ date_of_birth = if hash.key?('dateOfBirth')
434
+ (DateTimeHelper.from_rfc3339(hash['dateOfBirth']) if hash['dateOfBirth'])
435
+ else
436
+ SKIP
437
+ end
438
+ tax_resident_status =
439
+ hash.key?('taxResidentStatus') ? hash['taxResidentStatus'] : SKIP
440
+ phone_number = hash.key?('phoneNumber') ? hash['phoneNumber'] : SKIP
441
+ mobile_number = hash.key?('mobileNumber') ? hash['mobileNumber'] : SKIP
442
+ phone_number_country =
443
+ hash.key?('phoneNumberCountry') ? hash['phoneNumberCountry'] : SKIP
444
+ mobile_number_country =
445
+ hash.key?('mobileNumberCountry') ? hash['mobileNumberCountry'] : SKIP
446
+ address_line1 = hash.key?('addressLine1') ? hash['addressLine1'] : SKIP
447
+ address_line2 = hash.key?('addressLine2') ? hash['addressLine2'] : SKIP
448
+ address_line3 = hash.key?('addressLine3') ? hash['addressLine3'] : SKIP
449
+ city = hash.key?('city') ? hash['city'] : SKIP
450
+ region = hash.key?('region') ? hash['region'] : SKIP
451
+ country = hash.key?('country') ? hash['country'] : SKIP
452
+ postal_code = hash.key?('postalCode') ? hash['postalCode'] : SKIP
453
+ gender = hash.key?('gender') ? hash['gender'] : SKIP
454
+ user_type = hash.key?('userType') ? hash['userType'] : SKIP
455
+ language = hash.key?('language') ? hash['language'] : SKIP
456
+ country_of_birth =
457
+ hash.key?('countryOfBirth') ? hash['countryOfBirth'] : SKIP
458
+ country_of_nationality =
459
+ hash.key?('countryOfNationality') ? hash['countryOfNationality'] : SKIP
460
+ business_contact_role =
461
+ hash.key?('businessContactRole') ? hash['businessContactRole'] : SKIP
462
+ government_id_type =
463
+ hash.key?('governmentIdType') ? hash['governmentIdType'] : SKIP
464
+ government_id = hash.key?('governmentId') ? hash['governmentId'] : SKIP
465
+ occupation_title =
466
+ hash.key?('occupationTitle') ? hash['occupationTitle'] : SKIP
467
+ occupation_type =
468
+ hash.key?('occupationType') ? hash['occupationType'] : SKIP
469
+ mailing_address_line1 =
470
+ hash.key?('mailingAddressLine1') ? hash['mailingAddressLine1'] : SKIP
471
+ mailing_address_line2 =
472
+ hash.key?('mailingAddressLine2') ? hash['mailingAddressLine2'] : SKIP
473
+ mailing_address_line3 =
474
+ hash.key?('mailingAddressLine3') ? hash['mailingAddressLine3'] : SKIP
475
+ mailing_country =
476
+ hash.key?('mailingCountry') ? hash['mailingCountry'] : SKIP
477
+ mailing_city = hash.key?('mailingCity') ? hash['mailingCity'] : SKIP
478
+ mailing_region = hash.key?('mailingRegion') ? hash['mailingRegion'] : SKIP
479
+ mailing_postal_code =
480
+ hash.key?('mailingPostalCode') ? hash['mailingPostalCode'] : SKIP
481
+ business_address_line1 =
482
+ hash.key?('businessAddressLine1') ? hash['businessAddressLine1'] : SKIP
483
+ business_address_line2 =
484
+ hash.key?('businessAddressLine2') ? hash['businessAddressLine2'] : SKIP
485
+ business_address_line3 =
486
+ hash.key?('businessAddressLine3') ? hash['businessAddressLine3'] : SKIP
487
+ business_country =
488
+ hash.key?('businessCountry') ? hash['businessCountry'] : SKIP
489
+ business_city = hash.key?('businessCity') ? hash['businessCity'] : SKIP
490
+ business_region =
491
+ hash.key?('businessRegion') ? hash['businessRegion'] : SKIP
492
+ business_postal_code =
493
+ hash.key?('businessPostalCode') ? hash['businessPostalCode'] : SKIP
494
+ premise_number = hash.key?('premiseNumber') ? hash['premiseNumber'] : SKIP
495
+ program_token = hash.key?('programToken') ? hash['programToken'] : SKIP
496
+ primary_user_token =
497
+ hash.key?('primaryUserToken') ? hash['primaryUserToken'] : SKIP
498
+
499
+ # Clean out expected properties from Hash.
500
+ additional_properties = hash.reject { |k, _| names.value?(k) }
501
+
502
+ # Create object from extracted values.
503
+ CreateOrUpdateUser.new(currency,
504
+ program_user_id,
505
+ email,
506
+ first_name,
507
+ last_name,
508
+ date_of_birth,
509
+ tax_resident_status,
510
+ phone_number,
511
+ mobile_number,
512
+ phone_number_country,
513
+ mobile_number_country,
514
+ address_line1,
515
+ address_line2,
516
+ address_line3,
517
+ city,
518
+ region,
519
+ country,
520
+ postal_code,
521
+ gender,
522
+ user_type,
523
+ language,
524
+ country_of_birth,
525
+ country_of_nationality,
526
+ business_contact_role,
527
+ government_id_type,
528
+ government_id,
529
+ occupation_title,
530
+ occupation_type,
531
+ mailing_address_line1,
532
+ mailing_address_line2,
533
+ mailing_address_line3,
534
+ mailing_country,
535
+ mailing_city,
536
+ mailing_region,
537
+ mailing_postal_code,
538
+ business_address_line1,
539
+ business_address_line2,
540
+ business_address_line3,
541
+ business_country,
542
+ business_city,
543
+ business_region,
544
+ business_postal_code,
545
+ premise_number,
546
+ program_token,
547
+ primary_user_token,
548
+ additional_properties)
549
+ end
550
+
551
+ def to_custom_date_of_birth
552
+ DateTimeHelper.to_rfc3339(date_of_birth)
553
+ end
554
+
555
+ # Provides a human-readable string representation of the object.
556
+ def to_s
557
+ class_name = self.class.name.split('::').last
558
+ "<#{class_name} currency: #{@currency}, program_user_id: #{@program_user_id}, email:"\
559
+ " #{@email}, first_name: #{@first_name}, last_name: #{@last_name}, date_of_birth:"\
560
+ " #{@date_of_birth}, tax_resident_status: #{@tax_resident_status}, phone_number:"\
561
+ " #{@phone_number}, mobile_number: #{@mobile_number}, phone_number_country:"\
562
+ " #{@phone_number_country}, mobile_number_country: #{@mobile_number_country}, address_line1:"\
563
+ " #{@address_line1}, address_line2: #{@address_line2}, address_line3: #{@address_line3},"\
564
+ " city: #{@city}, region: #{@region}, country: #{@country}, postal_code: #{@postal_code},"\
565
+ " gender: #{@gender}, user_type: #{@user_type}, language: #{@language}, country_of_birth:"\
566
+ " #{@country_of_birth}, country_of_nationality: #{@country_of_nationality},"\
567
+ " business_contact_role: #{@business_contact_role}, government_id_type:"\
568
+ " #{@government_id_type}, government_id: #{@government_id}, occupation_title:"\
569
+ " #{@occupation_title}, occupation_type: #{@occupation_type}, mailing_address_line1:"\
570
+ " #{@mailing_address_line1}, mailing_address_line2: #{@mailing_address_line2},"\
571
+ " mailing_address_line3: #{@mailing_address_line3}, mailing_country: #{@mailing_country},"\
572
+ " mailing_city: #{@mailing_city}, mailing_region: #{@mailing_region}, mailing_postal_code:"\
573
+ " #{@mailing_postal_code}, business_address_line1: #{@business_address_line1},"\
574
+ " business_address_line2: #{@business_address_line2}, business_address_line3:"\
575
+ " #{@business_address_line3}, business_country: #{@business_country}, business_city:"\
576
+ " #{@business_city}, business_region: #{@business_region}, business_postal_code:"\
577
+ " #{@business_postal_code}, premise_number: #{@premise_number}, program_token:"\
578
+ " #{@program_token}, primary_user_token: #{@primary_user_token}, additional_properties:"\
579
+ " #{get_additional_properties}>"
580
+ end
581
+
582
+ # Provides a debugging-friendly string with detailed object information.
583
+ def inspect
584
+ class_name = self.class.name.split('::').last
585
+ "<#{class_name} currency: #{@currency.inspect}, program_user_id:"\
586
+ " #{@program_user_id.inspect}, email: #{@email.inspect}, first_name: #{@first_name.inspect},"\
587
+ " last_name: #{@last_name.inspect}, date_of_birth: #{@date_of_birth.inspect},"\
588
+ " tax_resident_status: #{@tax_resident_status.inspect}, phone_number:"\
589
+ " #{@phone_number.inspect}, mobile_number: #{@mobile_number.inspect}, phone_number_country:"\
590
+ " #{@phone_number_country.inspect}, mobile_number_country:"\
591
+ " #{@mobile_number_country.inspect}, address_line1: #{@address_line1.inspect},"\
592
+ " address_line2: #{@address_line2.inspect}, address_line3: #{@address_line3.inspect}, city:"\
593
+ " #{@city.inspect}, region: #{@region.inspect}, country: #{@country.inspect}, postal_code:"\
594
+ " #{@postal_code.inspect}, gender: #{@gender.inspect}, user_type: #{@user_type.inspect},"\
595
+ " language: #{@language.inspect}, country_of_birth: #{@country_of_birth.inspect},"\
596
+ " country_of_nationality: #{@country_of_nationality.inspect}, business_contact_role:"\
597
+ " #{@business_contact_role.inspect}, government_id_type: #{@government_id_type.inspect},"\
598
+ " government_id: #{@government_id.inspect}, occupation_title: #{@occupation_title.inspect},"\
599
+ " occupation_type: #{@occupation_type.inspect}, mailing_address_line1:"\
600
+ " #{@mailing_address_line1.inspect}, mailing_address_line2:"\
601
+ " #{@mailing_address_line2.inspect}, mailing_address_line3:"\
602
+ " #{@mailing_address_line3.inspect}, mailing_country: #{@mailing_country.inspect},"\
603
+ " mailing_city: #{@mailing_city.inspect}, mailing_region: #{@mailing_region.inspect},"\
604
+ " mailing_postal_code: #{@mailing_postal_code.inspect}, business_address_line1:"\
605
+ " #{@business_address_line1.inspect}, business_address_line2:"\
606
+ " #{@business_address_line2.inspect}, business_address_line3:"\
607
+ " #{@business_address_line3.inspect}, business_country: #{@business_country.inspect},"\
608
+ " business_city: #{@business_city.inspect}, business_region: #{@business_region.inspect},"\
609
+ " business_postal_code: #{@business_postal_code.inspect}, premise_number:"\
610
+ " #{@premise_number.inspect}, program_token: #{@program_token.inspect}, primary_user_token:"\
611
+ " #{@primary_user_token.inspect}, additional_properties: #{get_additional_properties}>"
612
+ end
613
+ end
614
+ end