pq-api-matic-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +208 -0
  4. data/bin/console +15 -0
  5. data/lib/pay_quicker_sdk/api_helper.rb +10 -0
  6. data/lib/pay_quicker_sdk/client.rb +205 -0
  7. data/lib/pay_quicker_sdk/configuration.rb +229 -0
  8. data/lib/pay_quicker_sdk/controllers/agreements_controller.rb +129 -0
  9. data/lib/pay_quicker_sdk/controllers/balances_controller.rb +156 -0
  10. data/lib/pay_quicker_sdk/controllers/bank_accounts_controller.rb +587 -0
  11. data/lib/pay_quicker_sdk/controllers/base_controller.rb +60 -0
  12. data/lib/pay_quicker_sdk/controllers/client_side_controller.rb +237 -0
  13. data/lib/pay_quicker_sdk/controllers/compliance_controller.rb +77 -0
  14. data/lib/pay_quicker_sdk/controllers/documents_controller.rb +233 -0
  15. data/lib/pay_quicker_sdk/controllers/electronic_wallets_controller.rb +280 -0
  16. data/lib/pay_quicker_sdk/controllers/events_controller.rb +75 -0
  17. data/lib/pay_quicker_sdk/controllers/invitations_controller.rb +179 -0
  18. data/lib/pay_quicker_sdk/controllers/jobs_controller.rb +154 -0
  19. data/lib/pay_quicker_sdk/controllers/o_auth_authorization_controller.rb +43 -0
  20. data/lib/pay_quicker_sdk/controllers/payments_controller.rb +217 -0
  21. data/lib/pay_quicker_sdk/controllers/prepaid_cards_controller.rb +262 -0
  22. data/lib/pay_quicker_sdk/controllers/program_controller.rb +88 -0
  23. data/lib/pay_quicker_sdk/controllers/receipts_controller.rb +287 -0
  24. data/lib/pay_quicker_sdk/controllers/spendback_controller.rb +201 -0
  25. data/lib/pay_quicker_sdk/controllers/spendback_refunds_controller.rb +232 -0
  26. data/lib/pay_quicker_sdk/controllers/statements_controller.rb +197 -0
  27. data/lib/pay_quicker_sdk/controllers/transfers_controller.rb +259 -0
  28. data/lib/pay_quicker_sdk/controllers/users_controller.rb +151 -0
  29. data/lib/pay_quicker_sdk/controllers/webhooks_controller.rb +173 -0
  30. data/lib/pay_quicker_sdk/exceptions/api_error_result_exception.rb +80 -0
  31. data/lib/pay_quicker_sdk/exceptions/api_exception.rb +21 -0
  32. data/lib/pay_quicker_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  33. data/lib/pay_quicker_sdk/http/auth/clientside.rb +53 -0
  34. data/lib/pay_quicker_sdk/http/auth/server.rb +156 -0
  35. data/lib/pay_quicker_sdk/http/http_call_back.rb +10 -0
  36. data/lib/pay_quicker_sdk/http/http_method_enum.rb +10 -0
  37. data/lib/pay_quicker_sdk/http/http_request.rb +10 -0
  38. data/lib/pay_quicker_sdk/http/http_response.rb +10 -0
  39. data/lib/pay_quicker_sdk/http/proxy_settings.rb +22 -0
  40. data/lib/pay_quicker_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  41. data/lib/pay_quicker_sdk/logging/sdk_logger.rb +17 -0
  42. data/lib/pay_quicker_sdk/models/addresses.rb +45 -0
  43. data/lib/pay_quicker_sdk/models/agreement_list_result_json.rb +106 -0
  44. data/lib/pay_quicker_sdk/models/agreement_object.rb +120 -0
  45. data/lib/pay_quicker_sdk/models/agreement_result.rb +130 -0
  46. data/lib/pay_quicker_sdk/models/agreement_types.rb +64 -0
  47. data/lib/pay_quicker_sdk/models/authorization_list_result.rb +106 -0
  48. data/lib/pay_quicker_sdk/models/authorization_object.rb +194 -0
  49. data/lib/pay_quicker_sdk/models/balance_list_result.rb +106 -0
  50. data/lib/pay_quicker_sdk/models/balance_object.rb +118 -0
  51. data/lib/pay_quicker_sdk/models/balance_result.rb +128 -0
  52. data/lib/pay_quicker_sdk/models/bank_account_address.rb +132 -0
  53. data/lib/pay_quicker_sdk/models/bank_account_field.rb +83 -0
  54. data/lib/pay_quicker_sdk/models/bank_account_fields.rb +195 -0
  55. data/lib/pay_quicker_sdk/models/bank_account_list_result.rb +106 -0
  56. data/lib/pay_quicker_sdk/models/bank_account_object.rb +226 -0
  57. data/lib/pay_quicker_sdk/models/bank_account_ownership.rb +36 -0
  58. data/lib/pay_quicker_sdk/models/bank_account_required_fields.rb +125 -0
  59. data/lib/pay_quicker_sdk/models/bank_account_requirement.rb +142 -0
  60. data/lib/pay_quicker_sdk/models/bank_account_requirement_format.rb +93 -0
  61. data/lib/pay_quicker_sdk/models/bank_account_requirement_format_legend.rb +93 -0
  62. data/lib/pay_quicker_sdk/models/bank_account_requirement_list_result.rb +110 -0
  63. data/lib/pay_quicker_sdk/models/bank_account_requirement_validator.rb +86 -0
  64. data/lib/pay_quicker_sdk/models/bank_account_result.rb +234 -0
  65. data/lib/pay_quicker_sdk/models/bank_account_statuses.rb +49 -0
  66. data/lib/pay_quicker_sdk/models/bank_account_types.rb +47 -0
  67. data/lib/pay_quicker_sdk/models/bank_types.rb +68 -0
  68. data/lib/pay_quicker_sdk/models/base_model.rb +122 -0
  69. data/lib/pay_quicker_sdk/models/business_contact_roles.rb +44 -0
  70. data/lib/pay_quicker_sdk/models/card_networks.rb +36 -0
  71. data/lib/pay_quicker_sdk/models/card_processors.rb +52 -0
  72. data/lib/pay_quicker_sdk/models/category_types.rb +36 -0
  73. data/lib/pay_quicker_sdk/models/countries.rb +1031 -0
  74. data/lib/pay_quicker_sdk/models/countries_alpha_code3.rb +1028 -0
  75. data/lib/pay_quicker_sdk/models/create_invitation.rb +614 -0
  76. data/lib/pay_quicker_sdk/models/create_or_update_bank_account.rb +163 -0
  77. data/lib/pay_quicker_sdk/models/create_or_update_document.rb +82 -0
  78. data/lib/pay_quicker_sdk/models/create_or_update_document_fields.rb +81 -0
  79. data/lib/pay_quicker_sdk/models/create_or_update_electronic_wallet.rb +126 -0
  80. data/lib/pay_quicker_sdk/models/create_or_update_user.rb +614 -0
  81. data/lib/pay_quicker_sdk/models/create_spendback_refund_quote.rb +173 -0
  82. data/lib/pay_quicker_sdk/models/create_webhook_request.rb +82 -0
  83. data/lib/pay_quicker_sdk/models/currencies.rb +700 -0
  84. data/lib/pay_quicker_sdk/models/delivery_details.rb +119 -0
  85. data/lib/pay_quicker_sdk/models/document_details.rb +81 -0
  86. data/lib/pay_quicker_sdk/models/document_list_result.rb +108 -0
  87. data/lib/pay_quicker_sdk/models/document_object.rb +147 -0
  88. data/lib/pay_quicker_sdk/models/document_requirements_list_result.rb +91 -0
  89. data/lib/pay_quicker_sdk/models/document_result.rb +157 -0
  90. data/lib/pay_quicker_sdk/models/document_status_types.rb +48 -0
  91. data/lib/pay_quicker_sdk/models/document_types.rb +264 -0
  92. data/lib/pay_quicker_sdk/models/electronic_funds_transfer_types.rb +36 -0
  93. data/lib/pay_quicker_sdk/models/electronic_transfer_failure_types.rb +97 -0
  94. data/lib/pay_quicker_sdk/models/electronic_transfer_status_types.rb +46 -0
  95. data/lib/pay_quicker_sdk/models/electronic_wallet_field.rb +83 -0
  96. data/lib/pay_quicker_sdk/models/electronic_wallet_fields.rb +41 -0
  97. data/lib/pay_quicker_sdk/models/electronic_wallet_list_result.rb +106 -0
  98. data/lib/pay_quicker_sdk/models/electronic_wallet_object.rb +186 -0
  99. data/lib/pay_quicker_sdk/models/electronic_wallet_required_fields.rb +125 -0
  100. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement.rb +166 -0
  101. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format.rb +93 -0
  102. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format_legend.rb +93 -0
  103. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_list_result.rb +110 -0
  104. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_validator.rb +86 -0
  105. data/lib/pay_quicker_sdk/models/electronic_wallet_result.rb +195 -0
  106. data/lib/pay_quicker_sdk/models/electronic_wallet_statuses.rb +48 -0
  107. data/lib/pay_quicker_sdk/models/electronic_wallet_type.rb +99 -0
  108. data/lib/pay_quicker_sdk/models/electronic_wallet_types.rb +368 -0
  109. data/lib/pay_quicker_sdk/models/event_category_types.rb +40 -0
  110. data/lib/pay_quicker_sdk/models/event_list_result.rb +106 -0
  111. data/lib/pay_quicker_sdk/models/event_object.rb +191 -0
  112. data/lib/pay_quicker_sdk/models/event_requirement_categories.rb +56 -0
  113. data/lib/pay_quicker_sdk/models/event_requirements.rb +105 -0
  114. data/lib/pay_quicker_sdk/models/event_statuses.rb +52 -0
  115. data/lib/pay_quicker_sdk/models/event_types.rb +36 -0
  116. data/lib/pay_quicker_sdk/models/expected_delivery_types.rb +36 -0
  117. data/lib/pay_quicker_sdk/models/fee_configuration.rb +154 -0
  118. data/lib/pay_quicker_sdk/models/fee_distribution.rb +159 -0
  119. data/lib/pay_quicker_sdk/models/fee_responsibility_parties.rb +44 -0
  120. data/lib/pay_quicker_sdk/models/fee_responsibility_sources.rb +36 -0
  121. data/lib/pay_quicker_sdk/models/fee_sources.rb +40 -0
  122. data/lib/pay_quicker_sdk/models/fee_values.rb +36 -0
  123. data/lib/pay_quicker_sdk/models/fees.rb +222 -0
  124. data/lib/pay_quicker_sdk/models/fx_rate.rb +144 -0
  125. data/lib/pay_quicker_sdk/models/gateway_payment_job.rb +131 -0
  126. data/lib/pay_quicker_sdk/models/gateway_payment_job_quote.rb +167 -0
  127. data/lib/pay_quicker_sdk/models/gateway_payment_quote.rb +220 -0
  128. data/lib/pay_quicker_sdk/models/gateway_spendback_quote.rb +167 -0
  129. data/lib/pay_quicker_sdk/models/gateway_transfer_quote.rb +195 -0
  130. data/lib/pay_quicker_sdk/models/genders.rb +48 -0
  131. data/lib/pay_quicker_sdk/models/government_ids.rb +45 -0
  132. data/lib/pay_quicker_sdk/models/hateoas_relationship.rb +69 -0
  133. data/lib/pay_quicker_sdk/models/hateoas_self_ref.rb +84 -0
  134. data/lib/pay_quicker_sdk/models/identity_verification_providers.rb +62 -0
  135. data/lib/pay_quicker_sdk/models/identity_verification_result_sub_types.rb +38 -0
  136. data/lib/pay_quicker_sdk/models/identity_verification_result_types.rb +57 -0
  137. data/lib/pay_quicker_sdk/models/idv_check_list_result.rb +108 -0
  138. data/lib/pay_quicker_sdk/models/idv_check_object.rb +209 -0
  139. data/lib/pay_quicker_sdk/models/idv_check_result.rb +221 -0
  140. data/lib/pay_quicker_sdk/models/invitation_list_result.rb +106 -0
  141. data/lib/pay_quicker_sdk/models/invitation_object.rb +262 -0
  142. data/lib/pay_quicker_sdk/models/invitation_result.rb +272 -0
  143. data/lib/pay_quicker_sdk/models/job_status_types.rb +68 -0
  144. data/lib/pay_quicker_sdk/models/job_types.rb +36 -0
  145. data/lib/pay_quicker_sdk/models/languages.rb +101 -0
  146. data/lib/pay_quicker_sdk/models/list_metadata.rb +116 -0
  147. data/lib/pay_quicker_sdk/models/lock_side_types.rb +37 -0
  148. data/lib/pay_quicker_sdk/models/metadata.rb +72 -0
  149. data/lib/pay_quicker_sdk/models/metadata_items.rb +80 -0
  150. data/lib/pay_quicker_sdk/models/o_auth_provider_error.rb +62 -0
  151. data/lib/pay_quicker_sdk/models/o_auth_scope_server.rb +36 -0
  152. data/lib/pay_quicker_sdk/models/o_auth_token.rb +106 -0
  153. data/lib/pay_quicker_sdk/models/occupations.rb +100 -0
  154. data/lib/pay_quicker_sdk/models/operation_result.rb +72 -0
  155. data/lib/pay_quicker_sdk/models/order_prepaid_card.rb +97 -0
  156. data/lib/pay_quicker_sdk/models/payment_job_list_result.rb +106 -0
  157. data/lib/pay_quicker_sdk/models/payment_job_object.rb +211 -0
  158. data/lib/pay_quicker_sdk/models/payment_job_result.rb +220 -0
  159. data/lib/pay_quicker_sdk/models/payment_list_result.rb +106 -0
  160. data/lib/pay_quicker_sdk/models/payment_object.rb +263 -0
  161. data/lib/pay_quicker_sdk/models/payment_purposes.rb +58 -0
  162. data/lib/pay_quicker_sdk/models/payment_result.rb +272 -0
  163. data/lib/pay_quicker_sdk/models/portal_payment_job.rb +131 -0
  164. data/lib/pay_quicker_sdk/models/portal_payment_job_quote.rb +176 -0
  165. data/lib/pay_quicker_sdk/models/portal_payment_quote.rb +228 -0
  166. data/lib/pay_quicker_sdk/models/portal_spendback_quote.rb +177 -0
  167. data/lib/pay_quicker_sdk/models/portal_transfer_quote.rb +204 -0
  168. data/lib/pay_quicker_sdk/models/prepaid_card_authorizations.rb +129 -0
  169. data/lib/pay_quicker_sdk/models/prepaid_card_capabilities.rb +69 -0
  170. data/lib/pay_quicker_sdk/models/prepaid_card_data_object.rb +136 -0
  171. data/lib/pay_quicker_sdk/models/prepaid_card_data_result.rb +146 -0
  172. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_object.rb +134 -0
  173. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_result.rb +145 -0
  174. data/lib/pay_quicker_sdk/models/prepaid_card_data_type.rb +36 -0
  175. data/lib/pay_quicker_sdk/models/prepaid_card_image_side.rb +36 -0
  176. data/lib/pay_quicker_sdk/models/prepaid_card_list_result.rb +106 -0
  177. data/lib/pay_quicker_sdk/models/prepaid_card_object.rb +243 -0
  178. data/lib/pay_quicker_sdk/models/prepaid_card_pin_object.rb +108 -0
  179. data/lib/pay_quicker_sdk/models/prepaid_card_pin_result.rb +121 -0
  180. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_object.rb +128 -0
  181. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_result.rb +139 -0
  182. data/lib/pay_quicker_sdk/models/prepaid_card_replacement_reasons.rb +48 -0
  183. data/lib/pay_quicker_sdk/models/prepaid_card_result.rb +254 -0
  184. data/lib/pay_quicker_sdk/models/prepaid_card_statuses.rb +71 -0
  185. data/lib/pay_quicker_sdk/models/program_list_result.rb +106 -0
  186. data/lib/pay_quicker_sdk/models/program_object.rb +138 -0
  187. data/lib/pay_quicker_sdk/models/program_result.rb +147 -0
  188. data/lib/pay_quicker_sdk/models/program_types.rb +44 -0
  189. data/lib/pay_quicker_sdk/models/receipt_descriptions.rb +84 -0
  190. data/lib/pay_quicker_sdk/models/receipt_details.rb +439 -0
  191. data/lib/pay_quicker_sdk/models/receipt_list_result.rb +106 -0
  192. data/lib/pay_quicker_sdk/models/receipt_object.rb +241 -0
  193. data/lib/pay_quicker_sdk/models/receipt_result.rb +251 -0
  194. data/lib/pay_quicker_sdk/models/receipt_statuses.rb +76 -0
  195. data/lib/pay_quicker_sdk/models/replace_prepaid_card.rb +85 -0
  196. data/lib/pay_quicker_sdk/models/retrieve_card_data.rb +73 -0
  197. data/lib/pay_quicker_sdk/models/retrieve_card_pin.rb +76 -0
  198. data/lib/pay_quicker_sdk/models/sandbox_instance.rb +76 -0
  199. data/lib/pay_quicker_sdk/models/signs.rb +40 -0
  200. data/lib/pay_quicker_sdk/models/spendback_list_result.rb +106 -0
  201. data/lib/pay_quicker_sdk/models/spendback_object.rb +291 -0
  202. data/lib/pay_quicker_sdk/models/spendback_quote_accept_result.rb +301 -0
  203. data/lib/pay_quicker_sdk/models/spendback_refund_list_result.rb +106 -0
  204. data/lib/pay_quicker_sdk/models/spendback_refund_object.rb +251 -0
  205. data/lib/pay_quicker_sdk/models/spendback_refund_result.rb +262 -0
  206. data/lib/pay_quicker_sdk/models/spendback_result.rb +301 -0
  207. data/lib/pay_quicker_sdk/models/statement_list_result.rb +106 -0
  208. data/lib/pay_quicker_sdk/models/statement_object.rb +183 -0
  209. data/lib/pay_quicker_sdk/models/statement_result.rb +192 -0
  210. data/lib/pay_quicker_sdk/models/tax_resident_statuses.rb +40 -0
  211. data/lib/pay_quicker_sdk/models/token_purposes.rb +36 -0
  212. data/lib/pay_quicker_sdk/models/transfer_list_result.rb +106 -0
  213. data/lib/pay_quicker_sdk/models/transfer_method_types.rb +48 -0
  214. data/lib/pay_quicker_sdk/models/transfer_object.rb +309 -0
  215. data/lib/pay_quicker_sdk/models/transfer_result.rb +318 -0
  216. data/lib/pay_quicker_sdk/models/transfer_statuses.rb +76 -0
  217. data/lib/pay_quicker_sdk/models/transfer_types.rb +112 -0
  218. data/lib/pay_quicker_sdk/models/translation.rb +85 -0
  219. data/lib/pay_quicker_sdk/models/uat_instance.rb +48 -0
  220. data/lib/pay_quicker_sdk/models/update_card_pin.rb +87 -0
  221. data/lib/pay_quicker_sdk/models/update_prepaid_card.rb +85 -0
  222. data/lib/pay_quicker_sdk/models/upload_fields.rb +40 -0
  223. data/lib/pay_quicker_sdk/models/user_action.rb +40 -0
  224. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items.rb +101 -0
  225. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items_name_items.rb +83 -0
  226. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_supplemental_docs_items.rb +92 -0
  227. data/lib/pay_quicker_sdk/models/user_document_requirement_item.rb +105 -0
  228. data/lib/pay_quicker_sdk/models/user_document_requirement_item_documents_items.rb +132 -0
  229. data/lib/pay_quicker_sdk/models/user_event_result.rb +201 -0
  230. data/lib/pay_quicker_sdk/models/user_impact.rb +48 -0
  231. data/lib/pay_quicker_sdk/models/user_list_result.rb +106 -0
  232. data/lib/pay_quicker_sdk/models/user_object.rb +676 -0
  233. data/lib/pay_quicker_sdk/models/user_result.rb +686 -0
  234. data/lib/pay_quicker_sdk/models/user_statuses.rb +40 -0
  235. data/lib/pay_quicker_sdk/models/user_types.rb +36 -0
  236. data/lib/pay_quicker_sdk/models/validator_types.rb +50 -0
  237. data/lib/pay_quicker_sdk/models/webhook_namespaces.rb +307 -0
  238. data/lib/pay_quicker_sdk/models/webhook_subscription_list_result.rb +106 -0
  239. data/lib/pay_quicker_sdk/models/webhook_subscription_object.rb +158 -0
  240. data/lib/pay_quicker_sdk/models/webhook_subscription_result.rb +167 -0
  241. data/lib/pay_quicker_sdk/models/webhook_subscription_statuses.rb +44 -0
  242. data/lib/pay_quicker_sdk/utilities/date_time_helper.rb +11 -0
  243. data/lib/pay_quicker_sdk/utilities/file_wrapper.rb +28 -0
  244. data/lib/pay_quicker_sdk/utilities/union_type_lookup.rb +62 -0
  245. data/lib/pay_quicker_sdk.rb +274 -0
  246. data/test/controllers/controller_test_base.rb +24 -0
  247. data/test/controllers/test_agreements_controller.rb +108 -0
  248. data/test/controllers/test_balances_controller.rb +132 -0
  249. data/test/controllers/test_bank_accounts_controller.rb +645 -0
  250. data/test/controllers/test_client_side_controller.rb +295 -0
  251. data/test/controllers/test_compliance_controller.rb +86 -0
  252. data/test/controllers/test_documents_controller.rb +212 -0
  253. data/test/controllers/test_electronic_wallets_controller.rb +292 -0
  254. data/test/controllers/test_events_controller.rb +138 -0
  255. data/test/controllers/test_invitations_controller.rb +162 -0
  256. data/test/controllers/test_jobs_controller.rb +114 -0
  257. data/test/controllers/test_payments_controller.rb +323 -0
  258. data/test/controllers/test_prepaid_cards_controller.rb +351 -0
  259. data/test/controllers/test_program_controller.rb +134 -0
  260. data/test/controllers/test_receipts_controller.rb +813 -0
  261. data/test/controllers/test_spendback_controller.rb +302 -0
  262. data/test/controllers/test_spendback_refunds_controller.rb +128 -0
  263. data/test/controllers/test_statements_controller.rb +192 -0
  264. data/test/controllers/test_transfers_controller.rb +613 -0
  265. data/test/controllers/test_users_controller.rb +483 -0
  266. data/test/controllers/test_webhooks_controller.rb +402 -0
  267. data/test/http_response_catcher.rb +19 -0
  268. metadata +379 -0
@@ -0,0 +1,229 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module PayQuickerSdk
7
+ # An enum for SDK environments.
8
+ class Environment
9
+ # PRODUCTION: Production
10
+ # SANDBOX: Sandbox is used for both sandbox testing and customer UAT.
11
+ # UAT: UAT is used for both sandbox testing and customer UAT.
12
+ # DEVELOPMENT: Development is used for local development testing.
13
+ ENVIRONMENT = [
14
+ PRODUCTION = 'production'.freeze,
15
+ SANDBOX = 'sandbox'.freeze,
16
+ UAT = 'uat'.freeze,
17
+ DEVELOPMENT = 'development'.freeze
18
+ ].freeze
19
+
20
+ # Converts a string or symbol into a valid Environment constant.
21
+ def self.from_value(value, default_value = PRODUCTION)
22
+ return default_value if value.nil?
23
+
24
+ str = value.to_s.strip.downcase
25
+ case str
26
+ when 'production' then PRODUCTION
27
+ when 'sandbox' then SANDBOX
28
+ when 'uat' then UAT
29
+ when 'development' then DEVELOPMENT
30
+
31
+ else
32
+ warn "[Environment] Unknown environment '#{value}', falling back to #{default_value} "
33
+ default_value
34
+ end
35
+ end
36
+ end
37
+
38
+ # An enum for API servers.
39
+ class Server
40
+ SERVER = [
41
+ API = 'api'.freeze
42
+ ].freeze
43
+
44
+ # Converts a string or symbol into a valid Server constant.
45
+ def self.from_value(value, default_value = API)
46
+ return default_value if value.nil?
47
+
48
+ default_value
49
+ end
50
+ end
51
+
52
+ # All configuration including auth info and base URI for the API access
53
+ # are configured in this class.
54
+ class Configuration < CoreLibrary::HttpClientConfiguration
55
+ # The attribute readers for properties.
56
+ attr_reader :environment, :sandbox_instance, :uat_instance,
57
+ :server_credentials, :clientside_credentials,
58
+ :x_my_pay_quicker_version
59
+
60
+ class << self
61
+ attr_reader :environments
62
+ end
63
+
64
+ def initialize(
65
+ connection: nil, adapter: :net_http_persistent, timeout: 60,
66
+ max_retries: 0, retry_interval: 1, backoff_factor: 2,
67
+ retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
68
+ retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
69
+ logging_configuration: nil, environment: Environment::SANDBOX,
70
+ sandbox_instance: SandboxInstance::SANDBOX,
71
+ uat_instance: UatInstance::UAT1, server_credentials: nil,
72
+ clientside_credentials: nil, x_my_pay_quicker_version: '2026.02.01'
73
+ )
74
+ super connection: connection, adapter: adapter, timeout: timeout,
75
+ max_retries: max_retries, retry_interval: retry_interval,
76
+ backoff_factor: backoff_factor, retry_statuses: retry_statuses,
77
+ retry_methods: retry_methods, http_callback: http_callback,
78
+ proxy_settings: proxy_settings,
79
+ logging_configuration: logging_configuration
80
+
81
+ # Current API environment
82
+ @environment = String(environment)
83
+
84
+ # Sandbox Environments
85
+ @sandbox_instance = sandbox_instance
86
+
87
+ # UAT Environments
88
+ @uat_instance = uat_instance
89
+
90
+ # The object holding OAuth 2 Client Credentials Grant credentials
91
+ @server_credentials = server_credentials
92
+
93
+ # The object holding OAuth 2 Bearer token credentials
94
+ @clientside_credentials = clientside_credentials
95
+
96
+ # Date-based API Version specified in the header *required* on all calls.
97
+ @x_my_pay_quicker_version = x_my_pay_quicker_version
98
+
99
+ # The Http Client to use for making requests.
100
+ set_http_client CoreLibrary::FaradayClient.new(self)
101
+ end
102
+
103
+ def clone_with(connection: nil, adapter: nil, timeout: nil,
104
+ max_retries: nil, retry_interval: nil, backoff_factor: nil,
105
+ retry_statuses: nil, retry_methods: nil, http_callback: nil,
106
+ proxy_settings: nil, logging_configuration: nil,
107
+ environment: nil, sandbox_instance: nil, uat_instance: nil,
108
+ server_credentials: nil, clientside_credentials: nil,
109
+ x_my_pay_quicker_version: nil)
110
+ connection ||= self.connection
111
+ adapter ||= self.adapter
112
+ timeout ||= self.timeout
113
+ max_retries ||= self.max_retries
114
+ retry_interval ||= self.retry_interval
115
+ backoff_factor ||= self.backoff_factor
116
+ retry_statuses ||= self.retry_statuses
117
+ retry_methods ||= self.retry_methods
118
+ http_callback ||= self.http_callback
119
+ proxy_settings ||= self.proxy_settings
120
+ logging_configuration ||= self.logging_configuration
121
+ environment ||= self.environment
122
+ sandbox_instance ||= self.sandbox_instance
123
+ uat_instance ||= self.uat_instance
124
+ server_credentials ||= self.server_credentials
125
+ clientside_credentials ||= self.clientside_credentials
126
+ x_my_pay_quicker_version ||= self.x_my_pay_quicker_version
127
+
128
+ Configuration.new(connection: connection, adapter: adapter,
129
+ timeout: timeout, max_retries: max_retries,
130
+ retry_interval: retry_interval,
131
+ backoff_factor: backoff_factor,
132
+ retry_statuses: retry_statuses,
133
+ retry_methods: retry_methods,
134
+ http_callback: http_callback,
135
+ proxy_settings: proxy_settings,
136
+ logging_configuration: logging_configuration,
137
+ environment: environment,
138
+ sandbox_instance: sandbox_instance,
139
+ uat_instance: uat_instance,
140
+ server_credentials: server_credentials,
141
+ clientside_credentials: clientside_credentials,
142
+ x_my_pay_quicker_version: x_my_pay_quicker_version)
143
+ end
144
+
145
+
146
+ # All the environments the SDK can run in.
147
+ ENVIRONMENTS = {
148
+ Environment::PRODUCTION => {
149
+ Server::API => 'https://api.payquicker.io/api/v2'
150
+ },
151
+ Environment::SANDBOX => {
152
+ Server::API => 'https://api.{sandbox_instance}.payquicker.io/api/v2'
153
+ },
154
+ Environment::UAT => {
155
+ Server::API => 'https://api.{uat_instance}.payquicker.io/api/v2'
156
+ },
157
+ Environment::DEVELOPMENT => {
158
+ Server::API => 'https://api.local.payquicker.io/api/v2'
159
+ }
160
+ }.freeze
161
+
162
+ # Generates the appropriate base URI for the environment and the server.
163
+ # @param [Configuration::Server] server The server enum for which the base URI is
164
+ # required.
165
+ # @return [String] The base URI.
166
+ def get_base_uri(server = Server::API)
167
+ parameters = {
168
+ 'sandbox_instance' => { 'value' => sandbox_instance, 'encode' => false },
169
+ 'uat_instance' => { 'value' => uat_instance, 'encode' => false }
170
+ }
171
+ APIHelper.append_url_with_template_parameters(
172
+ ENVIRONMENTS[environment][server], parameters
173
+ )
174
+ end
175
+
176
+ # Builds a Configuration instance using environment variables.
177
+ def self.build_default_config_from_env
178
+ # === Core environment ===
179
+ environment = Environment.from_value(ENV.fetch('ENVIRONMENT', 'sandbox'))
180
+ sandbox_instance = SandboxInstance.from_value(ENV.fetch('SANDBOX_INSTANCE', 'sandbox'))
181
+ uat_instance = UatInstance.from_value(ENV.fetch('UAT_INSTANCE', 'uat1'))
182
+ x_my_pay_quicker_version = ENV.fetch('X_MY_PAY_QUICKER_VERSION',
183
+ '2026.02.01')
184
+ timeout = (ENV['TIMEOUT'] || 60).to_f
185
+ max_retries = (ENV['MAX_RETRIES'] || 0).to_i
186
+ retry_interval = (ENV['RETRY_INTERVAL'] || 1).to_f
187
+ backoff_factor = (ENV['BACKOFF_FACTOR'] || 2).to_f
188
+ retry_statuses = ENV.fetch('RETRY_STATUSES',
189
+ '[408, 413, 429, 500, 502, 503, 504, 521, 522, 524]').gsub(/[\[\]]/, '')
190
+ .split(',')
191
+ .map(&:strip)
192
+ .map do |item|
193
+ item.match?(/\A\d+\z/) ? item.to_i : item.downcase
194
+ end
195
+ retry_methods = ENV.fetch('RETRY_METHODS', '%i[get put]').gsub(/[\[\]]/, '')
196
+ .split(',')
197
+ .map(&:strip)
198
+ .map do |item|
199
+ item.match?(/\A\d+\z/) ? item.to_i : item.downcase
200
+ end
201
+
202
+ # === Authentication credentials ===
203
+ server_credentials = ServerCredentials.from_env
204
+ clientside_credentials = ClientsideCredentials.from_env
205
+
206
+ # === Proxy settings ===
207
+ proxy_settings = ProxySettings.from_env
208
+ # === Logging Configuration ===
209
+ logging_configuration = LoggingConfiguration.from_env if LoggingConfiguration.any_logging_configured?
210
+
211
+ Configuration.new(
212
+ environment: environment,
213
+ sandbox_instance: sandbox_instance,
214
+ uat_instance: uat_instance,
215
+ x_my_pay_quicker_version: x_my_pay_quicker_version,
216
+ timeout: timeout,
217
+ max_retries: max_retries,
218
+ retry_interval: retry_interval,
219
+ backoff_factor: backoff_factor,
220
+ retry_statuses: retry_statuses,
221
+ retry_methods: retry_methods,
222
+ server_credentials: server_credentials,
223
+ clientside_credentials: clientside_credentials,
224
+ proxy_settings: proxy_settings,
225
+ logging_configuration: logging_configuration
226
+ )
227
+ end
228
+ end
229
+ end
@@ -0,0 +1,129 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module PayQuickerSdk
7
+ # AgreementsController
8
+ class AgreementsController < BaseController
9
+ # Retrieve a list of program [agreements](page:resources/agreements) that
10
+ # supports filtering, sorting, and pagination through existing mechanisms.
11
+ # @param [String] program_token Required parameter: Auto-generated unique
12
+ # identifier representing a program, prefixed with `prog-`.
13
+ # @param [Integer] page Required parameter: Page number of specific page to
14
+ # return
15
+ # @param [Integer] page_size Required parameter: Number of items to be
16
+ # displayed per page
17
+ # @param [String] filter Optional parameter: Filter request results by
18
+ # specific criteria.
19
+ # @param [String] sort Optional parameter: Sort request results by specific
20
+ # attribute.
21
+ # @param [Languages] language Optional parameter: Filter results by language
22
+ # type.
23
+ # @return [AgreementListResultJson] Response from the API call.
24
+ def list_agreements(program_token,
25
+ page,
26
+ page_size,
27
+ filter: nil,
28
+ sort: nil,
29
+ language: nil)
30
+ @api_call
31
+ .request(new_request_builder(HttpMethodEnum::GET,
32
+ '/programs/{program-token}/agreements',
33
+ Server::API)
34
+ .template_param(new_parameter(program_token, key: 'program-token')
35
+ .is_required(true)
36
+ .should_encode(true))
37
+ .query_param(new_parameter(page, key: 'page')
38
+ .is_required(true))
39
+ .query_param(new_parameter(page_size, key: 'pageSize')
40
+ .is_required(true))
41
+ .query_param(new_parameter(filter, key: 'filter'))
42
+ .query_param(new_parameter(sort, key: 'sort'))
43
+ .query_param(new_parameter(language, key: 'language'))
44
+ .header_param(new_parameter('application/json', key: 'accept'))
45
+ .auth(Single.new('server')))
46
+ .response(new_response_handler
47
+ .deserializer(APIHelper.method(:custom_type_deserializer))
48
+ .deserialize_into(AgreementListResultJson.method(:from_hash))
49
+ .local_error('400',
50
+ '',
51
+ ApiErrorResultException)
52
+ .local_error('500',
53
+ '',
54
+ ApiErrorResultException)
55
+ .local_error('default',
56
+ '',
57
+ ApiErrorResultException))
58
+ .execute
59
+ end
60
+
61
+ # Retrieve a single program [agreement](page:resources/agreements).
62
+ # @param [String] program_token Required parameter: Auto-generated unique
63
+ # identifier representing a program, prefixed with `prog-`.
64
+ # @param [String] agreement_token Required parameter: Auto-generated unique
65
+ # identifier representing a program agreement, prefixed with `agmt-`.
66
+ # @return [AgreementResult] Response from the API call.
67
+ def retrieve_program_agreement(program_token,
68
+ agreement_token)
69
+ @api_call
70
+ .request(new_request_builder(HttpMethodEnum::GET,
71
+ '/programs/{program-token}/agreements/{agreement-token}',
72
+ Server::API)
73
+ .template_param(new_parameter(program_token, key: 'program-token')
74
+ .is_required(true)
75
+ .should_encode(true))
76
+ .template_param(new_parameter(agreement_token, key: 'agreement-token')
77
+ .is_required(true)
78
+ .should_encode(true))
79
+ .header_param(new_parameter('application/json', key: 'accept'))
80
+ .auth(Single.new('server')))
81
+ .response(new_response_handler
82
+ .deserializer(APIHelper.method(:custom_type_deserializer))
83
+ .deserialize_into(AgreementResult.method(:from_hash))
84
+ .local_error('400',
85
+ '',
86
+ ApiErrorResultException)
87
+ .local_error('500',
88
+ '',
89
+ ApiErrorResultException)
90
+ .local_error('default',
91
+ '',
92
+ ApiErrorResultException))
93
+ .execute
94
+ end
95
+
96
+ # Accept a single program [agreement](page:resources/agreements).
97
+ # @param [String] user_token Required parameter: Auto-generated unique
98
+ # identifier representing a user, prefixed with `user-`.
99
+ # @param [String] agreement_token Required parameter: Auto-generated unique
100
+ # identifier representing a program agreement, prefixed with `agmt-`.
101
+ # @return [void] Response from the API call.
102
+ def accept_agreement(user_token,
103
+ agreement_token)
104
+ @api_call
105
+ .request(new_request_builder(HttpMethodEnum::POST,
106
+ '/users/{user-token}/agreements/{agreement-token}',
107
+ Server::API)
108
+ .template_param(new_parameter(user_token, key: 'user-token')
109
+ .is_required(true)
110
+ .should_encode(true))
111
+ .template_param(new_parameter(agreement_token, key: 'agreement-token')
112
+ .is_required(true)
113
+ .should_encode(true))
114
+ .auth(Single.new('server')))
115
+ .response(new_response_handler
116
+ .is_response_void(true)
117
+ .local_error('400',
118
+ '',
119
+ ApiErrorResultException)
120
+ .local_error('500',
121
+ '',
122
+ ApiErrorResultException)
123
+ .local_error('default',
124
+ '',
125
+ ApiErrorResultException))
126
+ .execute
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,156 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module PayQuickerSdk
7
+ # BalancesController
8
+ class BalancesController < BaseController
9
+ # Retrieve a list of bank account [balances](page:resources/balances) that
10
+ # supports filtering, sorting, and pagination through existing mechanisms.
11
+ # @param [String] account_token Required parameter: Auto-generated unique
12
+ # identifier representing a company account, prefixed with `acct-`.
13
+ # @param [Integer] page Required parameter: Page number of specific page to
14
+ # return
15
+ # @param [Integer] page_size Required parameter: Number of items to be
16
+ # displayed per page
17
+ # @param [String] filter Optional parameter: Filter request results by
18
+ # specific criteria.
19
+ # @param [String] sort Optional parameter: Sort request results by specific
20
+ # attribute.
21
+ # @param [Languages] language Optional parameter: Filter results by language
22
+ # type.
23
+ # @return [BalanceListResult] Response from the API call.
24
+ def list_account_balances(account_token,
25
+ page,
26
+ page_size,
27
+ filter: nil,
28
+ sort: nil,
29
+ language: nil)
30
+ @api_call
31
+ .request(new_request_builder(HttpMethodEnum::GET,
32
+ '/accounts/{account-token}/balances',
33
+ Server::API)
34
+ .template_param(new_parameter(account_token, key: 'account-token')
35
+ .is_required(true)
36
+ .should_encode(true))
37
+ .query_param(new_parameter(page, key: 'page')
38
+ .is_required(true))
39
+ .query_param(new_parameter(page_size, key: 'pageSize')
40
+ .is_required(true))
41
+ .query_param(new_parameter(filter, key: 'filter'))
42
+ .query_param(new_parameter(sort, key: 'sort'))
43
+ .query_param(new_parameter(language, key: 'language'))
44
+ .header_param(new_parameter('application/json', key: 'accept'))
45
+ .auth(Single.new('server')))
46
+ .response(new_response_handler
47
+ .deserializer(APIHelper.method(:custom_type_deserializer))
48
+ .deserialize_into(BalanceListResult.method(:from_hash))
49
+ .local_error('400',
50
+ '',
51
+ ApiErrorResultException)
52
+ .local_error('500',
53
+ '',
54
+ ApiErrorResultException)
55
+ .local_error('default',
56
+ '',
57
+ ApiErrorResultException))
58
+ .execute
59
+ end
60
+
61
+ # Retrieve a list of user [balances](page:resources/balances) that supports
62
+ # filtering, sorting, and pagination through existing mechanisms.
63
+ # @param [String] user_token Required parameter: Auto-generated unique
64
+ # identifier representing a user, prefixed with `user-`.
65
+ # @param [Integer] page Required parameter: Page number of specific page to
66
+ # return
67
+ # @param [Integer] page_size Required parameter: Number of items to be
68
+ # displayed per page
69
+ # @param [String] filter Optional parameter: Filter request results by
70
+ # specific criteria.
71
+ # @param [String] sort Optional parameter: Sort request results by specific
72
+ # attribute.
73
+ # @param [Languages] language Optional parameter: Filter results by language
74
+ # type.
75
+ # @return [BalanceListResult] Response from the API call.
76
+ def list_user_balances(user_token,
77
+ page,
78
+ page_size,
79
+ filter: nil,
80
+ sort: nil,
81
+ language: nil)
82
+ @api_call
83
+ .request(new_request_builder(HttpMethodEnum::GET,
84
+ '/users/{user-token}/balances',
85
+ Server::API)
86
+ .template_param(new_parameter(user_token, key: 'user-token')
87
+ .is_required(true)
88
+ .should_encode(true))
89
+ .query_param(new_parameter(page, key: 'page')
90
+ .is_required(true))
91
+ .query_param(new_parameter(page_size, key: 'pageSize')
92
+ .is_required(true))
93
+ .query_param(new_parameter(filter, key: 'filter'))
94
+ .query_param(new_parameter(sort, key: 'sort'))
95
+ .query_param(new_parameter(language, key: 'language'))
96
+ .header_param(new_parameter('application/json', key: 'accept'))
97
+ .auth(Single.new('server')))
98
+ .response(new_response_handler
99
+ .deserializer(APIHelper.method(:custom_type_deserializer))
100
+ .deserialize_into(BalanceListResult.method(:from_hash))
101
+ .local_error('400',
102
+ '',
103
+ ApiErrorResultException)
104
+ .local_error('500',
105
+ '',
106
+ ApiErrorResultException)
107
+ .local_error('default',
108
+ '',
109
+ ApiErrorResultException))
110
+ .execute
111
+ end
112
+
113
+ # Retrieve a [prepaid card](page:resources/prepaid-cards)
114
+ # [balances](page:resources/balances) by destination token that supports
115
+ # filtering, sorting, and pagination through existing mechanisms.
116
+ # @param [String] user_token Required parameter: Auto-generated unique
117
+ # identifier representing a user, prefixed with `user-`.
118
+ # @param [String] destination_token Required parameter: Auto-generated
119
+ # unique identifier representing a transfer destination, including prepaid
120
+ # cards, bank accounts, paper checks, and other users, prefixed with
121
+ # `dest-`.
122
+ # @param [Languages] language Optional parameter: Filter results by language
123
+ # type.
124
+ # @return [BalanceResult] Response from the API call.
125
+ def retrieve_card_balance(user_token,
126
+ destination_token,
127
+ language: nil)
128
+ @api_call
129
+ .request(new_request_builder(HttpMethodEnum::GET,
130
+ '/users/{user-token}/prepaid-cards/{destination-token}/balances',
131
+ Server::API)
132
+ .template_param(new_parameter(user_token, key: 'user-token')
133
+ .is_required(true)
134
+ .should_encode(true))
135
+ .template_param(new_parameter(destination_token, key: 'destination-token')
136
+ .is_required(true)
137
+ .should_encode(true))
138
+ .query_param(new_parameter(language, key: 'language'))
139
+ .header_param(new_parameter('application/json', key: 'accept'))
140
+ .auth(Single.new('server')))
141
+ .response(new_response_handler
142
+ .deserializer(APIHelper.method(:custom_type_deserializer))
143
+ .deserialize_into(BalanceResult.method(:from_hash))
144
+ .local_error('400',
145
+ '',
146
+ ApiErrorResultException)
147
+ .local_error('500',
148
+ '',
149
+ ApiErrorResultException)
150
+ .local_error('default',
151
+ '',
152
+ ApiErrorResultException))
153
+ .execute
154
+ end
155
+ end
156
+ end