velopayments 2.26.124.beta1 → 2.29.128.beta1

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 (612) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +26 -20
  3. data/README.md +19 -5
  4. data/docs/Challenge2.md +2 -2
  5. data/docs/CreatePayee.md +1 -1
  6. data/docs/CreatePayee2.md +1 -1
  7. data/docs/CreatePayeesCSVRequest.md +74 -0
  8. data/docs/CreatePayeesCSVRequest2.md +74 -0
  9. data/docs/FailedPayee.md +1 -1
  10. data/docs/FailedPayee2.md +1 -1
  11. data/docs/FundingManagerApi.md +44 -44
  12. data/docs/FundingManagerPrivateApi.md +2 -2
  13. data/docs/GetPayeeListResponse.md +1 -1
  14. data/docs/GetPayeeListResponse2.md +1 -1
  15. data/docs/GetPaymentsForPayoutResponseV4Summary.md +3 -1
  16. data/docs/InstructPayoutRequest.md +18 -0
  17. data/docs/InviteUserRequest.md +5 -3
  18. data/docs/PayeeDetailResponse.md +1 -1
  19. data/docs/PayeeDetailResponse2.md +1 -1
  20. data/docs/PayeeInvitationApi.md +18 -18
  21. data/docs/PayeeType2.md +15 -0
  22. data/docs/PayeesApi.md +33 -33
  23. data/docs/PaymentAuditServiceApi.md +32 -20
  24. data/docs/PaymentAuditServiceDeprecatedApi.md +18 -18
  25. data/docs/PaymentResponseV4.md +4 -0
  26. data/docs/PaymentV3.md +3 -1
  27. data/docs/PayorCreateApiKeyRequest.md +1 -1
  28. data/docs/PayorLogoRequest.md +18 -0
  29. data/docs/PayorV2.md +4 -0
  30. data/docs/PayorsApi.md +21 -21
  31. data/docs/PayoutSchedule.md +28 -0
  32. data/docs/PayoutSchedule2.md +26 -0
  33. data/docs/PayoutServiceApi.md +164 -18
  34. data/docs/PayoutSummaryAudit.md +3 -1
  35. data/docs/PayoutSummaryResponseV3.md +3 -1
  36. data/docs/PingResponse.md +20 -0
  37. data/docs/SchedulePayoutRequest.md +20 -0
  38. data/docs/ScheduleStatus.md +15 -0
  39. data/docs/ScheduleStatus2.md +15 -0
  40. data/docs/TokensApi.md +2 -2
  41. data/docs/UpdatePayeeDetailsRequest.md +1 -1
  42. data/docs/UpdatePayeeDetailsRequest2.md +4 -2
  43. data/docs/UserResponse.md +4 -0
  44. data/docs/UsersApi.md +24 -22
  45. data/docs/WebhooksApi.md +74 -6
  46. data/lib/velopayments/api/countries_api.rb +2 -2
  47. data/lib/velopayments/api/currencies_api.rb +2 -2
  48. data/lib/velopayments/api/funding_manager_api.rb +26 -8
  49. data/lib/velopayments/api/funding_manager_private_api.rb +6 -3
  50. data/lib/velopayments/api/login_api.rb +10 -4
  51. data/lib/velopayments/api/payee_invitation_api.rb +18 -6
  52. data/lib/velopayments/api/payees_api.rb +24 -12
  53. data/lib/velopayments/api/payment_audit_service_api.rb +30 -4
  54. data/lib/velopayments/api/payment_audit_service_deprecated_api.rb +2 -2
  55. data/lib/velopayments/api/payors_api.rb +18 -6
  56. data/lib/velopayments/api/payors_private_api.rb +6 -3
  57. data/lib/velopayments/api/payout_service_api.rb +153 -7
  58. data/lib/velopayments/api/tokens_api.rb +6 -3
  59. data/lib/velopayments/api/users_api.rb +45 -12
  60. data/lib/velopayments/api/webhooks_api.rb +69 -4
  61. data/lib/velopayments/api_client.rb +5 -5
  62. data/lib/velopayments/api_error.rb +2 -2
  63. data/lib/velopayments/configuration.rb +4 -3
  64. data/lib/velopayments/models/accepted_payment_v3.rb +2 -2
  65. data/lib/velopayments/models/access_token_response.rb +2 -2
  66. data/lib/velopayments/models/access_token_validation_request.rb +2 -2
  67. data/lib/velopayments/models/auth_response.rb +2 -2
  68. data/lib/velopayments/models/auto_top_up_config.rb +2 -2
  69. data/lib/velopayments/models/auto_top_up_config2.rb +2 -2
  70. data/lib/velopayments/models/category.rb +2 -2
  71. data/lib/velopayments/models/challenge.rb +2 -2
  72. data/lib/velopayments/models/challenge2.rb +4 -2
  73. data/lib/velopayments/models/company.rb +2 -2
  74. data/lib/velopayments/models/company2.rb +2 -2
  75. data/lib/velopayments/models/create_funding_account_request_v2.rb +2 -2
  76. data/lib/velopayments/models/create_individual.rb +2 -2
  77. data/lib/velopayments/models/create_individual2.rb +2 -2
  78. data/lib/velopayments/models/create_individual_name.rb +2 -2
  79. data/lib/velopayments/models/create_payee.rb +3 -3
  80. data/lib/velopayments/models/create_payee2.rb +3 -3
  81. data/lib/velopayments/models/create_payee_address.rb +2 -2
  82. data/lib/velopayments/models/create_payee_address2.rb +2 -2
  83. data/lib/velopayments/models/create_payees_csv_request.rb +1149 -0
  84. data/lib/velopayments/models/create_payees_csv_request2.rb +1149 -0
  85. data/lib/velopayments/models/create_payees_csv_response.rb +2 -2
  86. data/lib/velopayments/models/create_payees_csv_response2.rb +2 -2
  87. data/lib/velopayments/models/create_payees_csv_response_rejected_csv_rows.rb +2 -2
  88. data/lib/velopayments/models/create_payees_request.rb +2 -2
  89. data/lib/velopayments/models/create_payees_request2.rb +2 -2
  90. data/lib/velopayments/models/create_payment_channel.rb +2 -2
  91. data/lib/velopayments/models/create_payment_channel2.rb +2 -2
  92. data/lib/velopayments/models/create_payor_link_request.rb +2 -2
  93. data/lib/velopayments/models/create_payout_request_v3.rb +2 -2
  94. data/lib/velopayments/models/create_webhook_request.rb +2 -2
  95. data/lib/velopayments/models/debit_event.rb +2 -2
  96. data/lib/velopayments/models/debit_event_all_of.rb +2 -2
  97. data/lib/velopayments/models/debit_status_changed.rb +2 -2
  98. data/lib/velopayments/models/debit_status_changed_all_of.rb +2 -2
  99. data/lib/velopayments/models/error.rb +2 -2
  100. data/lib/velopayments/models/error_data.rb +2 -2
  101. data/lib/velopayments/models/error_response.rb +2 -2
  102. data/lib/velopayments/models/failed_payee.rb +3 -3
  103. data/lib/velopayments/models/failed_payee2.rb +3 -3
  104. data/lib/velopayments/models/failed_submission.rb +2 -2
  105. data/lib/velopayments/models/failed_submission2.rb +2 -2
  106. data/lib/velopayments/models/funding_account_response.rb +2 -2
  107. data/lib/velopayments/models/funding_account_response2.rb +2 -2
  108. data/lib/velopayments/models/funding_account_type.rb +2 -2
  109. data/lib/velopayments/models/funding_audit.rb +2 -2
  110. data/lib/velopayments/models/funding_event.rb +2 -2
  111. data/lib/velopayments/models/funding_event_type.rb +2 -2
  112. data/lib/velopayments/models/funding_payor_status_audit_response.rb +2 -2
  113. data/lib/velopayments/models/funding_request_v1.rb +2 -2
  114. data/lib/velopayments/models/funding_request_v2.rb +2 -2
  115. data/lib/velopayments/models/funding_request_v3.rb +2 -2
  116. data/lib/velopayments/models/fx_summary.rb +2 -2
  117. data/lib/velopayments/models/fx_summary_v3.rb +2 -2
  118. data/lib/velopayments/models/get_fundings_response.rb +2 -2
  119. data/lib/velopayments/models/get_fundings_response_links.rb +2 -2
  120. data/lib/velopayments/models/get_payee_list_response.rb +3 -3
  121. data/lib/velopayments/models/get_payee_list_response2.rb +3 -3
  122. data/lib/velopayments/models/get_payee_list_response_company.rb +2 -2
  123. data/lib/velopayments/models/get_payee_list_response_company2.rb +2 -2
  124. data/lib/velopayments/models/get_payee_list_response_individual.rb +2 -2
  125. data/lib/velopayments/models/get_payee_list_response_individual2.rb +2 -2
  126. data/lib/velopayments/models/get_payments_for_payout_response_v3.rb +2 -2
  127. data/lib/velopayments/models/get_payments_for_payout_response_v3_page.rb +2 -2
  128. data/lib/velopayments/models/get_payments_for_payout_response_v3_summary.rb +2 -2
  129. data/lib/velopayments/models/get_payments_for_payout_response_v4.rb +2 -2
  130. data/lib/velopayments/models/get_payments_for_payout_response_v4_summary.rb +15 -6
  131. data/lib/velopayments/models/get_payout_statistics.rb +2 -2
  132. data/lib/velopayments/models/get_payouts_response.rb +2 -2
  133. data/lib/velopayments/models/get_payouts_response_v3.rb +2 -2
  134. data/lib/velopayments/models/get_payouts_response_v3_links.rb +2 -2
  135. data/lib/velopayments/models/get_payouts_response_v3_page.rb +2 -2
  136. data/lib/velopayments/models/individual.rb +2 -2
  137. data/lib/velopayments/models/individual2.rb +2 -2
  138. data/lib/velopayments/models/individual_name.rb +2 -2
  139. data/lib/velopayments/models/inline_response400.rb +2 -2
  140. data/lib/velopayments/models/inline_response401.rb +2 -2
  141. data/lib/velopayments/models/inline_response403.rb +2 -2
  142. data/lib/velopayments/models/inline_response404.rb +2 -2
  143. data/lib/velopayments/models/inline_response409.rb +2 -2
  144. data/lib/velopayments/models/inline_response412.rb +2 -2
  145. data/lib/velopayments/models/instruct_payout_request.rb +219 -0
  146. data/lib/velopayments/models/invitation_status.rb +2 -2
  147. data/lib/velopayments/models/invitation_status2.rb +2 -2
  148. data/lib/velopayments/models/invite_payee_request.rb +2 -2
  149. data/lib/velopayments/models/invite_payee_request2.rb +2 -2
  150. data/lib/velopayments/models/invite_user_request.rb +27 -5
  151. data/lib/velopayments/models/kyc_state.rb +2 -2
  152. data/lib/velopayments/models/link_for_response.rb +2 -2
  153. data/lib/velopayments/models/list_funding_accounts_response.rb +2 -2
  154. data/lib/velopayments/models/list_funding_accounts_response2.rb +2 -2
  155. data/lib/velopayments/models/list_payments_response_v3.rb +2 -2
  156. data/lib/velopayments/models/list_payments_response_v3_page.rb +2 -2
  157. data/lib/velopayments/models/list_payments_response_v4.rb +2 -2
  158. data/lib/velopayments/models/list_source_account_response.rb +2 -2
  159. data/lib/velopayments/models/list_source_account_response_links.rb +2 -2
  160. data/lib/velopayments/models/list_source_account_response_page.rb +2 -2
  161. data/lib/velopayments/models/list_source_account_response_v2.rb +2 -2
  162. data/lib/velopayments/models/list_source_account_response_v2_links.rb +2 -2
  163. data/lib/velopayments/models/list_source_account_response_v3.rb +2 -2
  164. data/lib/velopayments/models/list_source_account_response_v3_links.rb +2 -2
  165. data/lib/velopayments/models/localisation_details.rb +2 -2
  166. data/lib/velopayments/models/mfa_details.rb +2 -2
  167. data/lib/velopayments/models/mfa_type.rb +2 -2
  168. data/lib/velopayments/models/name.rb +2 -2
  169. data/lib/velopayments/models/name2.rb +2 -2
  170. data/lib/velopayments/models/notification.rb +3 -2
  171. data/lib/velopayments/models/notifications.rb +2 -2
  172. data/lib/velopayments/models/notifications2.rb +2 -2
  173. data/lib/velopayments/models/ofac_status.rb +2 -2
  174. data/lib/velopayments/models/onboarded_status.rb +2 -2
  175. data/lib/velopayments/models/onboarded_status2.rb +2 -2
  176. data/lib/velopayments/models/onboarding_status_changed.rb +2 -2
  177. data/lib/velopayments/models/page_for_response.rb +2 -2
  178. data/lib/velopayments/models/page_resource_funding_payor_status_audit_response_funding_payor_status_audit_response.rb +2 -2
  179. data/lib/velopayments/models/paged_payee_invitation_status_response.rb +2 -2
  180. data/lib/velopayments/models/paged_payee_invitation_status_response2.rb +2 -2
  181. data/lib/velopayments/models/paged_payee_invitation_status_response_page.rb +2 -2
  182. data/lib/velopayments/models/paged_payee_response.rb +2 -2
  183. data/lib/velopayments/models/paged_payee_response2.rb +2 -2
  184. data/lib/velopayments/models/paged_payee_response_links.rb +2 -2
  185. data/lib/velopayments/models/paged_payee_response_page.rb +2 -2
  186. data/lib/velopayments/models/paged_payee_response_summary.rb +2 -2
  187. data/lib/velopayments/models/paged_payments_response_v3.rb +2 -2
  188. data/lib/velopayments/models/paged_user_response.rb +2 -2
  189. data/lib/velopayments/models/paged_user_response_links.rb +2 -2
  190. data/lib/velopayments/models/paged_user_response_page.rb +2 -2
  191. data/lib/velopayments/models/password_request.rb +2 -2
  192. data/lib/velopayments/models/payable_issue.rb +2 -2
  193. data/lib/velopayments/models/payable_issue2.rb +2 -2
  194. data/lib/velopayments/models/payable_status_changed.rb +2 -2
  195. data/lib/velopayments/models/payee_address.rb +2 -2
  196. data/lib/velopayments/models/payee_address2.rb +2 -2
  197. data/lib/velopayments/models/payee_delta.rb +2 -2
  198. data/lib/velopayments/models/payee_delta2.rb +2 -2
  199. data/lib/velopayments/models/payee_delta_response.rb +2 -2
  200. data/lib/velopayments/models/payee_delta_response2.rb +2 -2
  201. data/lib/velopayments/models/payee_delta_response2_links.rb +2 -2
  202. data/lib/velopayments/models/payee_delta_response_links.rb +2 -2
  203. data/lib/velopayments/models/payee_delta_response_page.rb +2 -2
  204. data/lib/velopayments/models/payee_detail_response.rb +3 -3
  205. data/lib/velopayments/models/payee_detail_response2.rb +3 -3
  206. data/lib/velopayments/models/payee_details_changed.rb +2 -2
  207. data/lib/velopayments/models/payee_event.rb +2 -2
  208. data/lib/velopayments/models/payee_event_all_of.rb +2 -2
  209. data/lib/velopayments/models/payee_event_all_of_reasons.rb +2 -2
  210. data/lib/velopayments/models/payee_invitation_status_response.rb +2 -2
  211. data/lib/velopayments/models/payee_invitation_status_response2.rb +2 -2
  212. data/lib/velopayments/models/payee_payor_ref.rb +2 -2
  213. data/lib/velopayments/models/payee_payor_ref_v3.rb +2 -2
  214. data/lib/velopayments/models/payee_type.rb +4 -4
  215. data/lib/velopayments/models/payee_type2.rb +37 -0
  216. data/lib/velopayments/models/payee_user_self_update_request.rb +2 -2
  217. data/lib/velopayments/models/payment_audit_currency.rb +2 -2
  218. data/lib/velopayments/models/payment_audit_currency_v3.rb +2 -2
  219. data/lib/velopayments/models/payment_channel_country.rb +2 -2
  220. data/lib/velopayments/models/payment_channel_rule.rb +2 -2
  221. data/lib/velopayments/models/payment_channel_rules_response.rb +2 -2
  222. data/lib/velopayments/models/payment_delta.rb +2 -2
  223. data/lib/velopayments/models/payment_delta_response.rb +2 -2
  224. data/lib/velopayments/models/payment_delta_response_v1.rb +2 -2
  225. data/lib/velopayments/models/payment_delta_v1.rb +2 -2
  226. data/lib/velopayments/models/payment_event.rb +2 -2
  227. data/lib/velopayments/models/payment_event_all_of.rb +2 -2
  228. data/lib/velopayments/models/payment_event_response.rb +2 -2
  229. data/lib/velopayments/models/payment_event_response_v3.rb +2 -2
  230. data/lib/velopayments/models/payment_instruction_v3.rb +2 -2
  231. data/lib/velopayments/models/payment_rails.rb +2 -2
  232. data/lib/velopayments/models/payment_rejected_or_returned.rb +2 -2
  233. data/lib/velopayments/models/payment_rejected_or_returned_all_of.rb +2 -2
  234. data/lib/velopayments/models/payment_response_v3.rb +2 -2
  235. data/lib/velopayments/models/payment_response_v4.rb +22 -3
  236. data/lib/velopayments/models/payment_response_v4_payout.rb +2 -2
  237. data/lib/velopayments/models/payment_status_changed.rb +2 -2
  238. data/lib/velopayments/models/payment_status_changed_all_of.rb +2 -2
  239. data/lib/velopayments/models/payment_v3.rb +16 -6
  240. data/lib/velopayments/models/payor_address.rb +2 -2
  241. data/lib/velopayments/models/payor_address_v2.rb +2 -2
  242. data/lib/velopayments/models/payor_aml_transaction.rb +2 -2
  243. data/lib/velopayments/models/payor_aml_transaction_v3.rb +2 -2
  244. data/lib/velopayments/models/payor_branding_response.rb +2 -2
  245. data/lib/velopayments/models/payor_create_api_key_request.rb +3 -3
  246. data/lib/velopayments/models/payor_create_api_key_response.rb +2 -2
  247. data/lib/velopayments/models/payor_create_application_request.rb +2 -2
  248. data/lib/velopayments/models/payor_email_opt_out_request.rb +2 -2
  249. data/lib/velopayments/models/payor_links_response.rb +2 -2
  250. data/lib/velopayments/models/payor_links_response_links.rb +2 -2
  251. data/lib/velopayments/models/payor_links_response_payors.rb +2 -2
  252. data/lib/velopayments/models/payor_logo_request.rb +218 -0
  253. data/lib/velopayments/models/payor_v1.rb +2 -2
  254. data/lib/velopayments/models/payor_v2.rb +23 -3
  255. data/lib/velopayments/models/payout_company_v3.rb +2 -2
  256. data/lib/velopayments/models/payout_individual_v3.rb +2 -2
  257. data/lib/velopayments/models/payout_name_v3.rb +2 -2
  258. data/lib/velopayments/models/payout_payee_v3.rb +2 -2
  259. data/lib/velopayments/models/payout_payor.rb +2 -2
  260. data/lib/velopayments/models/payout_payor_ids.rb +2 -2
  261. data/lib/velopayments/models/payout_principal.rb +2 -2
  262. data/lib/velopayments/models/payout_schedule.rb +291 -0
  263. data/lib/velopayments/models/payout_schedule2.rb +281 -0
  264. data/lib/velopayments/models/payout_status.rb +2 -2
  265. data/lib/velopayments/models/payout_status_v3.rb +2 -2
  266. data/lib/velopayments/models/payout_summary_audit.rb +15 -6
  267. data/lib/velopayments/models/payout_summary_audit_v3.rb +2 -2
  268. data/lib/velopayments/models/payout_summary_response_v3.rb +15 -6
  269. data/lib/velopayments/models/payout_type.rb +2 -2
  270. data/lib/velopayments/models/ping.rb +2 -2
  271. data/lib/velopayments/models/ping_response.rb +227 -0
  272. data/lib/velopayments/models/query_batch_response.rb +2 -2
  273. data/lib/velopayments/models/query_batch_response2.rb +2 -2
  274. data/lib/velopayments/models/quote_fx_summary_v3.rb +2 -2
  275. data/lib/velopayments/models/quote_response_v3.rb +2 -2
  276. data/lib/velopayments/models/region_v2.rb +2 -2
  277. data/lib/velopayments/models/register_sms_request.rb +2 -2
  278. data/lib/velopayments/models/rejected_payment_v3.rb +2 -2
  279. data/lib/velopayments/models/resend_token_request.rb +2 -2
  280. data/lib/velopayments/models/reset_password_request.rb +2 -2
  281. data/lib/velopayments/models/role.rb +2 -2
  282. data/lib/velopayments/models/role_update_request.rb +2 -2
  283. data/lib/velopayments/models/schedule_payout_request.rb +239 -0
  284. data/lib/velopayments/models/schedule_status.rb +38 -0
  285. data/lib/velopayments/models/schedule_status2.rb +38 -0
  286. data/lib/velopayments/models/self_mfa_type_unregister_request.rb +2 -2
  287. data/lib/velopayments/models/self_update_password_request.rb +2 -2
  288. data/lib/velopayments/models/set_notifications_request.rb +2 -2
  289. data/lib/velopayments/models/source_account_response.rb +2 -2
  290. data/lib/velopayments/models/source_account_response_v2.rb +2 -2
  291. data/lib/velopayments/models/source_account_response_v3.rb +2 -2
  292. data/lib/velopayments/models/source_account_summary.rb +2 -2
  293. data/lib/velopayments/models/source_account_summary_v3.rb +2 -2
  294. data/lib/velopayments/models/source_account_type.rb +2 -2
  295. data/lib/velopayments/models/source_account_v3.rb +2 -2
  296. data/lib/velopayments/models/source_event.rb +2 -2
  297. data/lib/velopayments/models/supported_countries_response.rb +2 -2
  298. data/lib/velopayments/models/supported_countries_response_v2.rb +2 -2
  299. data/lib/velopayments/models/supported_country.rb +2 -2
  300. data/lib/velopayments/models/supported_country_v2.rb +2 -2
  301. data/lib/velopayments/models/supported_currency_response_v2.rb +2 -2
  302. data/lib/velopayments/models/supported_currency_v2.rb +2 -2
  303. data/lib/velopayments/models/transfer_request.rb +2 -2
  304. data/lib/velopayments/models/transfer_request2.rb +2 -2
  305. data/lib/velopayments/models/transmission_type.rb +2 -2
  306. data/lib/velopayments/models/transmission_types.rb +2 -2
  307. data/lib/velopayments/models/transmission_types2.rb +2 -2
  308. data/lib/velopayments/models/unregister_mfa_request.rb +2 -2
  309. data/lib/velopayments/models/update_payee_details_request.rb +3 -3
  310. data/lib/velopayments/models/update_payee_details_request2.rb +35 -8
  311. data/lib/velopayments/models/update_remote_id_request.rb +2 -2
  312. data/lib/velopayments/models/update_remote_id_request2.rb +2 -2
  313. data/lib/velopayments/models/update_webhook_request.rb +2 -2
  314. data/lib/velopayments/models/user_details_update_request.rb +2 -2
  315. data/lib/velopayments/models/user_info.rb +2 -2
  316. data/lib/velopayments/models/user_response.rb +59 -3
  317. data/lib/velopayments/models/user_status.rb +2 -2
  318. data/lib/velopayments/models/user_type.rb +2 -2
  319. data/lib/velopayments/models/user_type2.rb +2 -2
  320. data/lib/velopayments/models/validate_password_response.rb +2 -2
  321. data/lib/velopayments/models/watchlist_status.rb +2 -2
  322. data/lib/velopayments/models/watchlist_status2.rb +2 -2
  323. data/lib/velopayments/models/webhook_response.rb +2 -2
  324. data/lib/velopayments/models/webhooks_response.rb +2 -2
  325. data/lib/velopayments/models/withdraw_payment_request.rb +2 -2
  326. data/lib/velopayments/version.rb +3 -3
  327. data/lib/velopayments.rb +13 -2
  328. data/oa3-config.json +1 -1
  329. data/spec/api/countries_api_spec.rb +2 -2
  330. data/spec/api/currencies_api_spec.rb +2 -2
  331. data/spec/api/funding_manager_api_spec.rb +2 -2
  332. data/spec/api/funding_manager_private_api_spec.rb +2 -2
  333. data/spec/api/login_api_spec.rb +2 -2
  334. data/spec/api/payee_invitation_api_spec.rb +2 -2
  335. data/spec/api/payees_api_spec.rb +5 -5
  336. data/spec/api/payment_audit_service_api_spec.rb +9 -3
  337. data/spec/api/payment_audit_service_deprecated_api_spec.rb +2 -2
  338. data/spec/api/payors_api_spec.rb +2 -2
  339. data/spec/api/payors_private_api_spec.rb +2 -2
  340. data/spec/api/payout_service_api_spec.rb +29 -3
  341. data/spec/api/tokens_api_spec.rb +2 -2
  342. data/spec/api/users_api_spec.rb +3 -2
  343. data/spec/api/webhooks_api_spec.rb +12 -2
  344. data/spec/api_client_spec.rb +4 -4
  345. data/spec/configuration_spec.rb +2 -2
  346. data/spec/models/accepted_payment_v3_spec.rb +2 -2
  347. data/spec/models/access_token_response_spec.rb +2 -2
  348. data/spec/models/access_token_validation_request_spec.rb +2 -2
  349. data/spec/models/auth_response_spec.rb +2 -2
  350. data/spec/models/auto_top_up_config2_spec.rb +2 -2
  351. data/spec/models/auto_top_up_config_spec.rb +2 -2
  352. data/spec/models/category_spec.rb +2 -2
  353. data/spec/models/challenge2_spec.rb +2 -2
  354. data/spec/models/challenge_spec.rb +2 -2
  355. data/spec/models/company2_spec.rb +2 -2
  356. data/spec/models/company_spec.rb +2 -2
  357. data/spec/models/create_funding_account_request_v2_spec.rb +2 -2
  358. data/spec/models/create_individual2_spec.rb +2 -2
  359. data/spec/models/create_individual_name_spec.rb +2 -2
  360. data/spec/models/create_individual_spec.rb +2 -2
  361. data/spec/models/create_payee2_spec.rb +2 -2
  362. data/spec/models/create_payee_address2_spec.rb +2 -2
  363. data/spec/models/create_payee_address_spec.rb +2 -2
  364. data/spec/models/create_payee_spec.rb +2 -2
  365. data/spec/models/create_payees_csv_request2_spec.rb +214 -0
  366. data/spec/models/create_payees_csv_request_spec.rb +214 -0
  367. data/spec/models/create_payees_csv_response2_spec.rb +2 -2
  368. data/spec/models/create_payees_csv_response_rejected_csv_rows_spec.rb +2 -2
  369. data/spec/models/create_payees_csv_response_spec.rb +2 -2
  370. data/spec/models/create_payees_request2_spec.rb +2 -2
  371. data/spec/models/create_payees_request_spec.rb +2 -2
  372. data/spec/models/create_payment_channel2_spec.rb +2 -2
  373. data/spec/models/create_payment_channel_spec.rb +2 -2
  374. data/spec/models/create_payor_link_request_spec.rb +2 -2
  375. data/spec/models/create_payout_request_v3_spec.rb +2 -2
  376. data/spec/models/create_webhook_request_spec.rb +2 -2
  377. data/spec/models/debit_event_all_of_spec.rb +2 -2
  378. data/spec/models/debit_event_spec.rb +2 -2
  379. data/spec/models/debit_status_changed_all_of_spec.rb +2 -2
  380. data/spec/models/debit_status_changed_spec.rb +2 -2
  381. data/spec/models/error_data_spec.rb +2 -2
  382. data/spec/models/error_response_spec.rb +2 -2
  383. data/spec/models/error_spec.rb +2 -2
  384. data/spec/models/failed_payee2_spec.rb +2 -2
  385. data/spec/models/failed_payee_spec.rb +2 -2
  386. data/spec/models/failed_submission2_spec.rb +2 -2
  387. data/spec/models/failed_submission_spec.rb +2 -2
  388. data/spec/models/funding_account_response2_spec.rb +2 -2
  389. data/spec/models/funding_account_response_spec.rb +2 -2
  390. data/spec/models/funding_account_type_spec.rb +2 -2
  391. data/spec/models/funding_audit_spec.rb +2 -2
  392. data/spec/models/funding_event_spec.rb +2 -2
  393. data/spec/models/funding_event_type_spec.rb +2 -2
  394. data/spec/models/funding_payor_status_audit_response_spec.rb +2 -2
  395. data/spec/models/funding_request_v1_spec.rb +2 -2
  396. data/spec/models/funding_request_v2_spec.rb +2 -2
  397. data/spec/models/funding_request_v3_spec.rb +2 -2
  398. data/spec/models/fx_summary_spec.rb +2 -2
  399. data/spec/models/fx_summary_v3_spec.rb +2 -2
  400. data/spec/models/get_fundings_response_links_spec.rb +2 -2
  401. data/spec/models/get_fundings_response_spec.rb +2 -2
  402. data/spec/models/get_payee_list_response2_spec.rb +2 -2
  403. data/spec/models/get_payee_list_response_company2_spec.rb +2 -2
  404. data/spec/models/get_payee_list_response_company_spec.rb +2 -2
  405. data/spec/models/get_payee_list_response_individual2_spec.rb +2 -2
  406. data/spec/models/get_payee_list_response_individual_spec.rb +2 -2
  407. data/spec/models/get_payee_list_response_spec.rb +2 -2
  408. data/spec/models/get_payments_for_payout_response_v3_page_spec.rb +2 -2
  409. data/spec/models/get_payments_for_payout_response_v3_spec.rb +2 -2
  410. data/spec/models/get_payments_for_payout_response_v3_summary_spec.rb +2 -2
  411. data/spec/models/get_payments_for_payout_response_v4_spec.rb +2 -2
  412. data/spec/models/get_payments_for_payout_response_v4_summary_spec.rb +8 -2
  413. data/spec/models/get_payout_statistics_spec.rb +2 -2
  414. data/spec/models/get_payouts_response_spec.rb +2 -2
  415. data/spec/models/get_payouts_response_v3_links_spec.rb +2 -2
  416. data/spec/models/get_payouts_response_v3_page_spec.rb +2 -2
  417. data/spec/models/get_payouts_response_v3_spec.rb +2 -2
  418. data/spec/models/individual2_spec.rb +2 -2
  419. data/spec/models/individual_name_spec.rb +2 -2
  420. data/spec/models/individual_spec.rb +2 -2
  421. data/spec/models/inline_response400_spec.rb +2 -2
  422. data/spec/models/inline_response401_spec.rb +2 -2
  423. data/spec/models/inline_response403_spec.rb +2 -2
  424. data/spec/models/inline_response404_spec.rb +2 -2
  425. data/spec/models/inline_response409_spec.rb +2 -2
  426. data/spec/models/inline_response412_spec.rb +2 -2
  427. data/spec/models/instruct_payout_request_spec.rb +34 -0
  428. data/spec/models/invitation_status2_spec.rb +2 -2
  429. data/spec/models/invitation_status_spec.rb +2 -2
  430. data/spec/models/invite_payee_request2_spec.rb +2 -2
  431. data/spec/models/invite_payee_request_spec.rb +2 -2
  432. data/spec/models/invite_user_request_spec.rb +12 -2
  433. data/spec/models/kyc_state_spec.rb +2 -2
  434. data/spec/models/link_for_response_spec.rb +2 -2
  435. data/spec/models/list_funding_accounts_response2_spec.rb +2 -2
  436. data/spec/models/list_funding_accounts_response_spec.rb +2 -2
  437. data/spec/models/list_payments_response_v3_page_spec.rb +2 -2
  438. data/spec/models/list_payments_response_v3_spec.rb +2 -2
  439. data/spec/models/list_payments_response_v4_spec.rb +2 -2
  440. data/spec/models/list_source_account_response_links_spec.rb +2 -2
  441. data/spec/models/list_source_account_response_page_spec.rb +2 -2
  442. data/spec/models/list_source_account_response_spec.rb +2 -2
  443. data/spec/models/list_source_account_response_v2_links_spec.rb +2 -2
  444. data/spec/models/list_source_account_response_v2_spec.rb +2 -2
  445. data/spec/models/list_source_account_response_v3_links_spec.rb +2 -2
  446. data/spec/models/list_source_account_response_v3_spec.rb +2 -2
  447. data/spec/models/localisation_details_spec.rb +2 -2
  448. data/spec/models/mfa_details_spec.rb +2 -2
  449. data/spec/models/mfa_type_spec.rb +2 -2
  450. data/spec/models/name2_spec.rb +2 -2
  451. data/spec/models/name_spec.rb +2 -2
  452. data/spec/models/notification_spec.rb +2 -2
  453. data/spec/models/notifications2_spec.rb +2 -2
  454. data/spec/models/notifications_spec.rb +2 -2
  455. data/spec/models/ofac_status_spec.rb +2 -2
  456. data/spec/models/onboarded_status2_spec.rb +2 -2
  457. data/spec/models/onboarded_status_spec.rb +2 -2
  458. data/spec/models/onboarding_status_changed_spec.rb +2 -2
  459. data/spec/models/page_for_response_spec.rb +2 -2
  460. data/spec/models/page_resource_funding_payor_status_audit_response_funding_payor_status_audit_response_spec.rb +2 -2
  461. data/spec/models/paged_payee_invitation_status_response2_spec.rb +2 -2
  462. data/spec/models/paged_payee_invitation_status_response_page_spec.rb +2 -2
  463. data/spec/models/paged_payee_invitation_status_response_spec.rb +2 -2
  464. data/spec/models/paged_payee_response2_spec.rb +2 -2
  465. data/spec/models/paged_payee_response_links_spec.rb +2 -2
  466. data/spec/models/paged_payee_response_page_spec.rb +2 -2
  467. data/spec/models/paged_payee_response_spec.rb +2 -2
  468. data/spec/models/paged_payee_response_summary_spec.rb +2 -2
  469. data/spec/models/paged_payments_response_v3_spec.rb +2 -2
  470. data/spec/models/paged_user_response_links_spec.rb +2 -2
  471. data/spec/models/paged_user_response_page_spec.rb +2 -2
  472. data/spec/models/paged_user_response_spec.rb +2 -2
  473. data/spec/models/password_request_spec.rb +2 -2
  474. data/spec/models/payable_issue2_spec.rb +2 -2
  475. data/spec/models/payable_issue_spec.rb +2 -2
  476. data/spec/models/payable_status_changed_spec.rb +2 -2
  477. data/spec/models/payee_address2_spec.rb +2 -2
  478. data/spec/models/payee_address_spec.rb +2 -2
  479. data/spec/models/payee_delta2_spec.rb +2 -2
  480. data/spec/models/payee_delta_response2_links_spec.rb +2 -2
  481. data/spec/models/payee_delta_response2_spec.rb +2 -2
  482. data/spec/models/payee_delta_response_links_spec.rb +2 -2
  483. data/spec/models/payee_delta_response_page_spec.rb +2 -2
  484. data/spec/models/payee_delta_response_spec.rb +2 -2
  485. data/spec/models/payee_delta_spec.rb +2 -2
  486. data/spec/models/payee_detail_response2_spec.rb +2 -2
  487. data/spec/models/payee_detail_response_spec.rb +2 -2
  488. data/spec/models/payee_details_changed_spec.rb +2 -2
  489. data/spec/models/payee_event_all_of_reasons_spec.rb +2 -2
  490. data/spec/models/payee_event_all_of_spec.rb +2 -2
  491. data/spec/models/payee_event_spec.rb +2 -2
  492. data/spec/models/payee_invitation_status_response2_spec.rb +2 -2
  493. data/spec/models/payee_invitation_status_response_spec.rb +2 -2
  494. data/spec/models/payee_payor_ref_spec.rb +2 -2
  495. data/spec/models/payee_payor_ref_v3_spec.rb +2 -2
  496. data/spec/models/payee_type2_spec.rb +28 -0
  497. data/spec/models/payee_type_spec.rb +2 -2
  498. data/spec/models/payee_user_self_update_request_spec.rb +2 -2
  499. data/spec/models/payment_audit_currency_spec.rb +2 -2
  500. data/spec/models/payment_audit_currency_v3_spec.rb +2 -2
  501. data/spec/models/payment_channel_country_spec.rb +2 -2
  502. data/spec/models/payment_channel_rule_spec.rb +2 -2
  503. data/spec/models/payment_channel_rules_response_spec.rb +2 -2
  504. data/spec/models/payment_delta_response_spec.rb +2 -2
  505. data/spec/models/payment_delta_response_v1_spec.rb +2 -2
  506. data/spec/models/payment_delta_spec.rb +2 -2
  507. data/spec/models/payment_delta_v1_spec.rb +2 -2
  508. data/spec/models/payment_event_all_of_spec.rb +2 -2
  509. data/spec/models/payment_event_response_spec.rb +2 -2
  510. data/spec/models/payment_event_response_v3_spec.rb +2 -2
  511. data/spec/models/payment_event_spec.rb +2 -2
  512. data/spec/models/payment_instruction_v3_spec.rb +2 -2
  513. data/spec/models/payment_rails_spec.rb +2 -2
  514. data/spec/models/payment_rejected_or_returned_all_of_spec.rb +2 -2
  515. data/spec/models/payment_rejected_or_returned_spec.rb +2 -2
  516. data/spec/models/payment_response_v3_spec.rb +2 -2
  517. data/spec/models/payment_response_v4_payout_spec.rb +2 -2
  518. data/spec/models/payment_response_v4_spec.rb +14 -2
  519. data/spec/models/payment_status_changed_all_of_spec.rb +2 -2
  520. data/spec/models/payment_status_changed_spec.rb +2 -2
  521. data/spec/models/payment_v3_spec.rb +8 -2
  522. data/spec/models/payor_address_spec.rb +2 -2
  523. data/spec/models/payor_address_v2_spec.rb +2 -2
  524. data/spec/models/payor_aml_transaction_spec.rb +2 -2
  525. data/spec/models/payor_aml_transaction_v3_spec.rb +2 -2
  526. data/spec/models/payor_branding_response_spec.rb +2 -2
  527. data/spec/models/payor_create_api_key_request_spec.rb +2 -2
  528. data/spec/models/payor_create_api_key_response_spec.rb +2 -2
  529. data/spec/models/payor_create_application_request_spec.rb +2 -2
  530. data/spec/models/payor_email_opt_out_request_spec.rb +2 -2
  531. data/spec/models/payor_links_response_links_spec.rb +2 -2
  532. data/spec/models/payor_links_response_payors_spec.rb +2 -2
  533. data/spec/models/payor_links_response_spec.rb +2 -2
  534. data/spec/models/payor_logo_request_spec.rb +34 -0
  535. data/spec/models/payor_v1_spec.rb +2 -2
  536. data/spec/models/payor_v2_spec.rb +14 -2
  537. data/spec/models/payout_company_v3_spec.rb +2 -2
  538. data/spec/models/payout_individual_v3_spec.rb +2 -2
  539. data/spec/models/payout_name_v3_spec.rb +2 -2
  540. data/spec/models/payout_payee_v3_spec.rb +2 -2
  541. data/spec/models/payout_payor_ids_spec.rb +2 -2
  542. data/spec/models/payout_payor_spec.rb +2 -2
  543. data/spec/models/payout_principal_spec.rb +2 -2
  544. data/spec/models/payout_schedule2_spec.rb +58 -0
  545. data/spec/models/payout_schedule_spec.rb +64 -0
  546. data/spec/models/payout_status_spec.rb +2 -2
  547. data/spec/models/payout_status_v3_spec.rb +2 -2
  548. data/spec/models/payout_summary_audit_spec.rb +8 -2
  549. data/spec/models/payout_summary_audit_v3_spec.rb +2 -2
  550. data/spec/models/payout_summary_response_v3_spec.rb +8 -2
  551. data/spec/models/payout_type_spec.rb +2 -2
  552. data/spec/models/ping_response_spec.rb +40 -0
  553. data/spec/models/ping_spec.rb +2 -2
  554. data/spec/models/query_batch_response2_spec.rb +2 -2
  555. data/spec/models/query_batch_response_spec.rb +2 -2
  556. data/spec/models/quote_fx_summary_v3_spec.rb +2 -2
  557. data/spec/models/quote_response_v3_spec.rb +2 -2
  558. data/spec/models/region_v2_spec.rb +2 -2
  559. data/spec/models/register_sms_request_spec.rb +2 -2
  560. data/spec/models/rejected_payment_v3_spec.rb +2 -2
  561. data/spec/models/resend_token_request_spec.rb +2 -2
  562. data/spec/models/reset_password_request_spec.rb +2 -2
  563. data/spec/models/role_spec.rb +2 -2
  564. data/spec/models/role_update_request_spec.rb +2 -2
  565. data/spec/models/schedule_payout_request_spec.rb +40 -0
  566. data/spec/models/schedule_status2_spec.rb +28 -0
  567. data/spec/models/schedule_status_spec.rb +28 -0
  568. data/spec/models/self_mfa_type_unregister_request_spec.rb +2 -2
  569. data/spec/models/self_update_password_request_spec.rb +2 -2
  570. data/spec/models/set_notifications_request_spec.rb +2 -2
  571. data/spec/models/source_account_response_spec.rb +2 -2
  572. data/spec/models/source_account_response_v2_spec.rb +2 -2
  573. data/spec/models/source_account_response_v3_spec.rb +2 -2
  574. data/spec/models/source_account_summary_spec.rb +2 -2
  575. data/spec/models/source_account_summary_v3_spec.rb +2 -2
  576. data/spec/models/source_account_type_spec.rb +2 -2
  577. data/spec/models/source_account_v3_spec.rb +2 -2
  578. data/spec/models/source_event_spec.rb +2 -2
  579. data/spec/models/supported_countries_response_spec.rb +2 -2
  580. data/spec/models/supported_countries_response_v2_spec.rb +2 -2
  581. data/spec/models/supported_country_spec.rb +2 -2
  582. data/spec/models/supported_country_v2_spec.rb +2 -2
  583. data/spec/models/supported_currency_response_v2_spec.rb +2 -2
  584. data/spec/models/supported_currency_v2_spec.rb +2 -2
  585. data/spec/models/transfer_request2_spec.rb +2 -2
  586. data/spec/models/transfer_request_spec.rb +2 -2
  587. data/spec/models/transmission_type_spec.rb +2 -2
  588. data/spec/models/transmission_types2_spec.rb +2 -2
  589. data/spec/models/transmission_types_spec.rb +2 -2
  590. data/spec/models/unregister_mfa_request_spec.rb +2 -2
  591. data/spec/models/update_payee_details_request2_spec.rb +8 -2
  592. data/spec/models/update_payee_details_request_spec.rb +2 -2
  593. data/spec/models/update_remote_id_request2_spec.rb +2 -2
  594. data/spec/models/update_remote_id_request_spec.rb +2 -2
  595. data/spec/models/update_webhook_request_spec.rb +2 -2
  596. data/spec/models/user_details_update_request_spec.rb +2 -2
  597. data/spec/models/user_info_spec.rb +2 -2
  598. data/spec/models/user_response_spec.rb +18 -2
  599. data/spec/models/user_status_spec.rb +2 -2
  600. data/spec/models/user_type2_spec.rb +2 -2
  601. data/spec/models/user_type_spec.rb +2 -2
  602. data/spec/models/validate_password_response_spec.rb +2 -2
  603. data/spec/models/watchlist_status2_spec.rb +2 -2
  604. data/spec/models/watchlist_status_spec.rb +2 -2
  605. data/spec/models/webhook_response_spec.rb +2 -2
  606. data/spec/models/webhooks_response_spec.rb +2 -2
  607. data/spec/models/withdraw_payment_request_spec.rb +2 -2
  608. data/spec/spec_helper.rb +2 -2
  609. data/specs/api/payment_audit_service_deprecated_api_spec.rb +177 -0
  610. data/specs/api/webhooks_api_spec.rb +96 -0
  611. data/velopayments.gemspec +2 -2
  612. metadata +48 -2
@@ -0,0 +1,1149 @@
1
+ =begin
2
+ #Velo Payments APIs
3
+
4
+ ### Terms and Definitions Throughout this document and the Velo platform the following terms are used: * **Payor.** An entity (typically a corporation) which wishes to pay funds to one or more payees via a payout. * **Payee.** The recipient of funds paid out by a payor. * **Payment.** A single transfer of funds from a payor to a payee. * **Payout.** A batch of Payments, typically used by a payor to logically group payments (e.g. by business day). Technically there need be no relationship between the payments in a payout - a single payout can contain payments to multiple payees and/or multiple payments to a single payee. * **Sandbox.** An integration environment provided by Velo Payments which offers a similar API experience to the production environment, but all funding and payment events are simulated, along with many other services such as OFAC sanctions list checking. ## Overview The Velo Payments API allows a payor to perform a number of operations. The following is a list of the main capabilities in a natural order of execution: * Authenticate with the Velo platform * Maintain a collection of payees * Query the payor’s current balance of funds within the platform and perform additional funding * Issue payments to payees * Query the platform for a history of those payments This document describes the main concepts and APIs required to get up and running with the Velo Payments platform. It is not an exhaustive API reference. For that, please see the separate Velo Payments API Reference. ## API Considerations The Velo Payments API is REST based and uses the JSON format for requests and responses. Most calls are secured using OAuth 2 security and require a valid authentication access token for successful operation. See the Authentication section for details. Where a dynamic value is required in the examples below, the {token} format is used, suggesting that the caller needs to supply the appropriate value of the token in question (without including the { or } characters). Where curl examples are given, the –d @filename.json approach is used, indicating that the request body should be placed into a file named filename.json in the current directory. Each of the curl examples in this document should be considered a single line on the command-line, regardless of how they appear in print. ## Authenticating with the Velo Platform Once Velo backoffice staff have added your organization as a payor within the Velo platform sandbox, they will create you a payor Id, an API key and an API secret and share these with you in a secure manner. You will need to use these values to authenticate with the Velo platform in order to gain access to the APIs. The steps to take are explained in the following: create a string comprising the API key (e.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8) and API secret (e.g. c396b26b-137a-44fd-87f5-34631f8fd529) with a colon between them. E.g. 44a9537d-d55d-4b47-8082-14061c2bcdd8:c396b26b-137a-44fd-87f5-34631f8fd529 base64 encode this string. E.g.: NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ== create an HTTP **Authorization** header with the value set to e.g. Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ== perform the Velo authentication REST call using the HTTP header created above e.g. via curl: ``` curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"Authorization: Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==\" \\ 'https://api.sandbox.velopayments.com/v1/authenticate?grant_type=client_credentials' ``` If successful, this call will result in a **200** HTTP status code and a response body such as: ``` { \"access_token\":\"19f6bafd-93fd-4747-b229-00507bbc991f\", \"token_type\":\"bearer\", \"expires_in\":1799, \"scope\":\"...\" } ``` ## API access following authentication Following successful authentication, the value of the access_token field in the response (indicated in green above) should then be presented with all subsequent API calls to allow the Velo platform to validate that the caller is authenticated. This is achieved by setting the HTTP Authorization header with the value set to e.g. Bearer 19f6bafd-93fd-4747-b229-00507bbc991f such as the curl example below: ``` -H \"Authorization: Bearer 19f6bafd-93fd-4747-b229-00507bbc991f \" ``` If you make other Velo API calls which require authorization but the Authorization header is missing or invalid then you will get a **401** HTTP status response.
5
+
6
+ The version of the OpenAPI document: 2.29.128
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VeloPayments
17
+ class CreatePayeesCSVRequest
18
+ attr_accessor :type
19
+
20
+ attr_accessor :remote_id
21
+
22
+ attr_accessor :email
23
+
24
+ attr_accessor :address_line1
25
+
26
+ attr_accessor :address_line2
27
+
28
+ attr_accessor :address_line3
29
+
30
+ attr_accessor :address_line4
31
+
32
+ attr_accessor :address_city
33
+
34
+ attr_accessor :address_county_or_province
35
+
36
+ attr_accessor :address_zip_or_postcode
37
+
38
+ # Must be a 2 character country code - per ISO 3166-1
39
+ attr_accessor :address_country
40
+
41
+ attr_accessor :individual_national_identification
42
+
43
+ # Must not be date in future. Example - 1970-05-20
44
+ attr_accessor :individual_date_of_birth
45
+
46
+ attr_accessor :individual_title
47
+
48
+ attr_accessor :individual_first_name
49
+
50
+ attr_accessor :individual_other_names
51
+
52
+ attr_accessor :individual_last_name
53
+
54
+ attr_accessor :company_name
55
+
56
+ attr_accessor :company_ein
57
+
58
+ attr_accessor :company_operating_name
59
+
60
+ # Either routing number and account number or only iban must be set
61
+ attr_accessor :payment_channel_account_number
62
+
63
+ # Either routing number and account number or only iban must be set
64
+ attr_accessor :payment_channel_routing_number
65
+
66
+ attr_accessor :payment_channel_account_name
67
+
68
+ # Must match the regular expression ```^[A-Za-z0-9]+$```.
69
+ attr_accessor :payment_channel_iban
70
+
71
+ # Must be a 2 character country code - per ISO 3166-1
72
+ attr_accessor :payment_channel_country_code
73
+
74
+ attr_accessor :payment_channel_currency
75
+
76
+ attr_accessor :challenge_description
77
+
78
+ attr_accessor :challenge_value
79
+
80
+ # An IETF BCP 47 language code which has been configured for use within this Velo environment.<BR> See the /v1/supportedLanguages endpoint to list the available codes for an environment.
81
+ attr_accessor :payee_language
82
+
83
+ class EnumAttributeValidator
84
+ attr_reader :datatype
85
+ attr_reader :allowable_values
86
+
87
+ def initialize(datatype, allowable_values)
88
+ @allowable_values = allowable_values.map do |value|
89
+ case datatype.to_s
90
+ when /Integer/i
91
+ value.to_i
92
+ when /Float/i
93
+ value.to_f
94
+ else
95
+ value
96
+ end
97
+ end
98
+ end
99
+
100
+ def valid?(value)
101
+ !value || allowable_values.include?(value)
102
+ end
103
+ end
104
+
105
+ # Attribute mapping from ruby-style variable name to JSON key.
106
+ def self.attribute_map
107
+ {
108
+ :'type' => :'type',
109
+ :'remote_id' => :'remoteId',
110
+ :'email' => :'email',
111
+ :'address_line1' => :'addressLine1',
112
+ :'address_line2' => :'addressLine2',
113
+ :'address_line3' => :'addressLine3',
114
+ :'address_line4' => :'addressLine4',
115
+ :'address_city' => :'addressCity',
116
+ :'address_county_or_province' => :'addressCountyOrProvince',
117
+ :'address_zip_or_postcode' => :'addressZipOrPostcode',
118
+ :'address_country' => :'addressCountry',
119
+ :'individual_national_identification' => :'individualNationalIdentification',
120
+ :'individual_date_of_birth' => :'individualDateOfBirth',
121
+ :'individual_title' => :'individualTitle',
122
+ :'individual_first_name' => :'individualFirstName',
123
+ :'individual_other_names' => :'individualOtherNames',
124
+ :'individual_last_name' => :'individualLastName',
125
+ :'company_name' => :'companyName',
126
+ :'company_ein' => :'companyEIN',
127
+ :'company_operating_name' => :'companyOperatingName',
128
+ :'payment_channel_account_number' => :'paymentChannelAccountNumber',
129
+ :'payment_channel_routing_number' => :'paymentChannelRoutingNumber',
130
+ :'payment_channel_account_name' => :'paymentChannelAccountName',
131
+ :'payment_channel_iban' => :'paymentChannelIban',
132
+ :'payment_channel_country_code' => :'paymentChannelCountryCode',
133
+ :'payment_channel_currency' => :'paymentChannelCurrency',
134
+ :'challenge_description' => :'challengeDescription',
135
+ :'challenge_value' => :'challengeValue',
136
+ :'payee_language' => :'payeeLanguage'
137
+ }
138
+ end
139
+
140
+ # Returns all the JSON keys this model knows about
141
+ def self.acceptable_attributes
142
+ attribute_map.values
143
+ end
144
+
145
+ # Attribute type mapping.
146
+ def self.openapi_types
147
+ {
148
+ :'type' => :'PayeeType2',
149
+ :'remote_id' => :'String',
150
+ :'email' => :'String',
151
+ :'address_line1' => :'String',
152
+ :'address_line2' => :'String',
153
+ :'address_line3' => :'String',
154
+ :'address_line4' => :'String',
155
+ :'address_city' => :'String',
156
+ :'address_county_or_province' => :'String',
157
+ :'address_zip_or_postcode' => :'String',
158
+ :'address_country' => :'String',
159
+ :'individual_national_identification' => :'String',
160
+ :'individual_date_of_birth' => :'Date',
161
+ :'individual_title' => :'String',
162
+ :'individual_first_name' => :'String',
163
+ :'individual_other_names' => :'String',
164
+ :'individual_last_name' => :'String',
165
+ :'company_name' => :'String',
166
+ :'company_ein' => :'String',
167
+ :'company_operating_name' => :'String',
168
+ :'payment_channel_account_number' => :'String',
169
+ :'payment_channel_routing_number' => :'String',
170
+ :'payment_channel_account_name' => :'String',
171
+ :'payment_channel_iban' => :'String',
172
+ :'payment_channel_country_code' => :'String',
173
+ :'payment_channel_currency' => :'String',
174
+ :'challenge_description' => :'String',
175
+ :'challenge_value' => :'String',
176
+ :'payee_language' => :'String'
177
+ }
178
+ end
179
+
180
+ # List of attributes with nullable: true
181
+ def self.openapi_nullable
182
+ Set.new([
183
+ ])
184
+ end
185
+
186
+ # Initializes the object
187
+ # @param [Hash] attributes Model attributes in the form of hash
188
+ def initialize(attributes = {})
189
+ if (!attributes.is_a?(Hash))
190
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeloPayments::CreatePayeesCSVRequest` initialize method"
191
+ end
192
+
193
+ # check to see if the attribute exists and convert string to symbol for hash key
194
+ attributes = attributes.each_with_object({}) { |(k, v), h|
195
+ if (!self.class.attribute_map.key?(k.to_sym))
196
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeloPayments::CreatePayeesCSVRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
197
+ end
198
+ h[k.to_sym] = v
199
+ }
200
+
201
+ if attributes.key?(:'type')
202
+ self.type = attributes[:'type']
203
+ end
204
+
205
+ if attributes.key?(:'remote_id')
206
+ self.remote_id = attributes[:'remote_id']
207
+ end
208
+
209
+ if attributes.key?(:'email')
210
+ self.email = attributes[:'email']
211
+ end
212
+
213
+ if attributes.key?(:'address_line1')
214
+ self.address_line1 = attributes[:'address_line1']
215
+ end
216
+
217
+ if attributes.key?(:'address_line2')
218
+ self.address_line2 = attributes[:'address_line2']
219
+ end
220
+
221
+ if attributes.key?(:'address_line3')
222
+ self.address_line3 = attributes[:'address_line3']
223
+ end
224
+
225
+ if attributes.key?(:'address_line4')
226
+ self.address_line4 = attributes[:'address_line4']
227
+ end
228
+
229
+ if attributes.key?(:'address_city')
230
+ self.address_city = attributes[:'address_city']
231
+ end
232
+
233
+ if attributes.key?(:'address_county_or_province')
234
+ self.address_county_or_province = attributes[:'address_county_or_province']
235
+ end
236
+
237
+ if attributes.key?(:'address_zip_or_postcode')
238
+ self.address_zip_or_postcode = attributes[:'address_zip_or_postcode']
239
+ end
240
+
241
+ if attributes.key?(:'address_country')
242
+ self.address_country = attributes[:'address_country']
243
+ end
244
+
245
+ if attributes.key?(:'individual_national_identification')
246
+ self.individual_national_identification = attributes[:'individual_national_identification']
247
+ end
248
+
249
+ if attributes.key?(:'individual_date_of_birth')
250
+ self.individual_date_of_birth = attributes[:'individual_date_of_birth']
251
+ end
252
+
253
+ if attributes.key?(:'individual_title')
254
+ self.individual_title = attributes[:'individual_title']
255
+ end
256
+
257
+ if attributes.key?(:'individual_first_name')
258
+ self.individual_first_name = attributes[:'individual_first_name']
259
+ end
260
+
261
+ if attributes.key?(:'individual_other_names')
262
+ self.individual_other_names = attributes[:'individual_other_names']
263
+ end
264
+
265
+ if attributes.key?(:'individual_last_name')
266
+ self.individual_last_name = attributes[:'individual_last_name']
267
+ end
268
+
269
+ if attributes.key?(:'company_name')
270
+ self.company_name = attributes[:'company_name']
271
+ end
272
+
273
+ if attributes.key?(:'company_ein')
274
+ self.company_ein = attributes[:'company_ein']
275
+ end
276
+
277
+ if attributes.key?(:'company_operating_name')
278
+ self.company_operating_name = attributes[:'company_operating_name']
279
+ end
280
+
281
+ if attributes.key?(:'payment_channel_account_number')
282
+ self.payment_channel_account_number = attributes[:'payment_channel_account_number']
283
+ end
284
+
285
+ if attributes.key?(:'payment_channel_routing_number')
286
+ self.payment_channel_routing_number = attributes[:'payment_channel_routing_number']
287
+ end
288
+
289
+ if attributes.key?(:'payment_channel_account_name')
290
+ self.payment_channel_account_name = attributes[:'payment_channel_account_name']
291
+ end
292
+
293
+ if attributes.key?(:'payment_channel_iban')
294
+ self.payment_channel_iban = attributes[:'payment_channel_iban']
295
+ end
296
+
297
+ if attributes.key?(:'payment_channel_country_code')
298
+ self.payment_channel_country_code = attributes[:'payment_channel_country_code']
299
+ end
300
+
301
+ if attributes.key?(:'payment_channel_currency')
302
+ self.payment_channel_currency = attributes[:'payment_channel_currency']
303
+ end
304
+
305
+ if attributes.key?(:'challenge_description')
306
+ self.challenge_description = attributes[:'challenge_description']
307
+ end
308
+
309
+ if attributes.key?(:'challenge_value')
310
+ self.challenge_value = attributes[:'challenge_value']
311
+ end
312
+
313
+ if attributes.key?(:'payee_language')
314
+ self.payee_language = attributes[:'payee_language']
315
+ end
316
+ end
317
+
318
+ # Show invalid properties with the reasons. Usually used together with valid?
319
+ # @return Array for valid properties with the reasons
320
+ def list_invalid_properties
321
+ invalid_properties = Array.new
322
+ if @type.nil?
323
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
324
+ end
325
+
326
+ if @remote_id.nil?
327
+ invalid_properties.push('invalid value for "remote_id", remote_id cannot be nil.')
328
+ end
329
+
330
+ if @remote_id.to_s.length > 100
331
+ invalid_properties.push('invalid value for "remote_id", the character length must be smaller than or equal to 100.')
332
+ end
333
+
334
+ if @remote_id.to_s.length < 1
335
+ invalid_properties.push('invalid value for "remote_id", the character length must be great than or equal to 1.')
336
+ end
337
+
338
+ if @email.nil?
339
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
340
+ end
341
+
342
+ if @email.to_s.length > 255
343
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 255.')
344
+ end
345
+
346
+ if @email.to_s.length < 3
347
+ invalid_properties.push('invalid value for "email", the character length must be great than or equal to 3.')
348
+ end
349
+
350
+ if @address_line1.nil?
351
+ invalid_properties.push('invalid value for "address_line1", address_line1 cannot be nil.')
352
+ end
353
+
354
+ if @address_line1.to_s.length > 100
355
+ invalid_properties.push('invalid value for "address_line1", the character length must be smaller than or equal to 100.')
356
+ end
357
+
358
+ if @address_line1.to_s.length < 2
359
+ invalid_properties.push('invalid value for "address_line1", the character length must be great than or equal to 2.')
360
+ end
361
+
362
+ if !@address_line2.nil? && @address_line2.to_s.length > 100
363
+ invalid_properties.push('invalid value for "address_line2", the character length must be smaller than or equal to 100.')
364
+ end
365
+
366
+ if !@address_line2.nil? && @address_line2.to_s.length < 0
367
+ invalid_properties.push('invalid value for "address_line2", the character length must be great than or equal to 0.')
368
+ end
369
+
370
+ if !@address_line3.nil? && @address_line3.to_s.length > 100
371
+ invalid_properties.push('invalid value for "address_line3", the character length must be smaller than or equal to 100.')
372
+ end
373
+
374
+ if !@address_line3.nil? && @address_line3.to_s.length < 0
375
+ invalid_properties.push('invalid value for "address_line3", the character length must be great than or equal to 0.')
376
+ end
377
+
378
+ if !@address_line4.nil? && @address_line4.to_s.length > 100
379
+ invalid_properties.push('invalid value for "address_line4", the character length must be smaller than or equal to 100.')
380
+ end
381
+
382
+ if !@address_line4.nil? && @address_line4.to_s.length < 0
383
+ invalid_properties.push('invalid value for "address_line4", the character length must be great than or equal to 0.')
384
+ end
385
+
386
+ if @address_city.nil?
387
+ invalid_properties.push('invalid value for "address_city", address_city cannot be nil.')
388
+ end
389
+
390
+ if @address_city.to_s.length > 50
391
+ invalid_properties.push('invalid value for "address_city", the character length must be smaller than or equal to 50.')
392
+ end
393
+
394
+ if @address_city.to_s.length < 2
395
+ invalid_properties.push('invalid value for "address_city", the character length must be great than or equal to 2.')
396
+ end
397
+
398
+ if !@address_county_or_province.nil? && @address_county_or_province.to_s.length > 50
399
+ invalid_properties.push('invalid value for "address_county_or_province", the character length must be smaller than or equal to 50.')
400
+ end
401
+
402
+ if !@address_county_or_province.nil? && @address_county_or_province.to_s.length < 1
403
+ invalid_properties.push('invalid value for "address_county_or_province", the character length must be great than or equal to 1.')
404
+ end
405
+
406
+ if @address_zip_or_postcode.nil?
407
+ invalid_properties.push('invalid value for "address_zip_or_postcode", address_zip_or_postcode cannot be nil.')
408
+ end
409
+
410
+ if @address_zip_or_postcode.to_s.length > 60
411
+ invalid_properties.push('invalid value for "address_zip_or_postcode", the character length must be smaller than or equal to 60.')
412
+ end
413
+
414
+ if @address_zip_or_postcode.to_s.length < 1
415
+ invalid_properties.push('invalid value for "address_zip_or_postcode", the character length must be great than or equal to 1.')
416
+ end
417
+
418
+ if @address_country.nil?
419
+ invalid_properties.push('invalid value for "address_country", address_country cannot be nil.')
420
+ end
421
+
422
+ if @address_country.to_s.length > 2
423
+ invalid_properties.push('invalid value for "address_country", the character length must be smaller than or equal to 2.')
424
+ end
425
+
426
+ if @address_country.to_s.length < 2
427
+ invalid_properties.push('invalid value for "address_country", the character length must be great than or equal to 2.')
428
+ end
429
+
430
+ if !@individual_national_identification.nil? && @individual_national_identification.to_s.length > 30
431
+ invalid_properties.push('invalid value for "individual_national_identification", the character length must be smaller than or equal to 30.')
432
+ end
433
+
434
+ if !@individual_national_identification.nil? && @individual_national_identification.to_s.length < 6
435
+ invalid_properties.push('invalid value for "individual_national_identification", the character length must be great than or equal to 6.')
436
+ end
437
+
438
+ if !@individual_title.nil? && @individual_title.to_s.length > 40
439
+ invalid_properties.push('invalid value for "individual_title", the character length must be smaller than or equal to 40.')
440
+ end
441
+
442
+ if !@individual_title.nil? && @individual_title.to_s.length < 1
443
+ invalid_properties.push('invalid value for "individual_title", the character length must be great than or equal to 1.')
444
+ end
445
+
446
+ if !@individual_first_name.nil? && @individual_first_name.to_s.length > 40
447
+ invalid_properties.push('invalid value for "individual_first_name", the character length must be smaller than or equal to 40.')
448
+ end
449
+
450
+ if !@individual_first_name.nil? && @individual_first_name.to_s.length < 1
451
+ invalid_properties.push('invalid value for "individual_first_name", the character length must be great than or equal to 1.')
452
+ end
453
+
454
+ if !@individual_other_names.nil? && @individual_other_names.to_s.length > 40
455
+ invalid_properties.push('invalid value for "individual_other_names", the character length must be smaller than or equal to 40.')
456
+ end
457
+
458
+ if !@individual_other_names.nil? && @individual_other_names.to_s.length < 1
459
+ invalid_properties.push('invalid value for "individual_other_names", the character length must be great than or equal to 1.')
460
+ end
461
+
462
+ if !@individual_last_name.nil? && @individual_last_name.to_s.length > 40
463
+ invalid_properties.push('invalid value for "individual_last_name", the character length must be smaller than or equal to 40.')
464
+ end
465
+
466
+ if !@individual_last_name.nil? && @individual_last_name.to_s.length < 1
467
+ invalid_properties.push('invalid value for "individual_last_name", the character length must be great than or equal to 1.')
468
+ end
469
+
470
+ if !@company_name.nil? && @company_name.to_s.length > 40
471
+ invalid_properties.push('invalid value for "company_name", the character length must be smaller than or equal to 40.')
472
+ end
473
+
474
+ if !@company_name.nil? && @company_name.to_s.length < 1
475
+ invalid_properties.push('invalid value for "company_name", the character length must be great than or equal to 1.')
476
+ end
477
+
478
+ if !@company_ein.nil? && @company_ein.to_s.length > 30
479
+ invalid_properties.push('invalid value for "company_ein", the character length must be smaller than or equal to 30.')
480
+ end
481
+
482
+ if !@company_ein.nil? && @company_ein.to_s.length < 6
483
+ invalid_properties.push('invalid value for "company_ein", the character length must be great than or equal to 6.')
484
+ end
485
+
486
+ if !@company_operating_name.nil? && @company_operating_name.to_s.length > 100
487
+ invalid_properties.push('invalid value for "company_operating_name", the character length must be smaller than or equal to 100.')
488
+ end
489
+
490
+ if !@company_operating_name.nil? && @company_operating_name.to_s.length < 1
491
+ invalid_properties.push('invalid value for "company_operating_name", the character length must be great than or equal to 1.')
492
+ end
493
+
494
+ if !@payment_channel_account_number.nil? && @payment_channel_account_number.to_s.length > 17
495
+ invalid_properties.push('invalid value for "payment_channel_account_number", the character length must be smaller than or equal to 17.')
496
+ end
497
+
498
+ if !@payment_channel_account_number.nil? && @payment_channel_account_number.to_s.length < 6
499
+ invalid_properties.push('invalid value for "payment_channel_account_number", the character length must be great than or equal to 6.')
500
+ end
501
+
502
+ if !@payment_channel_routing_number.nil? && @payment_channel_routing_number.to_s.length > 9
503
+ invalid_properties.push('invalid value for "payment_channel_routing_number", the character length must be smaller than or equal to 9.')
504
+ end
505
+
506
+ if !@payment_channel_routing_number.nil? && @payment_channel_routing_number.to_s.length < 9
507
+ invalid_properties.push('invalid value for "payment_channel_routing_number", the character length must be great than or equal to 9.')
508
+ end
509
+
510
+ if !@payment_channel_iban.nil? && @payment_channel_iban.to_s.length > 34
511
+ invalid_properties.push('invalid value for "payment_channel_iban", the character length must be smaller than or equal to 34.')
512
+ end
513
+
514
+ if !@payment_channel_iban.nil? && @payment_channel_iban.to_s.length < 15
515
+ invalid_properties.push('invalid value for "payment_channel_iban", the character length must be great than or equal to 15.')
516
+ end
517
+
518
+ pattern = Regexp.new(/^[A-Za-z0-9]+$/)
519
+ if !@payment_channel_iban.nil? && @payment_channel_iban !~ pattern
520
+ invalid_properties.push("invalid value for \"payment_channel_iban\", must conform to the pattern #{pattern}.")
521
+ end
522
+
523
+ if !@payment_channel_country_code.nil? && @payment_channel_country_code.to_s.length > 2
524
+ invalid_properties.push('invalid value for "payment_channel_country_code", the character length must be smaller than or equal to 2.')
525
+ end
526
+
527
+ if !@payment_channel_country_code.nil? && @payment_channel_country_code.to_s.length < 2
528
+ invalid_properties.push('invalid value for "payment_channel_country_code", the character length must be great than or equal to 2.')
529
+ end
530
+
531
+ if !@challenge_description.nil? && @challenge_description.to_s.length > 255
532
+ invalid_properties.push('invalid value for "challenge_description", the character length must be smaller than or equal to 255.')
533
+ end
534
+
535
+ if !@challenge_description.nil? && @challenge_description.to_s.length < 1
536
+ invalid_properties.push('invalid value for "challenge_description", the character length must be great than or equal to 1.')
537
+ end
538
+
539
+ if !@challenge_value.nil? && @challenge_value.to_s.length > 20
540
+ invalid_properties.push('invalid value for "challenge_value", the character length must be smaller than or equal to 20.')
541
+ end
542
+
543
+ if !@challenge_value.nil? && @challenge_value.to_s.length < 3
544
+ invalid_properties.push('invalid value for "challenge_value", the character length must be great than or equal to 3.')
545
+ end
546
+
547
+ invalid_properties
548
+ end
549
+
550
+ # Check to see if the all the properties in the model are valid
551
+ # @return true if the model is valid
552
+ def valid?
553
+ return false if @type.nil?
554
+ return false if @remote_id.nil?
555
+ return false if @remote_id.to_s.length > 100
556
+ return false if @remote_id.to_s.length < 1
557
+ return false if @email.nil?
558
+ return false if @email.to_s.length > 255
559
+ return false if @email.to_s.length < 3
560
+ return false if @address_line1.nil?
561
+ return false if @address_line1.to_s.length > 100
562
+ return false if @address_line1.to_s.length < 2
563
+ return false if !@address_line2.nil? && @address_line2.to_s.length > 100
564
+ return false if !@address_line2.nil? && @address_line2.to_s.length < 0
565
+ return false if !@address_line3.nil? && @address_line3.to_s.length > 100
566
+ return false if !@address_line3.nil? && @address_line3.to_s.length < 0
567
+ return false if !@address_line4.nil? && @address_line4.to_s.length > 100
568
+ return false if !@address_line4.nil? && @address_line4.to_s.length < 0
569
+ return false if @address_city.nil?
570
+ return false if @address_city.to_s.length > 50
571
+ return false if @address_city.to_s.length < 2
572
+ return false if !@address_county_or_province.nil? && @address_county_or_province.to_s.length > 50
573
+ return false if !@address_county_or_province.nil? && @address_county_or_province.to_s.length < 1
574
+ return false if @address_zip_or_postcode.nil?
575
+ return false if @address_zip_or_postcode.to_s.length > 60
576
+ return false if @address_zip_or_postcode.to_s.length < 1
577
+ return false if @address_country.nil?
578
+ address_country_validator = EnumAttributeValidator.new('String', ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "false", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"])
579
+ return false unless address_country_validator.valid?(@address_country)
580
+ return false if @address_country.to_s.length > 2
581
+ return false if @address_country.to_s.length < 2
582
+ return false if !@individual_national_identification.nil? && @individual_national_identification.to_s.length > 30
583
+ return false if !@individual_national_identification.nil? && @individual_national_identification.to_s.length < 6
584
+ return false if !@individual_title.nil? && @individual_title.to_s.length > 40
585
+ return false if !@individual_title.nil? && @individual_title.to_s.length < 1
586
+ return false if !@individual_first_name.nil? && @individual_first_name.to_s.length > 40
587
+ return false if !@individual_first_name.nil? && @individual_first_name.to_s.length < 1
588
+ return false if !@individual_other_names.nil? && @individual_other_names.to_s.length > 40
589
+ return false if !@individual_other_names.nil? && @individual_other_names.to_s.length < 1
590
+ return false if !@individual_last_name.nil? && @individual_last_name.to_s.length > 40
591
+ return false if !@individual_last_name.nil? && @individual_last_name.to_s.length < 1
592
+ return false if !@company_name.nil? && @company_name.to_s.length > 40
593
+ return false if !@company_name.nil? && @company_name.to_s.length < 1
594
+ return false if !@company_ein.nil? && @company_ein.to_s.length > 30
595
+ return false if !@company_ein.nil? && @company_ein.to_s.length < 6
596
+ return false if !@company_operating_name.nil? && @company_operating_name.to_s.length > 100
597
+ return false if !@company_operating_name.nil? && @company_operating_name.to_s.length < 1
598
+ return false if !@payment_channel_account_number.nil? && @payment_channel_account_number.to_s.length > 17
599
+ return false if !@payment_channel_account_number.nil? && @payment_channel_account_number.to_s.length < 6
600
+ return false if !@payment_channel_routing_number.nil? && @payment_channel_routing_number.to_s.length > 9
601
+ return false if !@payment_channel_routing_number.nil? && @payment_channel_routing_number.to_s.length < 9
602
+ return false if !@payment_channel_iban.nil? && @payment_channel_iban.to_s.length > 34
603
+ return false if !@payment_channel_iban.nil? && @payment_channel_iban.to_s.length < 15
604
+ return false if !@payment_channel_iban.nil? && @payment_channel_iban !~ Regexp.new(/^[A-Za-z0-9]+$/)
605
+ payment_channel_country_code_validator = EnumAttributeValidator.new('String', ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "false", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"])
606
+ return false unless payment_channel_country_code_validator.valid?(@payment_channel_country_code)
607
+ return false if !@payment_channel_country_code.nil? && @payment_channel_country_code.to_s.length > 2
608
+ return false if !@payment_channel_country_code.nil? && @payment_channel_country_code.to_s.length < 2
609
+ payment_channel_currency_validator = EnumAttributeValidator.new('String', ["USD", "GBP", "EUR"])
610
+ return false unless payment_channel_currency_validator.valid?(@payment_channel_currency)
611
+ return false if !@challenge_description.nil? && @challenge_description.to_s.length > 255
612
+ return false if !@challenge_description.nil? && @challenge_description.to_s.length < 1
613
+ return false if !@challenge_value.nil? && @challenge_value.to_s.length > 20
614
+ return false if !@challenge_value.nil? && @challenge_value.to_s.length < 3
615
+ true
616
+ end
617
+
618
+ # Custom attribute writer method with validation
619
+ # @param [Object] remote_id Value to be assigned
620
+ def remote_id=(remote_id)
621
+ if remote_id.nil?
622
+ fail ArgumentError, 'remote_id cannot be nil'
623
+ end
624
+
625
+ if remote_id.to_s.length > 100
626
+ fail ArgumentError, 'invalid value for "remote_id", the character length must be smaller than or equal to 100.'
627
+ end
628
+
629
+ if remote_id.to_s.length < 1
630
+ fail ArgumentError, 'invalid value for "remote_id", the character length must be great than or equal to 1.'
631
+ end
632
+
633
+ @remote_id = remote_id
634
+ end
635
+
636
+ # Custom attribute writer method with validation
637
+ # @param [Object] email Value to be assigned
638
+ def email=(email)
639
+ if email.nil?
640
+ fail ArgumentError, 'email cannot be nil'
641
+ end
642
+
643
+ if email.to_s.length > 255
644
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 255.'
645
+ end
646
+
647
+ if email.to_s.length < 3
648
+ fail ArgumentError, 'invalid value for "email", the character length must be great than or equal to 3.'
649
+ end
650
+
651
+ @email = email
652
+ end
653
+
654
+ # Custom attribute writer method with validation
655
+ # @param [Object] address_line1 Value to be assigned
656
+ def address_line1=(address_line1)
657
+ if address_line1.nil?
658
+ fail ArgumentError, 'address_line1 cannot be nil'
659
+ end
660
+
661
+ if address_line1.to_s.length > 100
662
+ fail ArgumentError, 'invalid value for "address_line1", the character length must be smaller than or equal to 100.'
663
+ end
664
+
665
+ if address_line1.to_s.length < 2
666
+ fail ArgumentError, 'invalid value for "address_line1", the character length must be great than or equal to 2.'
667
+ end
668
+
669
+ @address_line1 = address_line1
670
+ end
671
+
672
+ # Custom attribute writer method with validation
673
+ # @param [Object] address_line2 Value to be assigned
674
+ def address_line2=(address_line2)
675
+ if !address_line2.nil? && address_line2.to_s.length > 100
676
+ fail ArgumentError, 'invalid value for "address_line2", the character length must be smaller than or equal to 100.'
677
+ end
678
+
679
+ if !address_line2.nil? && address_line2.to_s.length < 0
680
+ fail ArgumentError, 'invalid value for "address_line2", the character length must be great than or equal to 0.'
681
+ end
682
+
683
+ @address_line2 = address_line2
684
+ end
685
+
686
+ # Custom attribute writer method with validation
687
+ # @param [Object] address_line3 Value to be assigned
688
+ def address_line3=(address_line3)
689
+ if !address_line3.nil? && address_line3.to_s.length > 100
690
+ fail ArgumentError, 'invalid value for "address_line3", the character length must be smaller than or equal to 100.'
691
+ end
692
+
693
+ if !address_line3.nil? && address_line3.to_s.length < 0
694
+ fail ArgumentError, 'invalid value for "address_line3", the character length must be great than or equal to 0.'
695
+ end
696
+
697
+ @address_line3 = address_line3
698
+ end
699
+
700
+ # Custom attribute writer method with validation
701
+ # @param [Object] address_line4 Value to be assigned
702
+ def address_line4=(address_line4)
703
+ if !address_line4.nil? && address_line4.to_s.length > 100
704
+ fail ArgumentError, 'invalid value for "address_line4", the character length must be smaller than or equal to 100.'
705
+ end
706
+
707
+ if !address_line4.nil? && address_line4.to_s.length < 0
708
+ fail ArgumentError, 'invalid value for "address_line4", the character length must be great than or equal to 0.'
709
+ end
710
+
711
+ @address_line4 = address_line4
712
+ end
713
+
714
+ # Custom attribute writer method with validation
715
+ # @param [Object] address_city Value to be assigned
716
+ def address_city=(address_city)
717
+ if address_city.nil?
718
+ fail ArgumentError, 'address_city cannot be nil'
719
+ end
720
+
721
+ if address_city.to_s.length > 50
722
+ fail ArgumentError, 'invalid value for "address_city", the character length must be smaller than or equal to 50.'
723
+ end
724
+
725
+ if address_city.to_s.length < 2
726
+ fail ArgumentError, 'invalid value for "address_city", the character length must be great than or equal to 2.'
727
+ end
728
+
729
+ @address_city = address_city
730
+ end
731
+
732
+ # Custom attribute writer method with validation
733
+ # @param [Object] address_county_or_province Value to be assigned
734
+ def address_county_or_province=(address_county_or_province)
735
+ if !address_county_or_province.nil? && address_county_or_province.to_s.length > 50
736
+ fail ArgumentError, 'invalid value for "address_county_or_province", the character length must be smaller than or equal to 50.'
737
+ end
738
+
739
+ if !address_county_or_province.nil? && address_county_or_province.to_s.length < 1
740
+ fail ArgumentError, 'invalid value for "address_county_or_province", the character length must be great than or equal to 1.'
741
+ end
742
+
743
+ @address_county_or_province = address_county_or_province
744
+ end
745
+
746
+ # Custom attribute writer method with validation
747
+ # @param [Object] address_zip_or_postcode Value to be assigned
748
+ def address_zip_or_postcode=(address_zip_or_postcode)
749
+ if address_zip_or_postcode.nil?
750
+ fail ArgumentError, 'address_zip_or_postcode cannot be nil'
751
+ end
752
+
753
+ if address_zip_or_postcode.to_s.length > 60
754
+ fail ArgumentError, 'invalid value for "address_zip_or_postcode", the character length must be smaller than or equal to 60.'
755
+ end
756
+
757
+ if address_zip_or_postcode.to_s.length < 1
758
+ fail ArgumentError, 'invalid value for "address_zip_or_postcode", the character length must be great than or equal to 1.'
759
+ end
760
+
761
+ @address_zip_or_postcode = address_zip_or_postcode
762
+ end
763
+
764
+ # Custom attribute writer method checking allowed values (enum).
765
+ # @param [Object] address_country Object to be assigned
766
+ def address_country=(address_country)
767
+ validator = EnumAttributeValidator.new('String', ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "false", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"])
768
+ unless validator.valid?(address_country)
769
+ fail ArgumentError, "invalid value for \"address_country\", must be one of #{validator.allowable_values}."
770
+ end
771
+ @address_country = address_country
772
+ end
773
+
774
+ # Custom attribute writer method with validation
775
+ # @param [Object] individual_national_identification Value to be assigned
776
+ def individual_national_identification=(individual_national_identification)
777
+ if !individual_national_identification.nil? && individual_national_identification.to_s.length > 30
778
+ fail ArgumentError, 'invalid value for "individual_national_identification", the character length must be smaller than or equal to 30.'
779
+ end
780
+
781
+ if !individual_national_identification.nil? && individual_national_identification.to_s.length < 6
782
+ fail ArgumentError, 'invalid value for "individual_national_identification", the character length must be great than or equal to 6.'
783
+ end
784
+
785
+ @individual_national_identification = individual_national_identification
786
+ end
787
+
788
+ # Custom attribute writer method with validation
789
+ # @param [Object] individual_title Value to be assigned
790
+ def individual_title=(individual_title)
791
+ if !individual_title.nil? && individual_title.to_s.length > 40
792
+ fail ArgumentError, 'invalid value for "individual_title", the character length must be smaller than or equal to 40.'
793
+ end
794
+
795
+ if !individual_title.nil? && individual_title.to_s.length < 1
796
+ fail ArgumentError, 'invalid value for "individual_title", the character length must be great than or equal to 1.'
797
+ end
798
+
799
+ @individual_title = individual_title
800
+ end
801
+
802
+ # Custom attribute writer method with validation
803
+ # @param [Object] individual_first_name Value to be assigned
804
+ def individual_first_name=(individual_first_name)
805
+ if !individual_first_name.nil? && individual_first_name.to_s.length > 40
806
+ fail ArgumentError, 'invalid value for "individual_first_name", the character length must be smaller than or equal to 40.'
807
+ end
808
+
809
+ if !individual_first_name.nil? && individual_first_name.to_s.length < 1
810
+ fail ArgumentError, 'invalid value for "individual_first_name", the character length must be great than or equal to 1.'
811
+ end
812
+
813
+ @individual_first_name = individual_first_name
814
+ end
815
+
816
+ # Custom attribute writer method with validation
817
+ # @param [Object] individual_other_names Value to be assigned
818
+ def individual_other_names=(individual_other_names)
819
+ if !individual_other_names.nil? && individual_other_names.to_s.length > 40
820
+ fail ArgumentError, 'invalid value for "individual_other_names", the character length must be smaller than or equal to 40.'
821
+ end
822
+
823
+ if !individual_other_names.nil? && individual_other_names.to_s.length < 1
824
+ fail ArgumentError, 'invalid value for "individual_other_names", the character length must be great than or equal to 1.'
825
+ end
826
+
827
+ @individual_other_names = individual_other_names
828
+ end
829
+
830
+ # Custom attribute writer method with validation
831
+ # @param [Object] individual_last_name Value to be assigned
832
+ def individual_last_name=(individual_last_name)
833
+ if !individual_last_name.nil? && individual_last_name.to_s.length > 40
834
+ fail ArgumentError, 'invalid value for "individual_last_name", the character length must be smaller than or equal to 40.'
835
+ end
836
+
837
+ if !individual_last_name.nil? && individual_last_name.to_s.length < 1
838
+ fail ArgumentError, 'invalid value for "individual_last_name", the character length must be great than or equal to 1.'
839
+ end
840
+
841
+ @individual_last_name = individual_last_name
842
+ end
843
+
844
+ # Custom attribute writer method with validation
845
+ # @param [Object] company_name Value to be assigned
846
+ def company_name=(company_name)
847
+ if !company_name.nil? && company_name.to_s.length > 40
848
+ fail ArgumentError, 'invalid value for "company_name", the character length must be smaller than or equal to 40.'
849
+ end
850
+
851
+ if !company_name.nil? && company_name.to_s.length < 1
852
+ fail ArgumentError, 'invalid value for "company_name", the character length must be great than or equal to 1.'
853
+ end
854
+
855
+ @company_name = company_name
856
+ end
857
+
858
+ # Custom attribute writer method with validation
859
+ # @param [Object] company_ein Value to be assigned
860
+ def company_ein=(company_ein)
861
+ if !company_ein.nil? && company_ein.to_s.length > 30
862
+ fail ArgumentError, 'invalid value for "company_ein", the character length must be smaller than or equal to 30.'
863
+ end
864
+
865
+ if !company_ein.nil? && company_ein.to_s.length < 6
866
+ fail ArgumentError, 'invalid value for "company_ein", the character length must be great than or equal to 6.'
867
+ end
868
+
869
+ @company_ein = company_ein
870
+ end
871
+
872
+ # Custom attribute writer method with validation
873
+ # @param [Object] company_operating_name Value to be assigned
874
+ def company_operating_name=(company_operating_name)
875
+ if !company_operating_name.nil? && company_operating_name.to_s.length > 100
876
+ fail ArgumentError, 'invalid value for "company_operating_name", the character length must be smaller than or equal to 100.'
877
+ end
878
+
879
+ if !company_operating_name.nil? && company_operating_name.to_s.length < 1
880
+ fail ArgumentError, 'invalid value for "company_operating_name", the character length must be great than or equal to 1.'
881
+ end
882
+
883
+ @company_operating_name = company_operating_name
884
+ end
885
+
886
+ # Custom attribute writer method with validation
887
+ # @param [Object] payment_channel_account_number Value to be assigned
888
+ def payment_channel_account_number=(payment_channel_account_number)
889
+ if !payment_channel_account_number.nil? && payment_channel_account_number.to_s.length > 17
890
+ fail ArgumentError, 'invalid value for "payment_channel_account_number", the character length must be smaller than or equal to 17.'
891
+ end
892
+
893
+ if !payment_channel_account_number.nil? && payment_channel_account_number.to_s.length < 6
894
+ fail ArgumentError, 'invalid value for "payment_channel_account_number", the character length must be great than or equal to 6.'
895
+ end
896
+
897
+ @payment_channel_account_number = payment_channel_account_number
898
+ end
899
+
900
+ # Custom attribute writer method with validation
901
+ # @param [Object] payment_channel_routing_number Value to be assigned
902
+ def payment_channel_routing_number=(payment_channel_routing_number)
903
+ if !payment_channel_routing_number.nil? && payment_channel_routing_number.to_s.length > 9
904
+ fail ArgumentError, 'invalid value for "payment_channel_routing_number", the character length must be smaller than or equal to 9.'
905
+ end
906
+
907
+ if !payment_channel_routing_number.nil? && payment_channel_routing_number.to_s.length < 9
908
+ fail ArgumentError, 'invalid value for "payment_channel_routing_number", the character length must be great than or equal to 9.'
909
+ end
910
+
911
+ @payment_channel_routing_number = payment_channel_routing_number
912
+ end
913
+
914
+ # Custom attribute writer method with validation
915
+ # @param [Object] payment_channel_iban Value to be assigned
916
+ def payment_channel_iban=(payment_channel_iban)
917
+ if !payment_channel_iban.nil? && payment_channel_iban.to_s.length > 34
918
+ fail ArgumentError, 'invalid value for "payment_channel_iban", the character length must be smaller than or equal to 34.'
919
+ end
920
+
921
+ if !payment_channel_iban.nil? && payment_channel_iban.to_s.length < 15
922
+ fail ArgumentError, 'invalid value for "payment_channel_iban", the character length must be great than or equal to 15.'
923
+ end
924
+
925
+ pattern = Regexp.new(/^[A-Za-z0-9]+$/)
926
+ if !payment_channel_iban.nil? && payment_channel_iban !~ pattern
927
+ fail ArgumentError, "invalid value for \"payment_channel_iban\", must conform to the pattern #{pattern}."
928
+ end
929
+
930
+ @payment_channel_iban = payment_channel_iban
931
+ end
932
+
933
+ # Custom attribute writer method checking allowed values (enum).
934
+ # @param [Object] payment_channel_country_code Object to be assigned
935
+ def payment_channel_country_code=(payment_channel_country_code)
936
+ validator = EnumAttributeValidator.new('String', ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "false", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"])
937
+ unless validator.valid?(payment_channel_country_code)
938
+ fail ArgumentError, "invalid value for \"payment_channel_country_code\", must be one of #{validator.allowable_values}."
939
+ end
940
+ @payment_channel_country_code = payment_channel_country_code
941
+ end
942
+
943
+ # Custom attribute writer method checking allowed values (enum).
944
+ # @param [Object] payment_channel_currency Object to be assigned
945
+ def payment_channel_currency=(payment_channel_currency)
946
+ validator = EnumAttributeValidator.new('String', ["USD", "GBP", "EUR"])
947
+ unless validator.valid?(payment_channel_currency)
948
+ fail ArgumentError, "invalid value for \"payment_channel_currency\", must be one of #{validator.allowable_values}."
949
+ end
950
+ @payment_channel_currency = payment_channel_currency
951
+ end
952
+
953
+ # Custom attribute writer method with validation
954
+ # @param [Object] challenge_description Value to be assigned
955
+ def challenge_description=(challenge_description)
956
+ if !challenge_description.nil? && challenge_description.to_s.length > 255
957
+ fail ArgumentError, 'invalid value for "challenge_description", the character length must be smaller than or equal to 255.'
958
+ end
959
+
960
+ if !challenge_description.nil? && challenge_description.to_s.length < 1
961
+ fail ArgumentError, 'invalid value for "challenge_description", the character length must be great than or equal to 1.'
962
+ end
963
+
964
+ @challenge_description = challenge_description
965
+ end
966
+
967
+ # Custom attribute writer method with validation
968
+ # @param [Object] challenge_value Value to be assigned
969
+ def challenge_value=(challenge_value)
970
+ if !challenge_value.nil? && challenge_value.to_s.length > 20
971
+ fail ArgumentError, 'invalid value for "challenge_value", the character length must be smaller than or equal to 20.'
972
+ end
973
+
974
+ if !challenge_value.nil? && challenge_value.to_s.length < 3
975
+ fail ArgumentError, 'invalid value for "challenge_value", the character length must be great than or equal to 3.'
976
+ end
977
+
978
+ @challenge_value = challenge_value
979
+ end
980
+
981
+ # Checks equality by comparing each attribute.
982
+ # @param [Object] Object to be compared
983
+ def ==(o)
984
+ return true if self.equal?(o)
985
+ self.class == o.class &&
986
+ type == o.type &&
987
+ remote_id == o.remote_id &&
988
+ email == o.email &&
989
+ address_line1 == o.address_line1 &&
990
+ address_line2 == o.address_line2 &&
991
+ address_line3 == o.address_line3 &&
992
+ address_line4 == o.address_line4 &&
993
+ address_city == o.address_city &&
994
+ address_county_or_province == o.address_county_or_province &&
995
+ address_zip_or_postcode == o.address_zip_or_postcode &&
996
+ address_country == o.address_country &&
997
+ individual_national_identification == o.individual_national_identification &&
998
+ individual_date_of_birth == o.individual_date_of_birth &&
999
+ individual_title == o.individual_title &&
1000
+ individual_first_name == o.individual_first_name &&
1001
+ individual_other_names == o.individual_other_names &&
1002
+ individual_last_name == o.individual_last_name &&
1003
+ company_name == o.company_name &&
1004
+ company_ein == o.company_ein &&
1005
+ company_operating_name == o.company_operating_name &&
1006
+ payment_channel_account_number == o.payment_channel_account_number &&
1007
+ payment_channel_routing_number == o.payment_channel_routing_number &&
1008
+ payment_channel_account_name == o.payment_channel_account_name &&
1009
+ payment_channel_iban == o.payment_channel_iban &&
1010
+ payment_channel_country_code == o.payment_channel_country_code &&
1011
+ payment_channel_currency == o.payment_channel_currency &&
1012
+ challenge_description == o.challenge_description &&
1013
+ challenge_value == o.challenge_value &&
1014
+ payee_language == o.payee_language
1015
+ end
1016
+
1017
+ # @see the `==` method
1018
+ # @param [Object] Object to be compared
1019
+ def eql?(o)
1020
+ self == o
1021
+ end
1022
+
1023
+ # Calculates hash code according to all attributes.
1024
+ # @return [Integer] Hash code
1025
+ def hash
1026
+ [type, remote_id, email, address_line1, address_line2, address_line3, address_line4, address_city, address_county_or_province, address_zip_or_postcode, address_country, individual_national_identification, individual_date_of_birth, individual_title, individual_first_name, individual_other_names, individual_last_name, company_name, company_ein, company_operating_name, payment_channel_account_number, payment_channel_routing_number, payment_channel_account_name, payment_channel_iban, payment_channel_country_code, payment_channel_currency, challenge_description, challenge_value, payee_language].hash
1027
+ end
1028
+
1029
+ # Builds the object from hash
1030
+ # @param [Hash] attributes Model attributes in the form of hash
1031
+ # @return [Object] Returns the model itself
1032
+ def self.build_from_hash(attributes)
1033
+ new.build_from_hash(attributes)
1034
+ end
1035
+
1036
+ # Builds the object from hash
1037
+ # @param [Hash] attributes Model attributes in the form of hash
1038
+ # @return [Object] Returns the model itself
1039
+ def build_from_hash(attributes)
1040
+ return nil unless attributes.is_a?(Hash)
1041
+ self.class.openapi_types.each_pair do |key, type|
1042
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
1043
+ self.send("#{key}=", nil)
1044
+ elsif type =~ /\AArray<(.*)>/i
1045
+ # check to ensure the input is an array given that the attribute
1046
+ # is documented as an array but the input is not
1047
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1048
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
1049
+ end
1050
+ elsif !attributes[self.class.attribute_map[key]].nil?
1051
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1052
+ end
1053
+ end
1054
+
1055
+ self
1056
+ end
1057
+
1058
+ # Deserializes the data based on type
1059
+ # @param string type Data type
1060
+ # @param string value Value to be deserialized
1061
+ # @return [Object] Deserialized data
1062
+ def _deserialize(type, value)
1063
+ case type.to_sym
1064
+ when :Time
1065
+ Time.parse(value)
1066
+ when :Date
1067
+ Date.parse(value)
1068
+ when :String
1069
+ value.to_s
1070
+ when :Integer
1071
+ value.to_i
1072
+ when :Float
1073
+ value.to_f
1074
+ when :Boolean
1075
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1076
+ true
1077
+ else
1078
+ false
1079
+ end
1080
+ when :Object
1081
+ # generic object (usually a Hash), return directly
1082
+ value
1083
+ when /\AArray<(?<inner_type>.+)>\z/
1084
+ inner_type = Regexp.last_match[:inner_type]
1085
+ value.map { |v| _deserialize(inner_type, v) }
1086
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1087
+ k_type = Regexp.last_match[:k_type]
1088
+ v_type = Regexp.last_match[:v_type]
1089
+ {}.tap do |hash|
1090
+ value.each do |k, v|
1091
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1092
+ end
1093
+ end
1094
+ else # model
1095
+ # models (e.g. Pet) or oneOf
1096
+ klass = VeloPayments.const_get(type)
1097
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
1098
+ end
1099
+ end
1100
+
1101
+ # Returns the string representation of the object
1102
+ # @return [String] String presentation of the object
1103
+ def to_s
1104
+ to_hash.to_s
1105
+ end
1106
+
1107
+ # to_body is an alias to to_hash (backward compatibility)
1108
+ # @return [Hash] Returns the object in the form of hash
1109
+ def to_body
1110
+ to_hash
1111
+ end
1112
+
1113
+ # Returns the object in the form of hash
1114
+ # @return [Hash] Returns the object in the form of hash
1115
+ def to_hash
1116
+ hash = {}
1117
+ self.class.attribute_map.each_pair do |attr, param|
1118
+ value = self.send(attr)
1119
+ if value.nil?
1120
+ is_nullable = self.class.openapi_nullable.include?(attr)
1121
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
1122
+ end
1123
+
1124
+ hash[param] = _to_hash(value)
1125
+ end
1126
+ hash
1127
+ end
1128
+
1129
+ # Outputs non-array value in the form of hash
1130
+ # For object, use to_hash. Otherwise, just return the value
1131
+ # @param [Object] value Any valid value
1132
+ # @return [Hash] Returns the value in the form of hash
1133
+ def _to_hash(value)
1134
+ if value.is_a?(Array)
1135
+ value.compact.map { |v| _to_hash(v) }
1136
+ elsif value.is_a?(Hash)
1137
+ {}.tap do |hash|
1138
+ value.each { |k, v| hash[k] = _to_hash(v) }
1139
+ end
1140
+ elsif value.respond_to? :to_hash
1141
+ value.to_hash
1142
+ else
1143
+ value
1144
+ end
1145
+ end
1146
+
1147
+ end
1148
+
1149
+ end