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,613 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ require_relative 'controller_test_base'
7
+
8
+ class TransfersControllerTest < ControllerTestBase
9
+ # Called only once for the class before any test has executed
10
+ def setup
11
+ setup_class
12
+ @controller = @client.transfers
13
+ @response_catcher = @controller.http_call_back
14
+ end
15
+
16
+ # Retrieve a list of [transfers](page:resources/transfers) that supports filtering, sorting, and pagination through existing mechanisms.
17
+ #
18
+ def test_list_transfers
19
+ # Parameters for the API call
20
+ page = 1
21
+ page_size = 20
22
+ filter = 'string'
23
+ sort = 'string'
24
+ language = 'en-US'
25
+
26
+ # Perform the API call through the SDK function
27
+ result = @controller.list_transfers(page, page_size, filter: filter,
28
+ sort: sort, language: language)
29
+
30
+ # Test response code
31
+ assert_equal(200, @response_catcher.response.status_code)
32
+ # Test headers
33
+ expected_headers = {}
34
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
35
+
36
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
37
+
38
+ # Test whether the captured response is as we expected
39
+ refute_nil(result)
40
+ expected_body = JSON.parse(
41
+ '{"payload":[{"token":"xfer-337b4c59-821d-4bac-a1dd-c9d7c15e41e8","clien'\
42
+ 'tTransferId":"1066ab05-84d0-453f-a827-1bd3b2ad9e3d","created":"2025-06-'\
43
+ '23T19:17:22Z","destinationAmount":-14,"destinationCurrency":"USD","dest'\
44
+ 'inationToken":"dest-80611686-e311-4acd-aeeb-244609a3b12b","fee":{"categ'\
45
+ 'ory":"USER","destinationCountry":"USA","destinationCurrency":"USD","dis'\
46
+ 'tribution":[{"amount":1.5,"currency":"USD","description":[{"language":"'\
47
+ 'en-US","translation":"Transfer to a Bank Fee"},{"language":"en-US","tra'\
48
+ 'nslation":"Poplatek za převod do banky"},{"language":"de-DE","translati'\
49
+ 'on":"Transfer zu einer Bankgebühr"},{"language":"es-ES","translation":"'\
50
+ 'Coste de la transferencia a un banco"},{"language":"en-US","translation'\
51
+ '":"Pankkiin siirto -maksu"},{"language":"fr-FR","translation":"Frais de'\
52
+ ' virement vers une banque"},{"language":"it-IT","translation":"Tariffa '\
53
+ 'Trasferimento Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"'\
54
+ '},{"language":"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL",'\
55
+ '"translation":"Kosten bankoverschrijving"},{"language":"pl-PL","transla'\
56
+ 'tion":"Opłata za przelew do banku"},{"language":"pt-BR","translation":"'\
57
+ 'Taxa de Transferência para um Banco"},{"language":"ru-RU","translation"'\
58
+ ':"Комиссия за перевод на банковский счет"},{"language":"en-US","transla'\
59
+ 'tion":"Avgift för överföring till en bank"},{"language":"zh-Hans","tran'\
60
+ 'slation":"转账到银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"'\
61
+ 'language":"fr-CA","translation":"Frais de transfert bancaire"},{"langua'\
62
+ 'ge":"pt-PT","translation":"Taxa de Transferência para um Banco"},{"lang'\
63
+ 'uage":"es-MX","translation":"Transferencia a una Tarifa Bancaria"},{"la'\
64
+ 'nguage":"en-GB","translation":"Transfer to a Bank Fee"}],"formattedAmou'\
65
+ 'nt":"$1.50 USD","percentage":1,"responsibility":"USER","responsibilityS'\
66
+ 'ource":"SCHEDULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e6'\
67
+ '78e"}],"source":"TRANSACTION","totalAmount":-12.5,"transactionAmount":-'\
68
+ '14,"type":"BANK_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRa'\
69
+ 'te":{"destinationAmount":-14,"destinationCurrency":"USD","rate":1,"sour'\
70
+ 'ceAmount":-14,"sourceCurrency":"USD","sourceFormattedAmount":"($14.00) '\
71
+ 'USD","destinationFormattedAmount":"($14.00) USD"},"memo":"Bank transfer'\
72
+ ' - memo","note":"Bank transfer - note","sourceToken":"user-65ec33d0-451'\
73
+ '8-41bb-8822-ed58c69e678e","status":"ACCEPTED","receiptToken":"rcpt-337b'\
74
+ '4c59-821d-4bac-a1dd-c9d7c15e41e8","destinationFormattedAmount":"($14.00'\
75
+ ') USD","amount":-14,"formattedAmount":"($14.00) USD","transferLockSide"'\
76
+ ':"SOURCE","transferMethodType":"IACH","deliveryDetails":{"minimumDelive'\
77
+ 'ryMinutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https'\
78
+ '://api.sandbox.payquicker.io/api/v2/users/user-65ec33d0-4518-41bb-8822-'\
79
+ 'ed58c69e678e/transfers/xfer-337b4c59-821d-4bac-a1dd-c9d7c15e41e8","para'\
80
+ 'ms":{"rel":"self"}}]}],"meta":{"pageNo":"1","pageSize":"2","pageCount":'\
81
+ '"1","recordCount":"1","timezone":"GMT","requestRef":"request-reference-'\
82
+ 'value"},"links":[{"href":"https://api.sandbox.payquicker.io/api/v2/user'\
83
+ 's/user-65ec33d0-4518-41bb-8822-ed58c69e678e/transfers?page=1&language=e'\
84
+ 'n-US&filter=%27transfertype%27=%27BANK_TRANSFER%27&pageSize=2","params"'\
85
+ ':{"rel":"self"}}]}'
86
+ )
87
+ received_body = JSON.parse(@response_catcher.response.raw_body)
88
+ assert(ComparisonHelper.match_body(expected_body, received_body))
89
+ end
90
+
91
+ # Create a new [transfer](page:resources/transfers) quote.
92
+ #
93
+ def test_create_transfer_quote
94
+ # Parameters for the API call
95
+ body = nil
96
+
97
+ # Perform the API call through the SDK function
98
+ result = @controller.create_transfer_quote(body: body)
99
+
100
+ # Test response code
101
+ assert_equal(200, @response_catcher.response.status_code)
102
+ # Test headers
103
+ expected_headers = {}
104
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
105
+
106
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
107
+
108
+ # Test whether the captured response is as we expected
109
+ refute_nil(result)
110
+ expected_body = JSON.parse(
111
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
112
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
113
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
114
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
115
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
116
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
117
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
118
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
119
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
120
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
121
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
122
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
123
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
124
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
125
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
126
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
127
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
128
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
129
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
130
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
131
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
132
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
133
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
134
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
135
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
136
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
137
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
138
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
139
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
140
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
141
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
142
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
143
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
144
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
145
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
146
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
147
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
148
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
149
+ 'stRef":"request-reference-value"}}'
150
+ )
151
+ received_body = JSON.parse(@response_catcher.response.raw_body)
152
+ assert(ComparisonHelper.match_body(expected_body, received_body))
153
+ end
154
+
155
+ # Create a new [transfer](page:resources/transfers) quote.
156
+ #
157
+ def test_create_transfer_quote1
158
+ # Parameters for the API call
159
+ body = nil
160
+
161
+ # Perform the API call through the SDK function
162
+ result = @controller.create_transfer_quote(body: body)
163
+
164
+ # Test response code
165
+ assert_equal(201, @response_catcher.response.status_code)
166
+ # Test headers
167
+ expected_headers = {}
168
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
169
+
170
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
171
+
172
+ # Test whether the captured response is as we expected
173
+ refute_nil(result)
174
+ expected_body = JSON.parse(
175
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
176
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
177
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
178
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
179
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
180
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
181
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
182
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
183
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
184
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
185
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
186
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
187
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
188
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
189
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
190
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
191
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
192
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
193
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
194
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
195
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
196
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
197
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
198
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
199
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
200
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
201
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
202
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
203
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
204
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
205
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
206
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
207
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
208
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
209
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
210
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
211
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
212
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
213
+ 'stRef":"request-reference-value"}}'
214
+ )
215
+ received_body = JSON.parse(@response_catcher.response.raw_body)
216
+ assert(ComparisonHelper.match_body(expected_body, received_body))
217
+ end
218
+
219
+ # Retrieve details of a specific [transfer](page:resources/transfers) represented by a transfer token.
220
+ #
221
+ def test_retrieve_transfer
222
+ # Parameters for the API call
223
+ transfer_token = 'xfer-0fac4aa8-43ac-447e-95f9-827f908a82ff'
224
+
225
+ # Perform the API call through the SDK function
226
+ result = @controller.retrieve_transfer(transfer_token)
227
+
228
+ # Test response code
229
+ assert_equal(200, @response_catcher.response.status_code)
230
+ # Test headers
231
+ expected_headers = {}
232
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
233
+
234
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
235
+
236
+ # Test whether the captured response is as we expected
237
+ refute_nil(result)
238
+ expected_body = JSON.parse(
239
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
240
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
241
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
242
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
243
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
244
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
245
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
246
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
247
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
248
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
249
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
250
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
251
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
252
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
253
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
254
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
255
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
256
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
257
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
258
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
259
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
260
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
261
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
262
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
263
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
264
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
265
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
266
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
267
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
268
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
269
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
270
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
271
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
272
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
273
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
274
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
275
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
276
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
277
+ 'stRef":"request-reference-value"}}'
278
+ )
279
+ received_body = JSON.parse(@response_catcher.response.raw_body)
280
+ assert(ComparisonHelper.match_body(expected_body, received_body))
281
+ end
282
+
283
+ # Accept a [transfer](page:resources/transfers) quote.
284
+ def test_accept_transfer_quote
285
+ # Parameters for the API call
286
+ transfer_token = 'xfer-0fac4aa8-43ac-447e-95f9-827f908a82ff'
287
+
288
+ # Perform the API call through the SDK function
289
+ result = @controller.accept_transfer_quote(transfer_token)
290
+
291
+ # Test response code
292
+ assert_equal(200, @response_catcher.response.status_code)
293
+ # Test headers
294
+ expected_headers = {}
295
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
296
+
297
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
298
+
299
+ # Test whether the captured response is as we expected
300
+ refute_nil(result)
301
+ expected_body = JSON.parse(
302
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
303
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
304
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
305
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
306
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
307
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
308
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
309
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
310
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
311
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
312
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
313
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
314
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
315
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
316
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
317
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
318
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
319
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
320
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
321
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
322
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
323
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
324
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
325
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
326
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
327
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
328
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
329
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
330
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
331
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
332
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
333
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
334
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
335
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
336
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
337
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
338
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
339
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
340
+ 'stRef":"request-reference-value"}}'
341
+ )
342
+ received_body = JSON.parse(@response_catcher.response.raw_body)
343
+ assert(ComparisonHelper.match_body(expected_body, received_body))
344
+ end
345
+
346
+ # Accept a [transfer](page:resources/transfers) quote.
347
+ def test_accept_transfer_quote1
348
+ # Parameters for the API call
349
+ transfer_token = 'xfer-0fac4aa8-43ac-447e-95f9-827f908a82ff'
350
+
351
+ # Perform the API call through the SDK function
352
+ result = @controller.accept_transfer_quote(transfer_token)
353
+
354
+ # Test response code
355
+ assert_equal(201, @response_catcher.response.status_code)
356
+ # Test headers
357
+ expected_headers = {}
358
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
359
+
360
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
361
+
362
+ # Test whether the captured response is as we expected
363
+ refute_nil(result)
364
+ expected_body = JSON.parse(
365
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
366
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
367
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
368
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
369
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
370
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
371
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
372
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
373
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
374
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
375
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
376
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
377
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
378
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
379
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
380
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
381
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
382
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
383
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
384
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
385
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
386
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
387
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
388
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
389
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
390
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
391
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
392
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
393
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
394
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
395
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
396
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
397
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
398
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
399
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
400
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
401
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
402
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
403
+ 'stRef":"request-reference-value"}}'
404
+ )
405
+ received_body = JSON.parse(@response_catcher.response.raw_body)
406
+ assert(ComparisonHelper.match_body(expected_body, received_body))
407
+ end
408
+
409
+ # Optional [transfer](page:resources/transfers) quote cancellation that auto-cancels after a period organically expires or when account activity invalidates the quote.
410
+ #
411
+ def test_cancel_transfer_quote
412
+ # Parameters for the API call
413
+ transfer_token = 'xfer-0fac4aa8-43ac-447e-95f9-827f908a82ff'
414
+
415
+ # Perform the API call through the SDK function
416
+ result = @controller.cancel_transfer_quote(transfer_token)
417
+
418
+ # Test response code
419
+ assert_equal(201, @response_catcher.response.status_code)
420
+ # Test headers
421
+ expected_headers = {}
422
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
423
+
424
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
425
+
426
+ # Test whether the captured response is as we expected
427
+ refute_nil(result)
428
+ expected_body = JSON.parse(
429
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
430
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
431
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
432
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
433
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
434
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
435
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
436
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
437
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
438
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
439
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
440
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
441
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
442
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
443
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
444
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
445
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
446
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
447
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
448
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
449
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
450
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
451
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
452
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
453
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
454
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
455
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
456
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
457
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
458
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
459
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
460
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
461
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
462
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
463
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
464
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
465
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
466
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
467
+ 'stRef":"request-reference-value"}}'
468
+ )
469
+ received_body = JSON.parse(@response_catcher.response.raw_body)
470
+ assert(ComparisonHelper.match_body(expected_body, received_body))
471
+ end
472
+
473
+ # Retrieve a list of user [transfers](page:resources/transfers) that supports filtering, sorting, and pagination through existing mechanisms.
474
+ def test_list_user_transfers
475
+ # Parameters for the API call
476
+ user_token = 'user-2bbfc967-d12e-4647-a887-d905172fb4bc'
477
+ page = 1
478
+ page_size = 20
479
+ filter = 'string'
480
+ sort = 'string'
481
+ language = 'en-US'
482
+
483
+ # Perform the API call through the SDK function
484
+ result = @controller.list_user_transfers(user_token, page, page_size,
485
+ filter: filter, sort: sort,
486
+ language: language)
487
+
488
+ # Test response code
489
+ assert_equal(200, @response_catcher.response.status_code)
490
+ # Test headers
491
+ expected_headers = {}
492
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
493
+
494
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
495
+
496
+ # Test whether the captured response is as we expected
497
+ refute_nil(result)
498
+ expected_body = JSON.parse(
499
+ '{"payload":[{"token":"xfer-337b4c59-821d-4bac-a1dd-c9d7c15e41e8","clien'\
500
+ 'tTransferId":"1066ab05-84d0-453f-a827-1bd3b2ad9e3d","created":"2025-06-'\
501
+ '23T19:17:22Z","destinationAmount":-14,"destinationCurrency":"USD","dest'\
502
+ 'inationToken":"dest-80611686-e311-4acd-aeeb-244609a3b12b","fee":{"categ'\
503
+ 'ory":"USER","destinationCountry":"USA","destinationCurrency":"USD","dis'\
504
+ 'tribution":[{"amount":1.5,"currency":"USD","description":[{"language":"'\
505
+ 'en-US","translation":"Transfer to a Bank Fee"},{"language":"en-US","tra'\
506
+ 'nslation":"Poplatek za převod do banky"},{"language":"de-DE","translati'\
507
+ 'on":"Transfer zu einer Bankgebühr"},{"language":"es-ES","translation":"'\
508
+ 'Coste de la transferencia a un banco"},{"language":"en-US","translation'\
509
+ '":"Pankkiin siirto -maksu"},{"language":"fr-FR","translation":"Frais de'\
510
+ ' virement vers une banque"},{"language":"it-IT","translation":"Tariffa '\
511
+ 'Trasferimento Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"'\
512
+ '},{"language":"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL",'\
513
+ '"translation":"Kosten bankoverschrijving"},{"language":"pl-PL","transla'\
514
+ 'tion":"Opłata za przelew do banku"},{"language":"pt-BR","translation":"'\
515
+ 'Taxa de Transferência para um Banco"},{"language":"ru-RU","translation"'\
516
+ ':"Комиссия за перевод на банковский счет"},{"language":"en-US","transla'\
517
+ 'tion":"Avgift för överföring till en bank"},{"language":"zh-Hans","tran'\
518
+ 'slation":"转账到银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"'\
519
+ 'language":"fr-CA","translation":"Frais de transfert bancaire"},{"langua'\
520
+ 'ge":"pt-PT","translation":"Taxa de Transferência para um Banco"},{"lang'\
521
+ 'uage":"es-MX","translation":"Transferencia a una Tarifa Bancaria"},{"la'\
522
+ 'nguage":"en-GB","translation":"Transfer to a Bank Fee"}],"formattedAmou'\
523
+ 'nt":"$1.50 USD","percentage":1,"responsibility":"USER","responsibilityS'\
524
+ 'ource":"SCHEDULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e6'\
525
+ '78e"}],"source":"TRANSACTION","totalAmount":-12.5,"transactionAmount":-'\
526
+ '14,"type":"BANK_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRa'\
527
+ 'te":{"destinationAmount":-14,"destinationCurrency":"USD","rate":1,"sour'\
528
+ 'ceAmount":-14,"sourceCurrency":"USD","sourceFormattedAmount":"($14.00) '\
529
+ 'USD","destinationFormattedAmount":"($14.00) USD"},"memo":"Bank transfer'\
530
+ ' - memo","note":"Bank transfer - note","sourceToken":"user-65ec33d0-451'\
531
+ '8-41bb-8822-ed58c69e678e","status":"ACCEPTED","receiptToken":"rcpt-337b'\
532
+ '4c59-821d-4bac-a1dd-c9d7c15e41e8","destinationFormattedAmount":"($14.00'\
533
+ ') USD","amount":-14,"formattedAmount":"($14.00) USD","transferLockSide"'\
534
+ ':"SOURCE","transferMethodType":"IACH","deliveryDetails":{"minimumDelive'\
535
+ 'ryMinutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https'\
536
+ '://api.sandbox.payquicker.io/api/v2/users/user-65ec33d0-4518-41bb-8822-'\
537
+ 'ed58c69e678e/transfers/xfer-337b4c59-821d-4bac-a1dd-c9d7c15e41e8","para'\
538
+ 'ms":{"rel":"self"}}]}],"meta":{"pageNo":"1","pageSize":"2","pageCount":'\
539
+ '"1","recordCount":"1","timezone":"GMT","requestRef":"request-reference-'\
540
+ 'value"},"links":[{"href":"https://api.sandbox.payquicker.io/api/v2/user'\
541
+ 's/user-65ec33d0-4518-41bb-8822-ed58c69e678e/transfers?page=1&language=e'\
542
+ 'n-US&filter=%27transfertype%27=%27BANK_TRANSFER%27&pageSize=2","params"'\
543
+ ':{"rel":"self"}}]}'
544
+ )
545
+ received_body = JSON.parse(@response_catcher.response.raw_body)
546
+ assert(ComparisonHelper.match_body(expected_body, received_body))
547
+ end
548
+
549
+ # Retrieve a specific user bank [transfer](page:resources/transfers).
550
+ def test_retrieve_user_transfer
551
+ # Parameters for the API call
552
+ user_token = 'user-2bbfc967-d12e-4647-a887-d905172fb4bc'
553
+ transfer_token = 'xfer-bf34989d-0b13-47ee-bd51-b96b0ecbe866'
554
+
555
+ # Perform the API call through the SDK function
556
+ result = @controller.retrieve_user_transfer(user_token, transfer_token)
557
+
558
+ # Test response code
559
+ assert_equal(200, @response_catcher.response.status_code)
560
+ # Test headers
561
+ expected_headers = {}
562
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
563
+
564
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
565
+
566
+ # Test whether the captured response is as we expected
567
+ refute_nil(result)
568
+ expected_body = JSON.parse(
569
+ '{"token":"xfer-0722428d-7929-4bb5-a7eb-8526e8fe49e2","clientTransferId"'\
570
+ ':"af1d26c4-07d8-4bba-bdf6-104fda46e896","created":"2025-06-24T12:40:53Z'\
571
+ '","destinationAmount":14,"destinationCurrency":"USD","destinationToken"'\
572
+ ':"dest-80611686-e311-4acd-aeeb-224609a3b12b","fee":{"category":"USER","'\
573
+ 'destinationCountry":"USA","destinationCurrency":"USD","distribution":[{'\
574
+ '"amount":1.5,"currency":"USD","description":[{"language":"en-US","trans'\
575
+ 'lation":"Transfer to a Bank Fee"},{"language":"en-US","translation":"Po'\
576
+ 'platek za převod do banky"},{"language":"de-DE","translation":"Transfer'\
577
+ ' zu einer Bankgebühr"},{"language":"es-ES","translation":"Coste de la t'\
578
+ 'ransferencia a un banco"},{"language":"en-US","translation":"Pankkiin s'\
579
+ 'iirto -maksu"},{"language":"fr-FR","translation":"Frais de virement ver'\
580
+ 's une banque"},{"language":"it-IT","translation":"Tariffa Trasferimento'\
581
+ ' Bancario"},{"language":"ja-JP","translation":"銀行への送金の手数料"},{"language"'\
582
+ ':"ko-KR","translation":"은행으로 송금 수수료"},{"language":"nl-NL","translation"'\
583
+ ':"Kosten bankoverschrijving"},{"language":"pl-PL","translation":"Opłata'\
584
+ ' za przelew do banku"},{"language":"pt-BR","translation":"Taxa de Trans'\
585
+ 'ferência para um Banco"},{"language":"ru-RU","translation":"Комиссия за'\
586
+ ' перевод на банковский счет"},{"language":"en-US","translation":"Avgift'\
587
+ ' för överföring till en bank"},{"language":"zh-Hans","translation":"转账到'\
588
+ '银行手续费"},{"language":"zh-Hant","translation":"轉帳至銀行手續費"},{"language":"fr'\
589
+ '-CA","translation":"Frais de transfert bancaire"},{"language":"pt-PT","'\
590
+ 'translation":"Taxa de Transferência para um Banco"},{"language":"es-MX"'\
591
+ ',"translation":"Transferencia a una Tarifa Bancaria"},{"language":"en-G'\
592
+ 'B","translation":"Transfer to a Bank Fee"}],"formattedAmount":"$1.50 US'\
593
+ 'D","percentage":1,"responsibility":"USER","responsibilitySource":"SCHED'\
594
+ 'ULE","sourceToken":"user-65ec33d0-4518-41bb-8822-ed58c69e678e"}],"sourc'\
595
+ 'e":"TRANSACTION","totalAmount":15.5,"transactionAmount":14,"type":"BANK'\
596
+ '_TRANSFER","valueAmount":1.5,"valueType":"STATIC"},"fxRate":{"destinati'\
597
+ 'onAmount":14,"destinationCurrency":"USD","rate":1,"sourceAmount":14,"so'\
598
+ 'urceCurrency":"USD","sourceFormattedAmount":"$14.00 USD","destinationFo'\
599
+ 'rmattedAmount":"$14.00 USD"},"memo":"Bank transfer - memo","note":"Bank'\
600
+ ' transfer - note","sourceToken":"user-65ec33d0-4518-41bb-2822-ed58c69e6'\
601
+ '78e","status":"PENDING_ACCEPTANCE","destinationFormattedAmount":"$14.00'\
602
+ ' USD","amount":14,"formattedAmount":"$14.00 USD","transferLockSide":"SO'\
603
+ 'URCE","transferMethodType":"IACH","deliveryDetails":{"minimumDeliveryMi'\
604
+ 'nutes":4320,"maximumDeliveryMinutes":10080},"links":[{"href":"https://a'\
605
+ 'pi.sandbox.payquicker.io/api/v2/transfers/xfer-0722448d-7929-4bb5-a7eb-'\
606
+ '8526e8fe49e2","params":{"rel":"self"}}],"meta":{"timezone":"GMT","reque'\
607
+ 'stRef":"request-reference-value"}}'
608
+ )
609
+ received_body = JSON.parse(@response_catcher.response.raw_body)
610
+ assert(ComparisonHelper.match_body(expected_body, received_body))
611
+ end
612
+
613
+ end