velopayments 2.35.58 → 2.37.150.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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/README.md +50 -11
  4. data/docs/{PayorAddress.md → AddressV4.md} +3 -3
  5. data/docs/CommonLinkObject.md +20 -0
  6. data/docs/CommonPageObject.md +26 -0
  7. data/docs/CreateFundingAccountRequestV2.md +2 -2
  8. data/docs/CreatePaymentChannelRequestV4.md +30 -0
  9. data/docs/CreateTransactionRequest.md +24 -0
  10. data/docs/CreateTransactionResponse.md +20 -0
  11. data/docs/FundingAccountResponseV2.md +3 -3
  12. data/docs/FundingApi.md +2 -2
  13. data/docs/FundingAudit.md +8 -2
  14. data/docs/FundingEvent.md +6 -8
  15. data/docs/FundingEvent2.md +24 -0
  16. data/docs/FundingManagerPrivateApi.md +1 -1
  17. data/docs/FundingResponse.md +7 -3
  18. data/docs/GetPayeeListResponseV4.md +2 -0
  19. data/docs/InstructPayoutRequestV3.md +4 -2
  20. data/docs/ListFundingAccountsResponseV2.md +1 -1
  21. data/docs/NotificationSource.md +3 -0
  22. data/docs/PageResourceTransactions.md +22 -0
  23. data/docs/PayeeDetailResponseV4.md +4 -0
  24. data/docs/PayeePaymentChannelsApi.md +522 -0
  25. data/docs/PayeesApi.md +2 -2
  26. data/docs/PaymentAuditServiceApi.md +7 -1
  27. data/docs/PaymentChannelOrderRequestV4.md +18 -0
  28. data/docs/PaymentChannelResponseV4.md +56 -0
  29. data/docs/PaymentChannelSummaryV4.md +32 -0
  30. data/docs/PaymentChannelsResponseV4.md +20 -0
  31. data/docs/PaymentInstructionV3.md +4 -2
  32. data/docs/PaymentResponseV4.md +10 -0
  33. data/docs/PaymentV3.md +4 -2
  34. data/docs/PayorCreateApiKeyRequest.md +3 -3
  35. data/docs/PayorFundingDetected.md +46 -0
  36. data/docs/PayorFundingDetectedAllOf.md +40 -0
  37. data/docs/PayorToPaymentChannelMappingV4.md +20 -0
  38. data/docs/PayorV2.md +19 -19
  39. data/docs/PayorsApi.md +14 -84
  40. data/docs/PayoutsApi.md +2 -2
  41. data/docs/SourceAccountResponseV3.md +3 -1
  42. data/docs/TransactionResponse.md +36 -0
  43. data/docs/TransactionsApi.md +229 -0
  44. data/docs/UpdatePayeeDetailsRequestV3.md +3 -1
  45. data/docs/UpdatePaymentChannelRequestV4.md +30 -0
  46. data/docs/WebhooksResponse.md +2 -2
  47. data/lib/velopayments/api/countries_api.rb +2 -2
  48. data/lib/velopayments/api/currencies_api.rb +2 -2
  49. data/lib/velopayments/api/funding_api.rb +5 -5
  50. data/lib/velopayments/api/funding_manager_private_api.rb +2 -2
  51. data/lib/velopayments/api/login_api.rb +2 -2
  52. data/lib/velopayments/api/payee_invitation_api.rb +2 -2
  53. data/lib/velopayments/api/payee_payment_channels_api.rb +538 -0
  54. data/lib/velopayments/api/payees_api.rb +6 -2
  55. data/lib/velopayments/api/payment_audit_service_api.rb +12 -3
  56. data/lib/velopayments/api/payment_audit_service_deprecated_api.rb +2 -2
  57. data/lib/velopayments/api/payor_hierarchy_api.rb +2 -2
  58. data/lib/velopayments/api/payors_api.rb +16 -79
  59. data/lib/velopayments/api/payors_private_api.rb +2 -2
  60. data/lib/velopayments/api/payouts_api.rb +2 -6
  61. data/lib/velopayments/api/source_accounts_api.rb +2 -2
  62. data/lib/velopayments/api/tokens_api.rb +2 -2
  63. data/lib/velopayments/api/transactions_api.rb +229 -0
  64. data/lib/velopayments/api/users_api.rb +2 -2
  65. data/lib/velopayments/api/webhooks_api.rb +2 -2
  66. data/lib/velopayments/api_client.rb +2 -2
  67. data/lib/velopayments/api_error.rb +2 -2
  68. data/lib/velopayments/configuration.rb +2 -2
  69. data/lib/velopayments/models/accepted_payment_v3.rb +2 -2
  70. data/lib/velopayments/models/access_token_response.rb +2 -2
  71. data/lib/velopayments/models/access_token_validation_request.rb +2 -2
  72. data/lib/velopayments/models/{payor_address.rb → address_v4.rb} +92 -80
  73. data/lib/velopayments/models/auth_response.rb +2 -2
  74. data/lib/velopayments/models/auto_top_up_config_v2.rb +2 -2
  75. data/lib/velopayments/models/auto_top_up_config_v3.rb +2 -2
  76. data/lib/velopayments/models/category.rb +4 -3
  77. data/lib/velopayments/models/challenge_v3.rb +2 -2
  78. data/lib/velopayments/models/challenge_v4.rb +2 -2
  79. data/lib/velopayments/models/{list_funding_accounts_response_v2_links.rb → common_link_object.rb} +7 -5
  80. data/lib/velopayments/models/common_page_object.rb +250 -0
  81. data/lib/velopayments/models/company_v3.rb +2 -2
  82. data/lib/velopayments/models/company_v4.rb +2 -2
  83. data/lib/velopayments/models/create_funding_account_request_v2.rb +34 -27
  84. data/lib/velopayments/models/create_individual_v3.rb +2 -2
  85. data/lib/velopayments/models/create_individual_v3_name.rb +2 -2
  86. data/lib/velopayments/models/create_individual_v4.rb +2 -2
  87. data/lib/velopayments/models/create_payee_address_v3.rb +2 -2
  88. data/lib/velopayments/models/create_payee_address_v4.rb +2 -2
  89. data/lib/velopayments/models/create_payee_v3.rb +2 -2
  90. data/lib/velopayments/models/create_payee_v4.rb +2 -2
  91. data/lib/velopayments/models/create_payees_csv_request_v3.rb +2 -2
  92. data/lib/velopayments/models/create_payees_csv_request_v4.rb +2 -2
  93. data/lib/velopayments/models/create_payees_csv_response_v3.rb +2 -2
  94. data/lib/velopayments/models/create_payees_csv_response_v3_rejected_csv_rows.rb +2 -2
  95. data/lib/velopayments/models/create_payees_csv_response_v4.rb +2 -2
  96. data/lib/velopayments/models/create_payees_request_v3.rb +2 -2
  97. data/lib/velopayments/models/create_payees_request_v4.rb +2 -2
  98. data/lib/velopayments/models/create_payment_channel_request_v4.rb +472 -0
  99. data/lib/velopayments/models/create_payment_channel_v3.rb +2 -2
  100. data/lib/velopayments/models/create_payment_channel_v4.rb +2 -2
  101. data/lib/velopayments/models/create_payor_link_request.rb +2 -2
  102. data/lib/velopayments/models/create_payout_request_v3.rb +2 -2
  103. data/lib/velopayments/models/create_transaction_request.rb +324 -0
  104. data/lib/velopayments/models/create_transaction_response.rb +239 -0
  105. data/lib/velopayments/models/create_webhook_request.rb +2 -2
  106. data/lib/velopayments/models/debit_event.rb +2 -2
  107. data/lib/velopayments/models/debit_event_all_of.rb +2 -2
  108. data/lib/velopayments/models/debit_status_changed.rb +2 -2
  109. data/lib/velopayments/models/debit_status_changed_all_of.rb +2 -2
  110. data/lib/velopayments/models/error.rb +2 -2
  111. data/lib/velopayments/models/error_data.rb +2 -2
  112. data/lib/velopayments/models/error_response.rb +2 -2
  113. data/lib/velopayments/models/failed_payee_v3.rb +2 -2
  114. data/lib/velopayments/models/failed_payee_v4.rb +2 -2
  115. data/lib/velopayments/models/failed_submission_v3.rb +2 -2
  116. data/lib/velopayments/models/failed_submission_v4.rb +2 -2
  117. data/lib/velopayments/models/funding_account_response_v2.rb +25 -25
  118. data/lib/velopayments/models/funding_audit.rb +37 -7
  119. data/lib/velopayments/models/funding_event.rb +50 -28
  120. data/lib/velopayments/models/funding_event2.rb +242 -0
  121. data/lib/velopayments/models/funding_payor_status_audit_response.rb +2 -2
  122. data/lib/velopayments/models/funding_request_v2.rb +2 -2
  123. data/lib/velopayments/models/funding_request_v3.rb +2 -2
  124. data/lib/velopayments/models/funding_response.rb +35 -14
  125. data/lib/velopayments/models/fx_summary.rb +2 -2
  126. data/lib/velopayments/models/fx_summary_v3.rb +2 -2
  127. data/lib/velopayments/models/get_fundings_response.rb +2 -2
  128. data/lib/velopayments/models/get_fundings_response_links.rb +2 -2
  129. data/lib/velopayments/models/get_payee_list_response_company_v3.rb +2 -2
  130. data/lib/velopayments/models/get_payee_list_response_company_v4.rb +2 -2
  131. data/lib/velopayments/models/get_payee_list_response_individual_v3.rb +2 -2
  132. data/lib/velopayments/models/get_payee_list_response_individual_v4.rb +2 -2
  133. data/lib/velopayments/models/get_payee_list_response_v3.rb +2 -2
  134. data/lib/velopayments/models/get_payee_list_response_v4.rb +13 -3
  135. data/lib/velopayments/models/get_payments_for_payout_response_v3.rb +2 -2
  136. data/lib/velopayments/models/get_payments_for_payout_response_v3_page.rb +2 -2
  137. data/lib/velopayments/models/get_payments_for_payout_response_v3_summary.rb +2 -2
  138. data/lib/velopayments/models/get_payments_for_payout_response_v4.rb +2 -2
  139. data/lib/velopayments/models/get_payments_for_payout_response_v4_summary.rb +2 -2
  140. data/lib/velopayments/models/get_payout_statistics.rb +2 -2
  141. data/lib/velopayments/models/get_payouts_response.rb +2 -2
  142. data/lib/velopayments/models/get_payouts_response_v3.rb +2 -2
  143. data/lib/velopayments/models/get_payouts_response_v3_links.rb +2 -2
  144. data/lib/velopayments/models/get_payouts_response_v3_page.rb +2 -2
  145. data/lib/velopayments/models/individual_v3.rb +2 -2
  146. data/lib/velopayments/models/individual_v3_name.rb +2 -2
  147. data/lib/velopayments/models/individual_v4.rb +2 -2
  148. data/lib/velopayments/models/inline_response400.rb +2 -2
  149. data/lib/velopayments/models/inline_response401.rb +2 -2
  150. data/lib/velopayments/models/inline_response403.rb +2 -2
  151. data/lib/velopayments/models/inline_response404.rb +2 -2
  152. data/lib/velopayments/models/inline_response409.rb +2 -2
  153. data/lib/velopayments/models/inline_response412.rb +2 -2
  154. data/lib/velopayments/models/instruct_payout_request_v3.rb +19 -7
  155. data/lib/velopayments/models/invite_payee_request_v3.rb +2 -2
  156. data/lib/velopayments/models/invite_payee_request_v4.rb +2 -2
  157. data/lib/velopayments/models/invite_user_request.rb +2 -2
  158. data/lib/velopayments/models/link_for_response.rb +2 -2
  159. data/lib/velopayments/models/list_funding_accounts_response_v2.rb +3 -3
  160. data/lib/velopayments/models/list_funding_accounts_response_v2_page.rb +2 -2
  161. data/lib/velopayments/models/list_payments_response_v3.rb +2 -2
  162. data/lib/velopayments/models/list_payments_response_v3_page.rb +2 -2
  163. data/lib/velopayments/models/list_payments_response_v4.rb +2 -2
  164. data/lib/velopayments/models/list_source_account_response_v2.rb +2 -2
  165. data/lib/velopayments/models/list_source_account_response_v2_links.rb +2 -2
  166. data/lib/velopayments/models/list_source_account_response_v3.rb +2 -2
  167. data/lib/velopayments/models/list_source_account_response_v3_links.rb +2 -2
  168. data/lib/velopayments/models/localisation_details.rb +2 -2
  169. data/lib/velopayments/models/mfa_details.rb +2 -2
  170. data/lib/velopayments/models/mfa_type.rb +2 -2
  171. data/lib/velopayments/models/name_v3.rb +2 -2
  172. data/lib/velopayments/models/name_v4.rb +2 -2
  173. data/lib/velopayments/models/notification.rb +2 -2
  174. data/lib/velopayments/models/notification_source.rb +4 -2
  175. data/lib/velopayments/models/notifications_v2.rb +2 -2
  176. data/lib/velopayments/models/notifications_v3.rb +2 -2
  177. data/lib/velopayments/models/onboarding_status_changed.rb +2 -2
  178. data/lib/velopayments/models/page_for_response.rb +2 -2
  179. data/lib/velopayments/models/page_resource_funding_payor_status_audit_response_funding_payor_status_audit_response.rb +2 -2
  180. data/lib/velopayments/models/page_resource_transactions.rb +236 -0
  181. data/lib/velopayments/models/paged_payee_invitation_status_response_v3.rb +2 -2
  182. data/lib/velopayments/models/paged_payee_invitation_status_response_v3_page.rb +2 -2
  183. data/lib/velopayments/models/paged_payee_invitation_status_response_v4.rb +2 -2
  184. data/lib/velopayments/models/paged_payee_response_v3.rb +2 -2
  185. data/lib/velopayments/models/paged_payee_response_v3_links.rb +2 -2
  186. data/lib/velopayments/models/paged_payee_response_v3_page.rb +2 -2
  187. data/lib/velopayments/models/paged_payee_response_v3_summary.rb +2 -2
  188. data/lib/velopayments/models/paged_payee_response_v4.rb +2 -2
  189. data/lib/velopayments/models/paged_payments_response_v3.rb +2 -2
  190. data/lib/velopayments/models/paged_user_response.rb +2 -2
  191. data/lib/velopayments/models/paged_user_response_links.rb +2 -2
  192. data/lib/velopayments/models/paged_user_response_page.rb +2 -2
  193. data/lib/velopayments/models/password_request.rb +12 -12
  194. data/lib/velopayments/models/payable_issue_v3.rb +2 -2
  195. data/lib/velopayments/models/payable_issue_v4.rb +2 -2
  196. data/lib/velopayments/models/payable_status_changed.rb +2 -2
  197. data/lib/velopayments/models/payee_address_v3.rb +2 -2
  198. data/lib/velopayments/models/payee_address_v4.rb +2 -2
  199. data/lib/velopayments/models/payee_delta_response_v3.rb +2 -2
  200. data/lib/velopayments/models/payee_delta_response_v3_links.rb +2 -2
  201. data/lib/velopayments/models/payee_delta_response_v3_page.rb +2 -2
  202. data/lib/velopayments/models/payee_delta_response_v4.rb +2 -2
  203. data/lib/velopayments/models/payee_delta_response_v4_links.rb +2 -2
  204. data/lib/velopayments/models/payee_delta_v3.rb +2 -2
  205. data/lib/velopayments/models/payee_delta_v4.rb +2 -2
  206. data/lib/velopayments/models/payee_detail_response_v3.rb +2 -2
  207. data/lib/velopayments/models/payee_detail_response_v4.rb +26 -3
  208. data/lib/velopayments/models/payee_details_changed.rb +2 -2
  209. data/lib/velopayments/models/payee_event.rb +2 -2
  210. data/lib/velopayments/models/payee_event_all_of.rb +2 -2
  211. data/lib/velopayments/models/payee_event_all_of_reasons.rb +2 -2
  212. data/lib/velopayments/models/payee_invitation_status_response_v3.rb +2 -2
  213. data/lib/velopayments/models/payee_invitation_status_response_v4.rb +2 -2
  214. data/lib/velopayments/models/payee_payor_ref_v3.rb +2 -2
  215. data/lib/velopayments/models/payee_payor_ref_v4.rb +2 -2
  216. data/lib/velopayments/models/payee_type.rb +2 -2
  217. data/lib/velopayments/models/payee_type_enum.rb +2 -2
  218. data/lib/velopayments/models/payee_user_self_update_request.rb +2 -2
  219. data/lib/velopayments/models/payment_channel_country.rb +2 -2
  220. data/lib/velopayments/models/{transmission_types.rb → payment_channel_order_request_v4.rb} +19 -51
  221. data/lib/velopayments/models/payment_channel_response_v4.rb +607 -0
  222. data/lib/velopayments/models/payment_channel_rule.rb +2 -2
  223. data/lib/velopayments/models/payment_channel_rules_response.rb +2 -2
  224. data/lib/velopayments/models/payment_channel_summary_v4.rb +396 -0
  225. data/lib/velopayments/models/payment_channels_response_v4.rb +227 -0
  226. data/lib/velopayments/models/payment_delta.rb +2 -2
  227. data/lib/velopayments/models/payment_delta_response.rb +2 -2
  228. data/lib/velopayments/models/payment_delta_response_v1.rb +2 -2
  229. data/lib/velopayments/models/payment_delta_v1.rb +2 -2
  230. data/lib/velopayments/models/payment_event.rb +2 -2
  231. data/lib/velopayments/models/payment_event_all_of.rb +2 -2
  232. data/lib/velopayments/models/payment_event_response.rb +2 -2
  233. data/lib/velopayments/models/payment_event_response_v3.rb +2 -2
  234. data/lib/velopayments/models/payment_instruction_v3.rb +19 -50
  235. data/lib/velopayments/models/payment_rejected_or_returned.rb +2 -2
  236. data/lib/velopayments/models/payment_rejected_or_returned_all_of.rb +2 -2
  237. data/lib/velopayments/models/payment_response_v3.rb +2 -2
  238. data/lib/velopayments/models/payment_response_v4.rb +50 -3
  239. data/lib/velopayments/models/payment_response_v4_payout.rb +2 -2
  240. data/lib/velopayments/models/payment_status_changed.rb +2 -2
  241. data/lib/velopayments/models/payment_status_changed_all_of.rb +2 -2
  242. data/lib/velopayments/models/payment_v3.rb +17 -7
  243. data/lib/velopayments/models/payor_address_v2.rb +32 -17
  244. data/lib/velopayments/models/payor_aml_transaction.rb +2 -2
  245. data/lib/velopayments/models/payor_aml_transaction_v3.rb +2 -2
  246. data/lib/velopayments/models/payor_branding_response.rb +2 -5
  247. data/lib/velopayments/models/payor_create_api_key_request.rb +2 -2
  248. data/lib/velopayments/models/payor_create_api_key_response.rb +2 -2
  249. data/lib/velopayments/models/payor_create_application_request.rb +2 -2
  250. data/lib/velopayments/models/payor_email_opt_out_request.rb +2 -2
  251. data/lib/velopayments/models/payor_funding_detected.rb +399 -0
  252. data/lib/velopayments/models/payor_funding_detected_all_of.rb +339 -0
  253. data/lib/velopayments/models/payor_links_response.rb +2 -2
  254. data/lib/velopayments/models/payor_links_response_links.rb +2 -2
  255. data/lib/velopayments/models/payor_links_response_payors.rb +2 -2
  256. data/lib/velopayments/models/{transmission_types2.rb → payor_to_payment_channel_mapping_v4.rb} +18 -51
  257. data/lib/velopayments/models/payor_v2.rb +26 -20
  258. data/lib/velopayments/models/payout_company_v3.rb +2 -2
  259. data/lib/velopayments/models/payout_individual_v3.rb +2 -2
  260. data/lib/velopayments/models/payout_name_v3.rb +2 -2
  261. data/lib/velopayments/models/payout_payee_v3.rb +2 -2
  262. data/lib/velopayments/models/payout_payor.rb +2 -2
  263. data/lib/velopayments/models/payout_payor_ids.rb +2 -2
  264. data/lib/velopayments/models/payout_principal.rb +2 -2
  265. data/lib/velopayments/models/payout_schedule.rb +2 -2
  266. data/lib/velopayments/models/payout_schedule_v3.rb +2 -2
  267. data/lib/velopayments/models/payout_summary_audit.rb +2 -2
  268. data/lib/velopayments/models/payout_summary_audit_v3.rb +2 -2
  269. data/lib/velopayments/models/payout_summary_response_v3.rb +2 -2
  270. data/lib/velopayments/models/ping.rb +2 -2
  271. data/lib/velopayments/models/ping_response.rb +2 -2
  272. data/lib/velopayments/models/post_instruct_fx_info.rb +2 -2
  273. data/lib/velopayments/models/query_batch_response_v3.rb +2 -2
  274. data/lib/velopayments/models/query_batch_response_v4.rb +2 -2
  275. data/lib/velopayments/models/quote_fx_summary_v3.rb +2 -2
  276. data/lib/velopayments/models/quote_response_v3.rb +2 -2
  277. data/lib/velopayments/models/region_v2.rb +2 -2
  278. data/lib/velopayments/models/register_sms_request.rb +2 -2
  279. data/lib/velopayments/models/rejected_payment_v3.rb +2 -2
  280. data/lib/velopayments/models/resend_token_request.rb +2 -2
  281. data/lib/velopayments/models/reset_password_request.rb +2 -2
  282. data/lib/velopayments/models/role.rb +2 -2
  283. data/lib/velopayments/models/role_update_request.rb +2 -2
  284. data/lib/velopayments/models/schedule_payout_request_v3.rb +2 -2
  285. data/lib/velopayments/models/self_mfa_type_unregister_request.rb +2 -2
  286. data/lib/velopayments/models/self_update_password_request.rb +22 -22
  287. data/lib/velopayments/models/set_notifications_request.rb +2 -2
  288. data/lib/velopayments/models/set_notifications_request2.rb +2 -2
  289. data/lib/velopayments/models/source_account_response_v2.rb +2 -2
  290. data/lib/velopayments/models/source_account_response_v3.rb +18 -6
  291. data/lib/velopayments/models/source_account_summary.rb +2 -2
  292. data/lib/velopayments/models/source_account_summary_v3.rb +2 -2
  293. data/lib/velopayments/models/source_account_v3.rb +2 -2
  294. data/lib/velopayments/models/source_event.rb +2 -2
  295. data/lib/velopayments/models/supported_countries_response.rb +2 -2
  296. data/lib/velopayments/models/supported_countries_response_v2.rb +2 -2
  297. data/lib/velopayments/models/supported_country.rb +2 -2
  298. data/lib/velopayments/models/supported_country_v2.rb +2 -2
  299. data/lib/velopayments/models/supported_currency_response_v2.rb +2 -2
  300. data/lib/velopayments/models/supported_currency_v2.rb +2 -2
  301. data/lib/velopayments/models/{payor_v1.rb → transaction_response.rb} +143 -181
  302. data/lib/velopayments/models/transfer_request_v2.rb +2 -2
  303. data/lib/velopayments/models/transfer_request_v3.rb +2 -2
  304. data/lib/velopayments/models/unregister_mfa_request.rb +2 -2
  305. data/lib/velopayments/models/update_payee_details_request_v3.rb +38 -7
  306. data/lib/velopayments/models/update_payee_details_request_v4.rb +2 -2
  307. data/lib/velopayments/models/update_payment_channel_request_v4.rb +472 -0
  308. data/lib/velopayments/models/update_remote_id_request_v3.rb +2 -2
  309. data/lib/velopayments/models/update_remote_id_request_v4.rb +2 -2
  310. data/lib/velopayments/models/update_webhook_request.rb +2 -2
  311. data/lib/velopayments/models/user_details_update_request.rb +2 -2
  312. data/lib/velopayments/models/user_info.rb +2 -2
  313. data/lib/velopayments/models/user_response.rb +4 -4
  314. data/lib/velopayments/models/user_status.rb +2 -2
  315. data/lib/velopayments/models/user_type.rb +2 -2
  316. data/lib/velopayments/models/user_type2.rb +2 -2
  317. data/lib/velopayments/models/validate_password_response.rb +2 -2
  318. data/lib/velopayments/models/webhook_response.rb +2 -2
  319. data/lib/velopayments/models/webhooks_response.rb +4 -4
  320. data/lib/velopayments/models/withdraw_payment_request.rb +2 -2
  321. data/lib/velopayments/version.rb +3 -3
  322. data/lib/velopayments.rb +21 -7
  323. data/oa3-config.json +1 -1
  324. data/spec/api/payee_payment_channels_api_spec.rb +132 -0
  325. data/spec/api/transactions_api_spec.rb +75 -0
  326. data/spec/api_client_spec.rb +2 -2
  327. data/spec/configuration_spec.rb +2 -2
  328. data/spec/spec_helper.rb +2 -2
  329. data/specs/api/payee_payment_channels_api_spec.rb +132 -0
  330. data/specs/api/transactions_api_spec.rb +75 -0
  331. data/velopayments.gemspec +2 -2
  332. metadata +48 -14
  333. data/docs/ListFundingAccountsResponseV2Links.md +0 -20
  334. data/docs/PayorV1.md +0 -60
  335. data/docs/TransmissionTypes.md +0 -22
  336. data/docs/TransmissionTypes2.md +0 -22
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Velo Payments APIs
3
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.
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. ## Http Status Codes Following is a list of Http Status codes that could be returned by the platform | Status Code | Description | | -----------------------| -------------------------------------------------------------------------------------| | 200 OK | The request was successfully processed and usually returns a json response | | 201 Created | A resource was created and a Location header is returned linking to the new resource | | 202 Accepted | The request has been accepted for processing | | 204 No Content | The request has been processed and there is no response (usually deletes and updates)| | 400 Bad Request | The request is invalid and should be fixed before retrying | | 401 Unauthorized | Authentication has failed, usually means the token has expired | | 403 Forbidden | The user does not have permissions for the request | | 404 Not Found | The resource was not found | | 409 Conflict | The resource already exists and there is a conflict | | 429 Too Many Requests | The user has submitted too many requests in a given amount of time | | 5xx Server Error | Platform internal error (should rarely happen) |
5
5
 
6
- The version of the OpenAPI document: 2.35.58
6
+ The version of the OpenAPI document: 2.37.150
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module VeloPayments
17
17
  class FundingAudit
18
+ # The id of the payor associated with the funding.
19
+ attr_accessor :payor_id
20
+
18
21
  # The amount funded
19
22
  attr_accessor :amount
20
23
 
@@ -38,9 +41,16 @@ module VeloPayments
38
41
  # Type of top up. One of the following values: AUTOMATIC, MANUAL
39
42
  attr_accessor :topup_type
40
43
 
44
+ # The id of the transaction associated with the funding if there was one
45
+ attr_accessor :transaction_id
46
+
47
+ # The payors reference for the transaction associated with the funding if there was one
48
+ attr_accessor :transaction_reference
49
+
41
50
  # Attribute mapping from ruby-style variable name to JSON key.
42
51
  def self.attribute_map
43
52
  {
53
+ :'payor_id' => :'payorId',
44
54
  :'amount' => :'amount',
45
55
  :'currency' => :'currency',
46
56
  :'date_time' => :'dateTime',
@@ -49,7 +59,9 @@ module VeloPayments
49
59
  :'funding_account_name' => :'fundingAccountName',
50
60
  :'funding_type' => :'fundingType',
51
61
  :'events' => :'events',
52
- :'topup_type' => :'topupType'
62
+ :'topup_type' => :'topupType',
63
+ :'transaction_id' => :'transactionId',
64
+ :'transaction_reference' => :'transactionReference'
53
65
  }
54
66
  end
55
67
 
@@ -61,6 +73,7 @@ module VeloPayments
61
73
  # Attribute type mapping.
62
74
  def self.openapi_types
63
75
  {
76
+ :'payor_id' => :'String',
64
77
  :'amount' => :'Float',
65
78
  :'currency' => :'String',
66
79
  :'date_time' => :'Time',
@@ -68,8 +81,10 @@ module VeloPayments
68
81
  :'source_account_name' => :'String',
69
82
  :'funding_account_name' => :'String',
70
83
  :'funding_type' => :'String',
71
- :'events' => :'Array<FundingEvent>',
72
- :'topup_type' => :'String'
84
+ :'events' => :'Array<FundingEvent2>',
85
+ :'topup_type' => :'String',
86
+ :'transaction_id' => :'String',
87
+ :'transaction_reference' => :'String'
73
88
  }
74
89
  end
75
90
 
@@ -94,6 +109,10 @@ module VeloPayments
94
109
  h[k.to_sym] = v
95
110
  }
96
111
 
112
+ if attributes.key?(:'payor_id')
113
+ self.payor_id = attributes[:'payor_id']
114
+ end
115
+
97
116
  if attributes.key?(:'amount')
98
117
  self.amount = attributes[:'amount']
99
118
  end
@@ -131,6 +150,14 @@ module VeloPayments
131
150
  if attributes.key?(:'topup_type')
132
151
  self.topup_type = attributes[:'topup_type']
133
152
  end
153
+
154
+ if attributes.key?(:'transaction_id')
155
+ self.transaction_id = attributes[:'transaction_id']
156
+ end
157
+
158
+ if attributes.key?(:'transaction_reference')
159
+ self.transaction_reference = attributes[:'transaction_reference']
160
+ end
134
161
  end
135
162
 
136
163
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -153,6 +180,7 @@ module VeloPayments
153
180
  def ==(o)
154
181
  return true if self.equal?(o)
155
182
  self.class == o.class &&
183
+ payor_id == o.payor_id &&
156
184
  amount == o.amount &&
157
185
  currency == o.currency &&
158
186
  date_time == o.date_time &&
@@ -161,7 +189,9 @@ module VeloPayments
161
189
  funding_account_name == o.funding_account_name &&
162
190
  funding_type == o.funding_type &&
163
191
  events == o.events &&
164
- topup_type == o.topup_type
192
+ topup_type == o.topup_type &&
193
+ transaction_id == o.transaction_id &&
194
+ transaction_reference == o.transaction_reference
165
195
  end
166
196
 
167
197
  # @see the `==` method
@@ -173,7 +203,7 @@ module VeloPayments
173
203
  # Calculates hash code according to all attributes.
174
204
  # @return [Integer] Hash code
175
205
  def hash
176
- [amount, currency, date_time, status, source_account_name, funding_account_name, funding_type, events, topup_type].hash
206
+ [payor_id, amount, currency, date_time, status, source_account_name, funding_account_name, funding_type, events, topup_type, transaction_id, transaction_reference].hash
177
207
  end
178
208
 
179
209
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Velo Payments APIs
3
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.
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. ## Http Status Codes Following is a list of Http Status codes that could be returned by the platform | Status Code | Description | | -----------------------| -------------------------------------------------------------------------------------| | 200 OK | The request was successfully processed and usually returns a json response | | 201 Created | A resource was created and a Location header is returned linking to the new resource | | 202 Accepted | The request has been accepted for processing | | 204 No Content | The request has been processed and there is no response (usually deletes and updates)| | 400 Bad Request | The request is invalid and should be fixed before retrying | | 401 Unauthorized | Authentication has failed, usually means the token has expired | | 403 Forbidden | The user does not have permissions for the request | | 404 Not Found | The resource was not found | | 409 Conflict | The resource already exists and there is a conflict | | 429 Too Many Requests | The user has submitted too many requests in a given amount of time | | 5xx Server Error | Platform internal error (should rarely happen) |
5
5
 
6
- The version of the OpenAPI document: 2.35.58
6
+ The version of the OpenAPI document: 2.37.150
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT
@@ -14,23 +14,23 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VeloPayments
17
+ # Base type for all Funding Events
17
18
  class FundingEvent
18
- attr_accessor :event_id
19
-
20
- attr_accessor :event_date_time
19
+ # OA3 Schema type name for the source info which is used as the discriminator value to ensure that data binding works correctly
20
+ attr_accessor :source_type
21
21
 
22
- # Funding event type. One of the following values: PAYOR_FUNDING_DETECTED, PAYOR_FUNDING_REQUESTED, PAYOR_FUNDING_RETURN_RECEIVED, FUNDING_RETURN_DETECTED, PAYOR_FUNDING_REQUEST_SUBMITTED, PAYOR_FUNDING_ENTRY_DETAIL_RECEIVED, FUNDING_DEALLOCATED
23
- attr_accessor :funding_event_type
22
+ # UUID id of the source event in the Velo platform
23
+ attr_accessor :event_id
24
24
 
25
- attr_accessor :principal
25
+ # ISO8601 timestamp indicating when the source event was created
26
+ attr_accessor :created_at
26
27
 
27
28
  # Attribute mapping from ruby-style variable name to JSON key.
28
29
  def self.attribute_map
29
30
  {
31
+ :'source_type' => :'sourceType',
30
32
  :'event_id' => :'eventId',
31
- :'event_date_time' => :'eventDateTime',
32
- :'funding_event_type' => :'fundingEventType',
33
- :'principal' => :'principal'
33
+ :'created_at' => :'createdAt'
34
34
  }
35
35
  end
36
36
 
@@ -42,10 +42,9 @@ module VeloPayments
42
42
  # Attribute type mapping.
43
43
  def self.openapi_types
44
44
  {
45
+ :'source_type' => :'String',
45
46
  :'event_id' => :'String',
46
- :'event_date_time' => :'Time',
47
- :'funding_event_type' => :'String',
48
- :'principal' => :'String'
47
+ :'created_at' => :'Time'
49
48
  }
50
49
  end
51
50
 
@@ -55,6 +54,13 @@ module VeloPayments
55
54
  ])
56
55
  end
57
56
 
57
+ # List of class defined in allOf (OpenAPI v3)
58
+ def self.openapi_all_of
59
+ [
60
+ :'SourceEvent'
61
+ ]
62
+ end
63
+
58
64
  # Initializes the object
59
65
  # @param [Hash] attributes Model attributes in the form of hash
60
66
  def initialize(attributes = {})
@@ -70,20 +76,22 @@ module VeloPayments
70
76
  h[k.to_sym] = v
71
77
  }
72
78
 
73
- if attributes.key?(:'event_id')
74
- self.event_id = attributes[:'event_id']
75
- end
76
-
77
- if attributes.key?(:'event_date_time')
78
- self.event_date_time = attributes[:'event_date_time']
79
+ if attributes.key?(:'source_type')
80
+ self.source_type = attributes[:'source_type']
81
+ else
82
+ self.source_type = nil
79
83
  end
80
84
 
81
- if attributes.key?(:'funding_event_type')
82
- self.funding_event_type = attributes[:'funding_event_type']
85
+ if attributes.key?(:'event_id')
86
+ self.event_id = attributes[:'event_id']
87
+ else
88
+ self.event_id = nil
83
89
  end
84
90
 
85
- if attributes.key?(:'principal')
86
- self.principal = attributes[:'principal']
91
+ if attributes.key?(:'created_at')
92
+ self.created_at = attributes[:'created_at']
93
+ else
94
+ self.created_at = nil
87
95
  end
88
96
  end
89
97
 
@@ -92,6 +100,18 @@ module VeloPayments
92
100
  def list_invalid_properties
93
101
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
94
102
  invalid_properties = Array.new
103
+ if @source_type.nil?
104
+ invalid_properties.push('invalid value for "source_type", source_type cannot be nil.')
105
+ end
106
+
107
+ if @event_id.nil?
108
+ invalid_properties.push('invalid value for "event_id", event_id cannot be nil.')
109
+ end
110
+
111
+ if @created_at.nil?
112
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
113
+ end
114
+
95
115
  invalid_properties
96
116
  end
97
117
 
@@ -99,6 +119,9 @@ module VeloPayments
99
119
  # @return true if the model is valid
100
120
  def valid?
101
121
  warn '[DEPRECATED] the `valid?` method is obsolete'
122
+ return false if @source_type.nil?
123
+ return false if @event_id.nil?
124
+ return false if @created_at.nil?
102
125
  true
103
126
  end
104
127
 
@@ -107,10 +130,9 @@ module VeloPayments
107
130
  def ==(o)
108
131
  return true if self.equal?(o)
109
132
  self.class == o.class &&
133
+ source_type == o.source_type &&
110
134
  event_id == o.event_id &&
111
- event_date_time == o.event_date_time &&
112
- funding_event_type == o.funding_event_type &&
113
- principal == o.principal
135
+ created_at == o.created_at
114
136
  end
115
137
 
116
138
  # @see the `==` method
@@ -122,7 +144,7 @@ module VeloPayments
122
144
  # Calculates hash code according to all attributes.
123
145
  # @return [Integer] Hash code
124
146
  def hash
125
- [event_id, event_date_time, funding_event_type, principal].hash
147
+ [source_type, event_id, created_at].hash
126
148
  end
127
149
 
128
150
  # Builds the object from hash
@@ -0,0 +1,242 @@
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. ## Http Status Codes Following is a list of Http Status codes that could be returned by the platform | Status Code | Description | | -----------------------| -------------------------------------------------------------------------------------| | 200 OK | The request was successfully processed and usually returns a json response | | 201 Created | A resource was created and a Location header is returned linking to the new resource | | 202 Accepted | The request has been accepted for processing | | 204 No Content | The request has been processed and there is no response (usually deletes and updates)| | 400 Bad Request | The request is invalid and should be fixed before retrying | | 401 Unauthorized | Authentication has failed, usually means the token has expired | | 403 Forbidden | The user does not have permissions for the request | | 404 Not Found | The resource was not found | | 409 Conflict | The resource already exists and there is a conflict | | 429 Too Many Requests | The user has submitted too many requests in a given amount of time | | 5xx Server Error | Platform internal error (should rarely happen) |
5
+
6
+ The version of the OpenAPI document: 2.37.150
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VeloPayments
17
+ class FundingEvent2
18
+ attr_accessor :event_id
19
+
20
+ attr_accessor :event_date_time
21
+
22
+ # Funding event type. One of the following values: PAYOR_FUNDING_DETECTED, PAYOR_FUNDING_REQUESTED, PAYOR_FUNDING_RETURN_RECEIVED, FUNDING_RETURN_DETECTED, PAYOR_FUNDING_REQUEST_SUBMITTED, PAYOR_FUNDING_ENTRY_DETAIL_RECEIVED, FUNDING_DEALLOCATED
23
+ attr_accessor :funding_event_type
24
+
25
+ attr_accessor :principal
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'event_id' => :'eventId',
31
+ :'event_date_time' => :'eventDateTime',
32
+ :'funding_event_type' => :'fundingEventType',
33
+ :'principal' => :'principal'
34
+ }
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'event_id' => :'String',
46
+ :'event_date_time' => :'Time',
47
+ :'funding_event_type' => :'String',
48
+ :'principal' => :'String'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ ])
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ def initialize(attributes = {})
61
+ if (!attributes.is_a?(Hash))
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeloPayments::FundingEvent2` initialize method"
63
+ end
64
+
65
+ # check to see if the attribute exists and convert string to symbol for hash key
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!self.class.attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeloPayments::FundingEvent2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'event_id')
74
+ self.event_id = attributes[:'event_id']
75
+ end
76
+
77
+ if attributes.key?(:'event_date_time')
78
+ self.event_date_time = attributes[:'event_date_time']
79
+ end
80
+
81
+ if attributes.key?(:'funding_event_type')
82
+ self.funding_event_type = attributes[:'funding_event_type']
83
+ end
84
+
85
+ if attributes.key?(:'principal')
86
+ self.principal = attributes[:'principal']
87
+ end
88
+ end
89
+
90
+ # Show invalid properties with the reasons. Usually used together with valid?
91
+ # @return Array for valid properties with the reasons
92
+ def list_invalid_properties
93
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
94
+ invalid_properties = Array.new
95
+ invalid_properties
96
+ end
97
+
98
+ # Check to see if the all the properties in the model are valid
99
+ # @return true if the model is valid
100
+ def valid?
101
+ warn '[DEPRECATED] the `valid?` method is obsolete'
102
+ true
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ event_id == o.event_id &&
111
+ event_date_time == o.event_date_time &&
112
+ funding_event_type == o.funding_event_type &&
113
+ principal == o.principal
114
+ end
115
+
116
+ # @see the `==` method
117
+ # @param [Object] Object to be compared
118
+ def eql?(o)
119
+ self == o
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ def hash
125
+ [event_id, event_date_time, funding_event_type, principal].hash
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def self.build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ transformed_hash = {}
135
+ openapi_types.each_pair do |key, type|
136
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
137
+ transformed_hash["#{key}"] = nil
138
+ elsif type =~ /\AArray<(.*)>/i
139
+ # check to ensure the input is an array given that the attribute
140
+ # is documented as an array but the input is not
141
+ if attributes[attribute_map[key]].is_a?(Array)
142
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
143
+ end
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
146
+ end
147
+ end
148
+ new(transformed_hash)
149
+ end
150
+
151
+ # Deserializes the data based on type
152
+ # @param string type Data type
153
+ # @param string value Value to be deserialized
154
+ # @return [Object] Deserialized data
155
+ def self._deserialize(type, value)
156
+ case type.to_sym
157
+ when :Time
158
+ Time.parse(value)
159
+ when :Date
160
+ Date.parse(value)
161
+ when :String
162
+ value.to_s
163
+ when :Integer
164
+ value.to_i
165
+ when :Float
166
+ value.to_f
167
+ when :Boolean
168
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
+ true
170
+ else
171
+ false
172
+ end
173
+ when :Object
174
+ # generic object (usually a Hash), return directly
175
+ value
176
+ when /\AArray<(?<inner_type>.+)>\z/
177
+ inner_type = Regexp.last_match[:inner_type]
178
+ value.map { |v| _deserialize(inner_type, v) }
179
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
180
+ k_type = Regexp.last_match[:k_type]
181
+ v_type = Regexp.last_match[:v_type]
182
+ {}.tap do |hash|
183
+ value.each do |k, v|
184
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
185
+ end
186
+ end
187
+ else # model
188
+ # models (e.g. Pet) or oneOf
189
+ klass = VeloPayments.const_get(type)
190
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
191
+ end
192
+ end
193
+
194
+ # Returns the string representation of the object
195
+ # @return [String] String presentation of the object
196
+ def to_s
197
+ to_hash.to_s
198
+ end
199
+
200
+ # to_body is an alias to to_hash (backward compatibility)
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_body
203
+ to_hash
204
+ end
205
+
206
+ # Returns the object in the form of hash
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_hash
209
+ hash = {}
210
+ self.class.attribute_map.each_pair do |attr, param|
211
+ value = self.send(attr)
212
+ if value.nil?
213
+ is_nullable = self.class.openapi_nullable.include?(attr)
214
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
215
+ end
216
+
217
+ hash[param] = _to_hash(value)
218
+ end
219
+ hash
220
+ end
221
+
222
+ # Outputs non-array value in the form of hash
223
+ # For object, use to_hash. Otherwise, just return the value
224
+ # @param [Object] value Any valid value
225
+ # @return [Hash] Returns the value in the form of hash
226
+ def _to_hash(value)
227
+ if value.is_a?(Array)
228
+ value.compact.map { |v| _to_hash(v) }
229
+ elsif value.is_a?(Hash)
230
+ {}.tap do |hash|
231
+ value.each { |k, v| hash[k] = _to_hash(v) }
232
+ end
233
+ elsif value.respond_to? :to_hash
234
+ value.to_hash
235
+ else
236
+ value
237
+ end
238
+ end
239
+
240
+ end
241
+
242
+ end
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Velo Payments APIs
3
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.
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. ## Http Status Codes Following is a list of Http Status codes that could be returned by the platform | Status Code | Description | | -----------------------| -------------------------------------------------------------------------------------| | 200 OK | The request was successfully processed and usually returns a json response | | 201 Created | A resource was created and a Location header is returned linking to the new resource | | 202 Accepted | The request has been accepted for processing | | 204 No Content | The request has been processed and there is no response (usually deletes and updates)| | 400 Bad Request | The request is invalid and should be fixed before retrying | | 401 Unauthorized | Authentication has failed, usually means the token has expired | | 403 Forbidden | The user does not have permissions for the request | | 404 Not Found | The resource was not found | | 409 Conflict | The resource already exists and there is a conflict | | 429 Too Many Requests | The user has submitted too many requests in a given amount of time | | 5xx Server Error | Platform internal error (should rarely happen) |
5
5
 
6
- The version of the OpenAPI document: 2.35.58
6
+ The version of the OpenAPI document: 2.37.150
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Velo Payments APIs
3
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.
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. ## Http Status Codes Following is a list of Http Status codes that could be returned by the platform | Status Code | Description | | -----------------------| -------------------------------------------------------------------------------------| | 200 OK | The request was successfully processed and usually returns a json response | | 201 Created | A resource was created and a Location header is returned linking to the new resource | | 202 Accepted | The request has been accepted for processing | | 204 No Content | The request has been processed and there is no response (usually deletes and updates)| | 400 Bad Request | The request is invalid and should be fixed before retrying | | 401 Unauthorized | Authentication has failed, usually means the token has expired | | 403 Forbidden | The user does not have permissions for the request | | 404 Not Found | The resource was not found | | 409 Conflict | The resource already exists and there is a conflict | | 429 Too Many Requests | The user has submitted too many requests in a given amount of time | | 5xx Server Error | Platform internal error (should rarely happen) |
5
5
 
6
- The version of the OpenAPI document: 2.35.58
6
+ The version of the OpenAPI document: 2.37.150
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 7.1.0-SNAPSHOT