velopayments 2.11.73

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 (273) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +79 -0
  4. data/LICENSE +201 -0
  5. data/Makefile +39 -0
  6. data/README.md +279 -0
  7. data/Rakefile +10 -0
  8. data/docs/Address.md +31 -0
  9. data/docs/Challenge.md +19 -0
  10. data/docs/Company.md +19 -0
  11. data/docs/CountriesApi.md +106 -0
  12. data/docs/CreatePayee.md +59 -0
  13. data/docs/CreatePayeesCSVRequest.md +71 -0
  14. data/docs/CreatePayeesCSVResponse.md +19 -0
  15. data/docs/CreatePayeesRequest.md +19 -0
  16. data/docs/CreatePaymentChannel.md +29 -0
  17. data/docs/CreatePayoutRequest.md +21 -0
  18. data/docs/CurrenciesApi.md +57 -0
  19. data/docs/FailedSubmission.md +19 -0
  20. data/docs/FundingAudit.md +31 -0
  21. data/docs/FundingEvent.md +21 -0
  22. data/docs/FundingEventType.md +16 -0
  23. data/docs/FundingManagerApi.md +347 -0
  24. data/docs/FundingRequest.md +17 -0
  25. data/docs/FundingRequest2.md +17 -0
  26. data/docs/FxSummary.md +35 -0
  27. data/docs/GetFundingsResponse.md +21 -0
  28. data/docs/GetPaymentsForPayoutResponse.md +23 -0
  29. data/docs/GetPaymentsForPayoutResponseLinks.md +19 -0
  30. data/docs/GetPaymentsForPayoutResponsePage.md +25 -0
  31. data/docs/GetPaymentsForPayoutResponseSummary.md +25 -0
  32. data/docs/GetPayoutApi.md +61 -0
  33. data/docs/GetPayoutStatistics.md +19 -0
  34. data/docs/GetPayoutsResponse.md +23 -0
  35. data/docs/Individual.md +21 -0
  36. data/docs/IndividualName.md +23 -0
  37. data/docs/InstructPayoutApi.md +60 -0
  38. data/docs/InvitationStatusResponse.md +17 -0
  39. data/docs/InvitePayeeRequest.md +17 -0
  40. data/docs/Language.md +16 -0
  41. data/docs/ListPaymentsResponse.md +23 -0
  42. data/docs/ListSourceAccountResponse.md +21 -0
  43. data/docs/MarketingOptIn.md +19 -0
  44. data/docs/OfacStatus.md +16 -0
  45. data/docs/OnboardedStatus.md +16 -0
  46. data/docs/PagedResponse.md +19 -0
  47. data/docs/PagedResponsePage.md +25 -0
  48. data/docs/Payee.md +57 -0
  49. data/docs/PayeeInvitationApi.md +222 -0
  50. data/docs/PayeeInvitationStatus.md +21 -0
  51. data/docs/PayeeResponse.md +23 -0
  52. data/docs/PayeeType.md +16 -0
  53. data/docs/PayeesApi.md +192 -0
  54. data/docs/PaymentAuditCurrency.md +16 -0
  55. data/docs/PaymentAuditServiceApi.md +424 -0
  56. data/docs/PaymentChannel.md +29 -0
  57. data/docs/PaymentChannelCountry.md +19 -0
  58. data/docs/PaymentChannelRule.md +29 -0
  59. data/docs/PaymentChannelRulesResponse.md +17 -0
  60. data/docs/PaymentEventResponse.md +39 -0
  61. data/docs/PaymentInstruction.md +27 -0
  62. data/docs/PaymentResponse.md +81 -0
  63. data/docs/Payor.md +55 -0
  64. data/docs/PayorApplicationsApi.md +119 -0
  65. data/docs/PayorBrandingResponse.md +25 -0
  66. data/docs/PayorCreateApiKeyRequest.md +21 -0
  67. data/docs/PayorCreateApiKeyResponse.md +19 -0
  68. data/docs/PayorCreateApplicationRequest.md +19 -0
  69. data/docs/PayorEmailOptOutRequest.md +17 -0
  70. data/docs/PayorFundingBankDetailsUpdate.md +21 -0
  71. data/docs/PayorLogoRequest.md +17 -0
  72. data/docs/PayorRef.md +21 -0
  73. data/docs/PayorsApi.md +224 -0
  74. data/docs/PayoutHistoryApi.md +142 -0
  75. data/docs/PayoutStatus.md +16 -0
  76. data/docs/PayoutSummaryAudit.md +39 -0
  77. data/docs/PayoutSummaryResponse.md +31 -0
  78. data/docs/QueryBatchResponse.md +23 -0
  79. data/docs/QuoteFxSummary.md +37 -0
  80. data/docs/QuotePayoutApi.md +61 -0
  81. data/docs/QuoteResponse.md +17 -0
  82. data/docs/RejectedPayment.md +31 -0
  83. data/docs/Social.md +21 -0
  84. data/docs/SourceAccount.md +23 -0
  85. data/docs/SourceAccountResponse.md +39 -0
  86. data/docs/SourceAccountSummary.md +21 -0
  87. data/docs/SubmitPayoutApi.md +60 -0
  88. data/docs/SupportedCountriesResponse.md +17 -0
  89. data/docs/SupportedCountry.md +19 -0
  90. data/docs/SupportedCurrency.md +19 -0
  91. data/docs/SupportedCurrencyResponse.md +17 -0
  92. data/docs/WithdrawPayoutApi.md +60 -0
  93. data/lib/velopayments.rb +124 -0
  94. data/lib/velopayments/api/countries_api.rb +116 -0
  95. data/lib/velopayments/api/currencies_api.rb +69 -0
  96. data/lib/velopayments/api/funding_manager_api.rb +374 -0
  97. data/lib/velopayments/api/get_payout_api.rb +75 -0
  98. data/lib/velopayments/api/instruct_payout_api.rb +72 -0
  99. data/lib/velopayments/api/payee_invitation_api.rb +244 -0
  100. data/lib/velopayments/api/payees_api.rb +217 -0
  101. data/lib/velopayments/api/payment_audit_service_api.rb +473 -0
  102. data/lib/velopayments/api/payor_applications_api.rb +147 -0
  103. data/lib/velopayments/api/payors_api.rb +241 -0
  104. data/lib/velopayments/api/payout_history_api.rb +165 -0
  105. data/lib/velopayments/api/quote_payout_api.rb +75 -0
  106. data/lib/velopayments/api/submit_payout_api.rb +74 -0
  107. data/lib/velopayments/api/withdraw_payout_api.rb +72 -0
  108. data/lib/velopayments/api_client.rb +387 -0
  109. data/lib/velopayments/api_error.rb +57 -0
  110. data/lib/velopayments/configuration.rb +251 -0
  111. data/lib/velopayments/models/address.rb +478 -0
  112. data/lib/velopayments/models/challenge.rb +271 -0
  113. data/lib/velopayments/models/company.rb +256 -0
  114. data/lib/velopayments/models/create_payee.rb +466 -0
  115. data/lib/velopayments/models/create_payees_csv_request.rb +1052 -0
  116. data/lib/velopayments/models/create_payees_csv_response.rb +207 -0
  117. data/lib/velopayments/models/create_payees_request.rb +217 -0
  118. data/lib/velopayments/models/create_payment_channel.rb +414 -0
  119. data/lib/velopayments/models/create_payout_request.rb +226 -0
  120. data/lib/velopayments/models/failed_submission.rb +205 -0
  121. data/lib/velopayments/models/funding_audit.rb +295 -0
  122. data/lib/velopayments/models/funding_event.rb +214 -0
  123. data/lib/velopayments/models/funding_event_type.rb +41 -0
  124. data/lib/velopayments/models/funding_request.rb +230 -0
  125. data/lib/velopayments/models/funding_request2.rb +230 -0
  126. data/lib/velopayments/models/fx_summary.rb +363 -0
  127. data/lib/velopayments/models/get_fundings_response.rb +223 -0
  128. data/lib/velopayments/models/get_payments_for_payout_response.rb +228 -0
  129. data/lib/velopayments/models/get_payments_for_payout_response_links.rb +205 -0
  130. data/lib/velopayments/models/get_payments_for_payout_response_page.rb +232 -0
  131. data/lib/velopayments/models/get_payments_for_payout_response_summary.rb +232 -0
  132. data/lib/velopayments/models/get_payout_statistics.rb +215 -0
  133. data/lib/velopayments/models/get_payouts_response.rb +228 -0
  134. data/lib/velopayments/models/individual.rb +224 -0
  135. data/lib/velopayments/models/individual_name.rb +337 -0
  136. data/lib/velopayments/models/invitation_status_response.rb +203 -0
  137. data/lib/velopayments/models/invite_payee_request.rb +201 -0
  138. data/lib/velopayments/models/language.rb +45 -0
  139. data/lib/velopayments/models/list_payments_response.rb +228 -0
  140. data/lib/velopayments/models/list_source_account_response.rb +219 -0
  141. data/lib/velopayments/models/marketing_opt_in.rb +205 -0
  142. data/lib/velopayments/models/ofac_status.rb +37 -0
  143. data/lib/velopayments/models/onboarded_status.rb +38 -0
  144. data/lib/velopayments/models/paged_response.rb +207 -0
  145. data/lib/velopayments/models/paged_response_page.rb +232 -0
  146. data/lib/velopayments/models/payee.rb +381 -0
  147. data/lib/velopayments/models/payee_invitation_status.rb +258 -0
  148. data/lib/velopayments/models/payee_response.rb +228 -0
  149. data/lib/velopayments/models/payee_type.rb +36 -0
  150. data/lib/velopayments/models/payment_audit_currency.rb +37 -0
  151. data/lib/velopayments/models/payment_channel.rb +430 -0
  152. data/lib/velopayments/models/payment_channel_country.rb +207 -0
  153. data/lib/velopayments/models/payment_channel_rule.rb +250 -0
  154. data/lib/velopayments/models/payment_channel_rules_response.rb +198 -0
  155. data/lib/velopayments/models/payment_event_response.rb +351 -0
  156. data/lib/velopayments/models/payment_instruction.rb +430 -0
  157. data/lib/velopayments/models/payment_response.rb +587 -0
  158. data/lib/velopayments/models/payor.rb +435 -0
  159. data/lib/velopayments/models/payor_branding_response.rb +247 -0
  160. data/lib/velopayments/models/payor_create_api_key_request.rb +303 -0
  161. data/lib/velopayments/models/payor_create_api_key_response.rb +207 -0
  162. data/lib/velopayments/models/payor_create_application_request.rb +264 -0
  163. data/lib/velopayments/models/payor_email_opt_out_request.rb +196 -0
  164. data/lib/velopayments/models/payor_funding_bank_details_update.rb +316 -0
  165. data/lib/velopayments/models/payor_logo_request.rb +196 -0
  166. data/lib/velopayments/models/payor_ref.rb +214 -0
  167. data/lib/velopayments/models/payout_status.rb +43 -0
  168. data/lib/velopayments/models/payout_summary_audit.rb +314 -0
  169. data/lib/velopayments/models/payout_summary_response.rb +280 -0
  170. data/lib/velopayments/models/query_batch_response.rb +260 -0
  171. data/lib/velopayments/models/quote_fx_summary.rb +377 -0
  172. data/lib/velopayments/models/quote_response.rb +198 -0
  173. data/lib/velopayments/models/rejected_payment.rb +323 -0
  174. data/lib/velopayments/models/social.rb +214 -0
  175. data/lib/velopayments/models/source_account.rb +243 -0
  176. data/lib/velopayments/models/source_account_response.rb +341 -0
  177. data/lib/velopayments/models/source_account_summary.rb +224 -0
  178. data/lib/velopayments/models/supported_countries_response.rb +198 -0
  179. data/lib/velopayments/models/supported_country.rb +207 -0
  180. data/lib/velopayments/models/supported_currency.rb +206 -0
  181. data/lib/velopayments/models/supported_currency_response.rb +198 -0
  182. data/lib/velopayments/version.rb +15 -0
  183. data/oa3-config.json +8 -0
  184. data/spec/api/countries_api_spec.rb +57 -0
  185. data/spec/api/currencies_api_spec.rb +46 -0
  186. data/spec/api/funding_manager_api_spec.rb +117 -0
  187. data/spec/api/get_payout_api_spec.rb +47 -0
  188. data/spec/api/instruct_payout_api_spec.rb +47 -0
  189. data/spec/api/payee_invitation_api_spec.rb +84 -0
  190. data/spec/api/payees_api_spec.rb +82 -0
  191. data/spec/api/payment_audit_service_api_spec.rb +150 -0
  192. data/spec/api/payor_applications_api_spec.rb +62 -0
  193. data/spec/api/payors_api_spec.rb +85 -0
  194. data/spec/api/payout_history_api_spec.rb +71 -0
  195. data/spec/api/quote_payout_api_spec.rb +47 -0
  196. data/spec/api/submit_payout_api_spec.rb +47 -0
  197. data/spec/api/withdraw_payout_api_spec.rb +47 -0
  198. data/spec/api_client_spec.rb +226 -0
  199. data/spec/configuration_spec.rb +42 -0
  200. data/spec/models/address_spec.rb +83 -0
  201. data/spec/models/challenge_spec.rb +47 -0
  202. data/spec/models/company_spec.rb +47 -0
  203. data/spec/models/create_payee_spec.rb +167 -0
  204. data/spec/models/create_payees_csv_request_spec.rb +211 -0
  205. data/spec/models/create_payees_csv_response_spec.rb +47 -0
  206. data/spec/models/create_payees_request_spec.rb +47 -0
  207. data/spec/models/create_payment_channel_spec.rb +81 -0
  208. data/spec/models/create_payout_request_spec.rb +53 -0
  209. data/spec/models/failed_submission_spec.rb +47 -0
  210. data/spec/models/funding_audit_spec.rb +87 -0
  211. data/spec/models/funding_event_spec.rb +53 -0
  212. data/spec/models/funding_event_type_spec.rb +35 -0
  213. data/spec/models/funding_request2_spec.rb +41 -0
  214. data/spec/models/funding_request_spec.rb +41 -0
  215. data/spec/models/fx_summary_spec.rb +103 -0
  216. data/spec/models/get_fundings_response_spec.rb +53 -0
  217. data/spec/models/get_payments_for_payout_response_links_spec.rb +47 -0
  218. data/spec/models/get_payments_for_payout_response_page_spec.rb +65 -0
  219. data/spec/models/get_payments_for_payout_response_spec.rb +59 -0
  220. data/spec/models/get_payments_for_payout_response_summary_spec.rb +65 -0
  221. data/spec/models/get_payout_statistics_spec.rb +47 -0
  222. data/spec/models/get_payouts_response_spec.rb +59 -0
  223. data/spec/models/individual_name_spec.rb +59 -0
  224. data/spec/models/individual_spec.rb +53 -0
  225. data/spec/models/invitation_status_response_spec.rb +41 -0
  226. data/spec/models/invite_payee_request_spec.rb +41 -0
  227. data/spec/models/language_spec.rb +35 -0
  228. data/spec/models/list_payments_response_spec.rb +59 -0
  229. data/spec/models/list_source_account_response_spec.rb +53 -0
  230. data/spec/models/marketing_opt_in_spec.rb +47 -0
  231. data/spec/models/ofac_status_spec.rb +35 -0
  232. data/spec/models/onboarded_status_spec.rb +35 -0
  233. data/spec/models/paged_response_page_spec.rb +65 -0
  234. data/spec/models/paged_response_spec.rb +47 -0
  235. data/spec/models/payee_invitation_status_spec.rb +57 -0
  236. data/spec/models/payee_response_spec.rb +59 -0
  237. data/spec/models/payee_spec.rb +161 -0
  238. data/spec/models/payee_type_spec.rb +35 -0
  239. data/spec/models/payment_audit_currency_spec.rb +35 -0
  240. data/spec/models/payment_channel_country_spec.rb +47 -0
  241. data/spec/models/payment_channel_rule_spec.rb +77 -0
  242. data/spec/models/payment_channel_rules_response_spec.rb +41 -0
  243. data/spec/models/payment_channel_spec.rb +81 -0
  244. data/spec/models/payment_event_response_spec.rb +111 -0
  245. data/spec/models/payment_instruction_spec.rb +75 -0
  246. data/spec/models/payment_response_spec.rb +241 -0
  247. data/spec/models/payor_branding_response_spec.rb +65 -0
  248. data/spec/models/payor_create_api_key_request_spec.rb +57 -0
  249. data/spec/models/payor_create_api_key_response_spec.rb +47 -0
  250. data/spec/models/payor_create_application_request_spec.rb +47 -0
  251. data/spec/models/payor_email_opt_out_request_spec.rb +41 -0
  252. data/spec/models/payor_funding_bank_details_update_spec.rb +53 -0
  253. data/spec/models/payor_logo_request_spec.rb +41 -0
  254. data/spec/models/payor_ref_spec.rb +53 -0
  255. data/spec/models/payor_spec.rb +163 -0
  256. data/spec/models/payout_status_spec.rb +35 -0
  257. data/spec/models/payout_summary_audit_spec.rb +107 -0
  258. data/spec/models/payout_summary_response_spec.rb +83 -0
  259. data/spec/models/query_batch_response_spec.rb +63 -0
  260. data/spec/models/quote_fx_summary_spec.rb +101 -0
  261. data/spec/models/quote_response_spec.rb +41 -0
  262. data/spec/models/rejected_payment_spec.rb +87 -0
  263. data/spec/models/social_spec.rb +53 -0
  264. data/spec/models/source_account_response_spec.rb +111 -0
  265. data/spec/models/source_account_spec.rb +59 -0
  266. data/spec/models/source_account_summary_spec.rb +53 -0
  267. data/spec/models/supported_countries_response_spec.rb +41 -0
  268. data/spec/models/supported_country_spec.rb +47 -0
  269. data/spec/models/supported_currency_response_spec.rb +41 -0
  270. data/spec/models/supported_currency_spec.rb +47 -0
  271. data/spec/spec_helper.rb +111 -0
  272. data/velopayments.gemspec +45 -0
  273. metadata +586 -0
@@ -0,0 +1,147 @@
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
+ OpenAPI spec version: 2.11.73
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module VeloPayments
16
+ class PayorApplicationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create API Key
23
+ # Create an an API key for the given payor Id and application Id
24
+ # @param payor_id [String] The account owner Payor ID
25
+ # @param application_id [String] Application ID
26
+ # @param payor_create_api_key_request [PayorCreateApiKeyRequest] Details of application API key to create
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [PayorCreateApiKeyResponse]
29
+ def payor_create_api_key_request(payor_id, application_id, payor_create_api_key_request, opts = {})
30
+ data, _status_code, _headers = payor_create_api_key_request_with_http_info(payor_id, application_id, payor_create_api_key_request, opts)
31
+ data
32
+ end
33
+
34
+ # Create API Key
35
+ # Create an an API key for the given payor Id and application Id
36
+ # @param payor_id [String] The account owner Payor ID
37
+ # @param application_id [String] Application ID
38
+ # @param payor_create_api_key_request [PayorCreateApiKeyRequest] Details of application API key to create
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(PayorCreateApiKeyResponse, Integer, Hash)>] PayorCreateApiKeyResponse data, response status code and response headers
41
+ def payor_create_api_key_request_with_http_info(payor_id, application_id, payor_create_api_key_request, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: PayorApplicationsApi.payor_create_api_key_request ...'
44
+ end
45
+ # verify the required parameter 'payor_id' is set
46
+ if @api_client.config.client_side_validation && payor_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorApplicationsApi.payor_create_api_key_request"
48
+ end
49
+ # verify the required parameter 'application_id' is set
50
+ if @api_client.config.client_side_validation && application_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling PayorApplicationsApi.payor_create_api_key_request"
52
+ end
53
+ # verify the required parameter 'payor_create_api_key_request' is set
54
+ if @api_client.config.client_side_validation && payor_create_api_key_request.nil?
55
+ fail ArgumentError, "Missing the required parameter 'payor_create_api_key_request' when calling PayorApplicationsApi.payor_create_api_key_request"
56
+ end
57
+ # resource path
58
+ local_var_path = '/v1/payors/{payorId}/applications/{applicationId}/keys'.sub('{' + 'payorId' + '}', payor_id.to_s).sub('{' + 'applicationId' + '}', application_id.to_s)
59
+
60
+ # query parameters
61
+ query_params = {}
62
+
63
+ # header parameters
64
+ header_params = {}
65
+ # HTTP header 'Accept' (if needed)
66
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
67
+ # HTTP header 'Content-Type'
68
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
69
+
70
+ # form parameters
71
+ form_params = {}
72
+
73
+ # http body (model)
74
+ post_body = @api_client.object_to_http_body(payor_create_api_key_request)
75
+ auth_names = ['OAuth2']
76
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => 'PayorCreateApiKeyResponse')
83
+ if @api_client.config.debugging
84
+ @api_client.config.logger.debug "API called: PayorApplicationsApi#payor_create_api_key_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
85
+ end
86
+ return data, status_code, headers
87
+ end
88
+
89
+ # Create Application
90
+ # Create an application for the given Payor ID
91
+ # @param payor_id [String] The account owner Payor ID
92
+ # @param payor_create_application_request [PayorCreateApplicationRequest] Details of application to create
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def payor_create_application_request(payor_id, payor_create_application_request, opts = {})
96
+ payor_create_application_request_with_http_info(payor_id, payor_create_application_request, opts)
97
+ nil
98
+ end
99
+
100
+ # Create Application
101
+ # Create an application for the given Payor ID
102
+ # @param payor_id [String] The account owner Payor ID
103
+ # @param payor_create_application_request [PayorCreateApplicationRequest] Details of application to create
104
+ # @param [Hash] opts the optional parameters
105
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
106
+ def payor_create_application_request_with_http_info(payor_id, payor_create_application_request, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug 'Calling API: PayorApplicationsApi.payor_create_application_request ...'
109
+ end
110
+ # verify the required parameter 'payor_id' is set
111
+ if @api_client.config.client_side_validation && payor_id.nil?
112
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorApplicationsApi.payor_create_application_request"
113
+ end
114
+ # verify the required parameter 'payor_create_application_request' is set
115
+ if @api_client.config.client_side_validation && payor_create_application_request.nil?
116
+ fail ArgumentError, "Missing the required parameter 'payor_create_application_request' when calling PayorApplicationsApi.payor_create_application_request"
117
+ end
118
+ # resource path
119
+ local_var_path = '/v1/payors/{payorId}/applications'.sub('{' + 'payorId' + '}', payor_id.to_s)
120
+
121
+ # query parameters
122
+ query_params = {}
123
+
124
+ # header parameters
125
+ header_params = {}
126
+ # HTTP header 'Content-Type'
127
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
128
+
129
+ # form parameters
130
+ form_params = {}
131
+
132
+ # http body (model)
133
+ post_body = @api_client.object_to_http_body(payor_create_application_request)
134
+ auth_names = ['OAuth2']
135
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
136
+ :header_params => header_params,
137
+ :query_params => query_params,
138
+ :form_params => form_params,
139
+ :body => post_body,
140
+ :auth_names => auth_names)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: PayorApplicationsApi#payor_create_application_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,241 @@
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
+ OpenAPI spec version: 2.11.73
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module VeloPayments
16
+ class PayorsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get Payor
23
+ # Get a Single Payor by Id (200 - OK, 404 - payor not found).
24
+ # @param payor_id [String] The account owner Payor ID
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Payor]
27
+ def get_payor_by_id(payor_id, opts = {})
28
+ data, _status_code, _headers = get_payor_by_id_with_http_info(payor_id, opts)
29
+ data
30
+ end
31
+
32
+ # Get Payor
33
+ # Get a Single Payor by Id (200 - OK, 404 - payor not found).
34
+ # @param payor_id [String] The account owner Payor ID
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Payor, Integer, Hash)>] Payor data, response status code and response headers
37
+ def get_payor_by_id_with_http_info(payor_id, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: PayorsApi.get_payor_by_id ...'
40
+ end
41
+ # verify the required parameter 'payor_id' is set
42
+ if @api_client.config.client_side_validation && payor_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorsApi.get_payor_by_id"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/payors/{payorId}'.sub('{' + 'payorId' + '}', payor_id.to_s)
47
+
48
+ # query parameters
49
+ query_params = {}
50
+
51
+ # header parameters
52
+ header_params = {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+
56
+ # form parameters
57
+ form_params = {}
58
+
59
+ # http body (model)
60
+ post_body = nil
61
+ auth_names = ['OAuth2']
62
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
63
+ :header_params => header_params,
64
+ :query_params => query_params,
65
+ :form_params => form_params,
66
+ :body => post_body,
67
+ :auth_names => auth_names,
68
+ :return_type => 'Payor')
69
+ if @api_client.config.debugging
70
+ @api_client.config.logger.debug "API called: PayorsApi#get_payor_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
71
+ end
72
+ return data, status_code, headers
73
+ end
74
+
75
+ # Add Logo
76
+ # Add Payor Logo
77
+ # @param payor_id [String] The account owner Payor ID
78
+ # @param [Hash] opts the optional parameters
79
+ # @option opts [File] :logo
80
+ # @return [nil]
81
+ def payor_add_payor_logo(payor_id, opts = {})
82
+ payor_add_payor_logo_with_http_info(payor_id, opts)
83
+ nil
84
+ end
85
+
86
+ # Add Logo
87
+ # Add Payor Logo
88
+ # @param payor_id [String] The account owner Payor ID
89
+ # @param [Hash] opts the optional parameters
90
+ # @option opts [File] :logo
91
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
92
+ def payor_add_payor_logo_with_http_info(payor_id, opts = {})
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug 'Calling API: PayorsApi.payor_add_payor_logo ...'
95
+ end
96
+ # verify the required parameter 'payor_id' is set
97
+ if @api_client.config.client_side_validation && payor_id.nil?
98
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorsApi.payor_add_payor_logo"
99
+ end
100
+ # resource path
101
+ local_var_path = '/v1/payors/{payorId}/branding/logos'.sub('{' + 'payorId' + '}', payor_id.to_s)
102
+
103
+ # query parameters
104
+ query_params = {}
105
+
106
+ # header parameters
107
+ header_params = {}
108
+ # HTTP header 'Content-Type'
109
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
110
+
111
+ # form parameters
112
+ form_params = {}
113
+ form_params['logo'] = opts[:'logo'] if !opts[:'logo'].nil?
114
+
115
+ # http body (model)
116
+ post_body = nil
117
+ auth_names = ['OAuth2']
118
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
119
+ :header_params => header_params,
120
+ :query_params => query_params,
121
+ :form_params => form_params,
122
+ :body => post_body,
123
+ :auth_names => auth_names)
124
+ if @api_client.config.debugging
125
+ @api_client.config.logger.debug "API called: PayorsApi#payor_add_payor_logo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
126
+ end
127
+ return data, status_code, headers
128
+ end
129
+
130
+ # Reminder Email Opt-Out
131
+ # Update the emailRemindersOptOut field for a Payor. This API can be used to opt out or opt into Payor Reminder emails. These emails are typically around payee events such as payees registering and onboarding.
132
+ # @param payor_id [String] The account owner Payor ID
133
+ # @param payor_email_opt_out_request [PayorEmailOptOutRequest] Details of application API key to create
134
+ # @param [Hash] opts the optional parameters
135
+ # @return [nil]
136
+ def payor_email_opt_out(payor_id, payor_email_opt_out_request, opts = {})
137
+ payor_email_opt_out_with_http_info(payor_id, payor_email_opt_out_request, opts)
138
+ nil
139
+ end
140
+
141
+ # Reminder Email Opt-Out
142
+ # Update the emailRemindersOptOut field for a Payor. This API can be used to opt out or opt into Payor Reminder emails. These emails are typically around payee events such as payees registering and onboarding.
143
+ # @param payor_id [String] The account owner Payor ID
144
+ # @param payor_email_opt_out_request [PayorEmailOptOutRequest] Details of application API key to create
145
+ # @param [Hash] opts the optional parameters
146
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
147
+ def payor_email_opt_out_with_http_info(payor_id, payor_email_opt_out_request, opts = {})
148
+ if @api_client.config.debugging
149
+ @api_client.config.logger.debug 'Calling API: PayorsApi.payor_email_opt_out ...'
150
+ end
151
+ # verify the required parameter 'payor_id' is set
152
+ if @api_client.config.client_side_validation && payor_id.nil?
153
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorsApi.payor_email_opt_out"
154
+ end
155
+ # verify the required parameter 'payor_email_opt_out_request' is set
156
+ if @api_client.config.client_side_validation && payor_email_opt_out_request.nil?
157
+ fail ArgumentError, "Missing the required parameter 'payor_email_opt_out_request' when calling PayorsApi.payor_email_opt_out"
158
+ end
159
+ # resource path
160
+ local_var_path = '/v1/payors/{payorId}/reminderEmailsUpdate'.sub('{' + 'payorId' + '}', payor_id.to_s)
161
+
162
+ # query parameters
163
+ query_params = {}
164
+
165
+ # header parameters
166
+ header_params = {}
167
+ # HTTP header 'Content-Type'
168
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
169
+
170
+ # form parameters
171
+ form_params = {}
172
+
173
+ # http body (model)
174
+ post_body = @api_client.object_to_http_body(payor_email_opt_out_request)
175
+ auth_names = ['OAuth2']
176
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
177
+ :header_params => header_params,
178
+ :query_params => query_params,
179
+ :form_params => form_params,
180
+ :body => post_body,
181
+ :auth_names => auth_names)
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug "API called: PayorsApi#payor_email_opt_out\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
184
+ end
185
+ return data, status_code, headers
186
+ end
187
+
188
+ # Get Branding
189
+ # Get the payor branding details.
190
+ # @param payor_id [String] The account owner Payor ID
191
+ # @param [Hash] opts the optional parameters
192
+ # @return [PayorBrandingResponse]
193
+ def payor_get_branding(payor_id, opts = {})
194
+ data, _status_code, _headers = payor_get_branding_with_http_info(payor_id, opts)
195
+ data
196
+ end
197
+
198
+ # Get Branding
199
+ # Get the payor branding details.
200
+ # @param payor_id [String] The account owner Payor ID
201
+ # @param [Hash] opts the optional parameters
202
+ # @return [Array<(PayorBrandingResponse, Integer, Hash)>] PayorBrandingResponse data, response status code and response headers
203
+ def payor_get_branding_with_http_info(payor_id, opts = {})
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug 'Calling API: PayorsApi.payor_get_branding ...'
206
+ end
207
+ # verify the required parameter 'payor_id' is set
208
+ if @api_client.config.client_side_validation && payor_id.nil?
209
+ fail ArgumentError, "Missing the required parameter 'payor_id' when calling PayorsApi.payor_get_branding"
210
+ end
211
+ # resource path
212
+ local_var_path = '/v1/payors/{payorId}/branding'.sub('{' + 'payorId' + '}', payor_id.to_s)
213
+
214
+ # query parameters
215
+ query_params = {}
216
+
217
+ # header parameters
218
+ header_params = {}
219
+ # HTTP header 'Accept' (if needed)
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
221
+
222
+ # form parameters
223
+ form_params = {}
224
+
225
+ # http body (model)
226
+ post_body = nil
227
+ auth_names = ['OAuth2']
228
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
229
+ :header_params => header_params,
230
+ :query_params => query_params,
231
+ :form_params => form_params,
232
+ :body => post_body,
233
+ :auth_names => auth_names,
234
+ :return_type => 'PayorBrandingResponse')
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug "API called: PayorsApi#payor_get_branding\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
237
+ end
238
+ return data, status_code, headers
239
+ end
240
+ end
241
+ end
@@ -0,0 +1,165 @@
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
+ OpenAPI spec version: 2.11.73
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module VeloPayments
16
+ class PayoutHistoryApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get Payments for Payout
23
+ # Get List of payments for Payout
24
+ # @param payout_id [String] The id (UUID) of the payout.
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :remote_id The remote id of the payees.
27
+ # @option opts [String] :status Payment Status
28
+ # @option opts [Integer] :source_amount_from The source amount from range filter. Filters for sourceAmount &gt;&#x3D; sourceAmountFrom
29
+ # @option opts [Integer] :source_amount_to The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
30
+ # @option opts [Integer] :payment_amount_from The payment amount from range filter. Filters for paymentAmount &gt;&#x3D; paymentAmountFrom
31
+ # @option opts [Integer] :payment_amount_to The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
32
+ # @option opts [Date] :submitted_date_from The submitted date from range filter. Format is yyyy-MM-dd.
33
+ # @option opts [Date] :submitted_date_to The submitted date to range filter. Format is yyyy-MM-dd.
34
+ # @option opts [Integer] :page Page number. Default is 1. (default to 1)
35
+ # @option opts [Integer] :page_size Page size. Default is 25. Max allowable is 100. (default to 25)
36
+ # @option opts [String] :sort List of sort fields (e.g. ?sort&#x3D;submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status
37
+ # @option opts [Boolean] :sensitive Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values.
38
+ # @return [GetPaymentsForPayoutResponse]
39
+ def get_payments_for_payout(payout_id, opts = {})
40
+ data, _status_code, _headers = get_payments_for_payout_with_http_info(payout_id, opts)
41
+ data
42
+ end
43
+
44
+ # Get Payments for Payout
45
+ # Get List of payments for Payout
46
+ # @param payout_id [String] The id (UUID) of the payout.
47
+ # @param [Hash] opts the optional parameters
48
+ # @option opts [String] :remote_id The remote id of the payees.
49
+ # @option opts [String] :status Payment Status
50
+ # @option opts [Integer] :source_amount_from The source amount from range filter. Filters for sourceAmount &gt;&#x3D; sourceAmountFrom
51
+ # @option opts [Integer] :source_amount_to The source amount to range filter. Filters for sourceAmount ⇐ sourceAmountTo
52
+ # @option opts [Integer] :payment_amount_from The payment amount from range filter. Filters for paymentAmount &gt;&#x3D; paymentAmountFrom
53
+ # @option opts [Integer] :payment_amount_to The payment amount to range filter. Filters for paymentAmount ⇐ paymentAmountTo
54
+ # @option opts [Date] :submitted_date_from The submitted date from range filter. Format is yyyy-MM-dd.
55
+ # @option opts [Date] :submitted_date_to The submitted date to range filter. Format is yyyy-MM-dd.
56
+ # @option opts [Integer] :page Page number. Default is 1.
57
+ # @option opts [Integer] :page_size Page size. Default is 25. Max allowable is 100.
58
+ # @option opts [String] :sort List of sort fields (e.g. ?sort&#x3D;submittedDateTime:asc,status:asc). Default is sort by remoteId The supported sort fields are: sourceAmount, sourceCurrency, paymentAmount, paymentCurrency, routingNumber, accountNumber, remoteId, submittedDateTime and status
59
+ # @option opts [Boolean] :sensitive Optional. If omitted or set to false, any Personal Identifiable Information (PII) values are returned masked. If set to true, and you have permission, the PII values will be returned as their original unmasked values.
60
+ # @return [Array<(GetPaymentsForPayoutResponse, Integer, Hash)>] GetPaymentsForPayoutResponse data, response status code and response headers
61
+ def get_payments_for_payout_with_http_info(payout_id, opts = {})
62
+ if @api_client.config.debugging
63
+ @api_client.config.logger.debug 'Calling API: PayoutHistoryApi.get_payments_for_payout ...'
64
+ end
65
+ # verify the required parameter 'payout_id' is set
66
+ if @api_client.config.client_side_validation && payout_id.nil?
67
+ fail ArgumentError, "Missing the required parameter 'payout_id' when calling PayoutHistoryApi.get_payments_for_payout"
68
+ end
69
+ allowable_values = ["ACCEPTED", "AWAITING_FUNDS", "FUNDED", "UNFUNDED", "BANK_PAYMENT_REQUESTED", "REJECTED", "ACCEPTED_BY_RAILS", "CONFIRMED", "FAILED", "WITHDRAWN"]
70
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
71
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
72
+ end
73
+ # resource path
74
+ local_var_path = '/v3/paymentaudit/payouts/{payoutId}'.sub('{' + 'payoutId' + '}', payout_id.to_s)
75
+
76
+ # query parameters
77
+ query_params = {}
78
+ query_params[:'remoteId'] = opts[:'remote_id'] if !opts[:'remote_id'].nil?
79
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
80
+ query_params[:'sourceAmountFrom'] = opts[:'source_amount_from'] if !opts[:'source_amount_from'].nil?
81
+ query_params[:'sourceAmountTo'] = opts[:'source_amount_to'] if !opts[:'source_amount_to'].nil?
82
+ query_params[:'paymentAmountFrom'] = opts[:'payment_amount_from'] if !opts[:'payment_amount_from'].nil?
83
+ query_params[:'paymentAmountTo'] = opts[:'payment_amount_to'] if !opts[:'payment_amount_to'].nil?
84
+ query_params[:'submittedDateFrom'] = opts[:'submitted_date_from'] if !opts[:'submitted_date_from'].nil?
85
+ query_params[:'submittedDateTo'] = opts[:'submitted_date_to'] if !opts[:'submitted_date_to'].nil?
86
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
87
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
88
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
89
+ query_params[:'sensitive'] = opts[:'sensitive'] if !opts[:'sensitive'].nil?
90
+
91
+ # header parameters
92
+ header_params = {}
93
+ # HTTP header 'Accept' (if needed)
94
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
95
+
96
+ # form parameters
97
+ form_params = {}
98
+
99
+ # http body (model)
100
+ post_body = nil
101
+ auth_names = ['OAuth2']
102
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
103
+ :header_params => header_params,
104
+ :query_params => query_params,
105
+ :form_params => form_params,
106
+ :body => post_body,
107
+ :auth_names => auth_names,
108
+ :return_type => 'GetPaymentsForPayoutResponse')
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug "API called: PayoutHistoryApi#get_payments_for_payout\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
111
+ end
112
+ return data, status_code, headers
113
+ end
114
+
115
+ # Get Payout Statistics
116
+ # Get payout statistics for a payor.
117
+ # @param [Hash] opts the optional parameters
118
+ # @option opts [String] :payor_id The account owner Payor ID. Required for external users.
119
+ # @return [GetPayoutStatistics]
120
+ def get_payout_stats(opts = {})
121
+ data, _status_code, _headers = get_payout_stats_with_http_info(opts)
122
+ data
123
+ end
124
+
125
+ # Get Payout Statistics
126
+ # Get payout statistics for a payor.
127
+ # @param [Hash] opts the optional parameters
128
+ # @option opts [String] :payor_id The account owner Payor ID. Required for external users.
129
+ # @return [Array<(GetPayoutStatistics, Integer, Hash)>] GetPayoutStatistics data, response status code and response headers
130
+ def get_payout_stats_with_http_info(opts = {})
131
+ if @api_client.config.debugging
132
+ @api_client.config.logger.debug 'Calling API: PayoutHistoryApi.get_payout_stats ...'
133
+ end
134
+ # resource path
135
+ local_var_path = '/v1/paymentaudit/payoutStatistics'
136
+
137
+ # query parameters
138
+ query_params = {}
139
+ query_params[:'payorId'] = opts[:'payor_id'] if !opts[:'payor_id'].nil?
140
+
141
+ # header parameters
142
+ header_params = {}
143
+ # HTTP header 'Accept' (if needed)
144
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
145
+
146
+ # form parameters
147
+ form_params = {}
148
+
149
+ # http body (model)
150
+ post_body = nil
151
+ auth_names = ['OAuth2']
152
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
153
+ :header_params => header_params,
154
+ :query_params => query_params,
155
+ :form_params => form_params,
156
+ :body => post_body,
157
+ :auth_names => auth_names,
158
+ :return_type => 'GetPayoutStatistics')
159
+ if @api_client.config.debugging
160
+ @api_client.config.logger.debug "API called: PayoutHistoryApi#get_payout_stats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
161
+ end
162
+ return data, status_code, headers
163
+ end
164
+ end
165
+ end