payquicker-apimatic-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 +380 -0
@@ -0,0 +1,40 @@
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
+ # Fee source types
8
+ class FeeSources
9
+ FEE_SOURCES = [
10
+ # TODO: Write general description for TRANSACTION
11
+ TRANSACTION = 'TRANSACTION'.freeze,
12
+
13
+ # TODO: Write general description for USER
14
+ USER = 'USER'.freeze,
15
+
16
+ # TODO: Write general description for UNDEFINED
17
+ UNDEFINED = 'UNDEFINED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ FEE_SOURCES.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = TRANSACTION)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'transaction' then TRANSACTION
33
+ when 'user' then USER
34
+ when 'undefined' then UNDEFINED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,36 @@
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
+ # Fee value types
8
+ class FeeValues
9
+ FEE_VALUES = [
10
+ # TODO: Write general description for PERCENTAGE
11
+ PERCENTAGE = 'PERCENTAGE'.freeze,
12
+
13
+ # TODO: Write general description for STATIC
14
+ STATIC = 'STATIC'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ FEE_VALUES.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = PERCENTAGE)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'percentage' then PERCENTAGE
30
+ when 'static' then STATIC
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,222 @@
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
+ # Fee types
8
+ class Fees
9
+ FEES = [
10
+ # TODO: Write general description for BANK_TRANSFER_REVERSAL_STOP_NOC
11
+ BANK_TRANSFER_REVERSAL_STOP_NOC = 'BANK_TRANSFER_REVERSAL_STOP_NOC'.freeze,
12
+
13
+ # TODO: Write general description for PAPER_CHECK_STOP
14
+ PAPER_CHECK_STOP = 'PAPER_CHECK_STOP'.freeze,
15
+
16
+ # TODO: Write general description for INSTANT_PAYMENT
17
+ INSTANT_PAYMENT = 'INSTANT_PAYMENT'.freeze,
18
+
19
+ # TODO: Write general description for ACCOUNT_DIRECT_DEPOSIT
20
+ ACCOUNT_DIRECT_DEPOSIT = 'ACCOUNT_DIRECT_DEPOSIT'.freeze,
21
+
22
+ # TODO: Write general description for INBOUND_WIRE
23
+ INBOUND_WIRE = 'INBOUND_WIRE'.freeze,
24
+
25
+ # TODO: Write general description for PLASTIC_CARD_PURCHASE_DECLINED
26
+ PLASTIC_CARD_PURCHASE_DECLINED = 'PLASTIC_CARD_PURCHASE_DECLINED'.freeze,
27
+
28
+ # TODO: Write general description for ATM_DECLINED
29
+ ATM_DECLINED = 'ATM_DECLINED'.freeze,
30
+
31
+ # TODO: Write general description for CLEAR_NEGATIVE_BALANCE
32
+ CLEAR_NEGATIVE_BALANCE = 'CLEAR_NEGATIVE_BALANCE'.freeze,
33
+
34
+ # TODO: Write general description for PLASTIC_CARD_ISSUANCE
35
+ PLASTIC_CARD_ISSUANCE = 'PLASTIC_CARD_ISSUANCE'.freeze,
36
+
37
+ # TODO: Write general description for PLASTIC_CARD_REPLACEMENT_FRAUD
38
+ PLASTIC_CARD_REPLACEMENT_FRAUD = 'PLASTIC_CARD_REPLACEMENT_FRAUD'.freeze,
39
+
40
+ # TODO: Write general description for
41
+ # PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN
42
+ PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN = 'PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN'.freeze,
43
+
44
+ # TODO: Write general description for PLASTIC_CARD_REPLACEMENT_EXPIRED
45
+ PLASTIC_CARD_REPLACEMENT_EXPIRED = 'PLASTIC_CARD_REPLACEMENT_EXPIRED'.freeze,
46
+
47
+ # TODO: Write general description for BANK_TRANSFER_CURRENCY_CONVERSION
48
+ BANK_TRANSFER_CURRENCY_CONVERSION = 'BANK_TRANSFER_CURRENCY_CONVERSION'.freeze,
49
+
50
+ # TODO: Write general description for
51
+ # PAPER_CHECK_ISSUANCE_CURRENCY_CONVERSION
52
+ PAPER_CHECK_ISSUANCE_CURRENCY_CONVERSION = 'PAPER_CHECK_ISSUANCE_CURRENCY_CONVERSION'.freeze,
53
+
54
+ # TODO: Write general description for PLASTIC_CARD_PIN_PURCHASE
55
+ PLASTIC_CARD_PIN_PURCHASE = 'PLASTIC_CARD_PIN_PURCHASE'.freeze,
56
+
57
+ # TODO: Write general description for FOREIGN_EXCHANGE_CONVERSION
58
+ FOREIGN_EXCHANGE_CONVERSION = 'FOREIGN_EXCHANGE_CONVERSION'.freeze,
59
+
60
+ # TODO: Write general description for
61
+ # ATM_CASH_WITHDRAWAL_REMOTE_CURRENCY_FOREIGN_EXCHANGE
62
+ ATM_CASH_WITHDRAWAL_REMOTE_CURRENCY_FOREIGN_EXCHANGE = 'ATM_CASH_WITHDRAWAL_REMOTE_CURRENCY_FOREIGN_EXCHANGE'.freeze,
63
+
64
+ # TODO: Write general description for PAPER_STATEMENT
65
+ PAPER_STATEMENT = 'PAPER_STATEMENT'.freeze,
66
+
67
+ # TODO: Write general description for BANK_TRANSFER
68
+ BANK_TRANSFER = 'BANK_TRANSFER'.freeze,
69
+
70
+ # TODO: Write general description for PAPER_CHECK_ISSUANCE
71
+ PAPER_CHECK_ISSUANCE = 'PAPER_CHECK_ISSUANCE'.freeze,
72
+
73
+ # TODO: Write general description for ACCOUNT_ENROLLMENT
74
+ ACCOUNT_ENROLLMENT = 'ACCOUNT_ENROLLMENT'.freeze,
75
+
76
+ # TODO: Write general description for MONTHLY_MAINTENANCE_INACTIVE_ACCOUNT
77
+ MONTHLY_MAINTENANCE_INACTIVE_ACCOUNT = 'MONTHLY_MAINTENANCE_INACTIVE_ACCOUNT'.freeze,
78
+
79
+ # TODO: Write general description for MONTHLY_MAINTENANCE_ACTIVE_ACCOUNT
80
+ MONTHLY_MAINTENANCE_ACTIVE_ACCOUNT = 'MONTHLY_MAINTENANCE_ACTIVE_ACCOUNT'.freeze,
81
+
82
+ # TODO: Write general description for ACCOUNT_CLOSURE
83
+ ACCOUNT_CLOSURE = 'ACCOUNT_CLOSURE'.freeze,
84
+
85
+ # TODO: Write general description for PLASTIC_CARD_PURCHASE_OUTSIDE_USA
86
+ PLASTIC_CARD_PURCHASE_OUTSIDE_USA = 'PLASTIC_CARD_PURCHASE_OUTSIDE_USA'.freeze,
87
+
88
+ # TODO: Write general description for EXTERNAL_INITIATED_BANK_TRANSFER
89
+ EXTERNAL_INITIATED_BANK_TRANSFER = 'EXTERNAL_INITIATED_BANK_TRANSFER'.freeze,
90
+
91
+ # TODO: Write general description for
92
+ # CO_BRANDED_ACCOUNT_PROCESSING_ORDER_FEE
93
+ CO_BRANDED_ACCOUNT_PROCESSING_ORDER_FEE = 'CO_BRANDED_ACCOUNT_PROCESSING_ORDER_FEE'.freeze,
94
+
95
+ # TODO: Write general description for
96
+ # ATM_CASH_WITHDRAWAL_FEE_LOCAL_CURRENCY
97
+ ATM_CASH_WITHDRAWAL_FEE_LOCAL_CURRENCY = 'ATM_CASH_WITHDRAWAL_FEE_LOCAL_CURRENCY'.freeze,
98
+
99
+ # TODO: Write general description for
100
+ # ATM_CASH_WITHDRAWAL_FEE_OUTSIDE_CURRENCY
101
+ ATM_CASH_WITHDRAWAL_FEE_OUTSIDE_CURRENCY = 'ATM_CASH_WITHDRAWAL_FEE_OUTSIDE_CURRENCY'.freeze,
102
+
103
+ # TODO: Write general description for ATM_BALANCE_INQUIRY_FEE
104
+ ATM_BALANCE_INQUIRY_FEE = 'ATM_BALANCE_INQUIRY_FEE'.freeze,
105
+
106
+ # TODO: Write general description for BANK_TELLER_CASH_WITHDRAWAL_FEE
107
+ BANK_TELLER_CASH_WITHDRAWAL_FEE = 'BANK_TELLER_CASH_WITHDRAWAL_FEE'.freeze,
108
+
109
+ # TODO: Write general description for
110
+ # BANK_TELLER_CASH_WITHDRAWAL_DECLINE_FEE
111
+ BANK_TELLER_CASH_WITHDRAWAL_DECLINE_FEE = 'BANK_TELLER_CASH_WITHDRAWAL_DECLINE_FEE'.freeze,
112
+
113
+ # TODO: Write general description for COMPANY_BULK_MONTHLY_FEE
114
+ COMPANY_BULK_MONTHLY_FEE = 'COMPANY_BULK_MONTHLY_FEE'.freeze,
115
+
116
+ # TODO: Write general description for PAYMENT_ESCHEATMENT_FEE
117
+ PAYMENT_ESCHEATMENT_FEE = 'PAYMENT_ESCHEATMENT_FEE'.freeze,
118
+
119
+ # TODO: Write general description for SPENDBACK_PROCESSING_FEE
120
+ SPENDBACK_PROCESSING_FEE = 'SPENDBACK_PROCESSING_FEE'.freeze,
121
+
122
+ # TODO: Write general description for
123
+ # VIRTUAL_PLASTIC_CARD_REPLACEMENT_FRAUD
124
+ VIRTUAL_PLASTIC_CARD_REPLACEMENT_FRAUD = 'VIRTUAL_PLASTIC_CARD_REPLACEMENT_FRAUD'.freeze,
125
+
126
+ # TODO: Write general description for
127
+ # VIRTUAL_PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN
128
+ VIRTUAL_PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN = 'VIRTUAL_PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN'.freeze,
129
+
130
+ # TODO: Write general description for
131
+ # VIRTUAL_PLASTIC_CARD_REPLACEMENT_EXPIRED
132
+ VIRTUAL_PLASTIC_CARD_REPLACEMENT_EXPIRED = 'VIRTUAL_PLASTIC_CARD_REPLACEMENT_EXPIRED'.freeze,
133
+
134
+ # TODO: Write general description for REVERSE_FEE
135
+ REVERSE_FEE = 'REVERSE_FEE'.freeze,
136
+
137
+ # TODO: Write general description for LOAD_SERVICE_FEE
138
+ LOAD_SERVICE_FEE = 'LOAD_SERVICE_FEE'.freeze,
139
+
140
+ # TODO: Write general description for PAYMENT_SUBSCRIPTION_FEE
141
+ PAYMENT_SUBSCRIPTION_FEE = 'PAYMENT_SUBSCRIPTION_FEE'.freeze,
142
+
143
+ # TODO: Write general description for AUTO_ACH_FEE
144
+ AUTO_ACH_FEE = 'AUTO_ACH_FEE'.freeze,
145
+
146
+ # TODO: Write general description for UNDEFINED
147
+ UNDEFINED = 'UNDEFINED'.freeze,
148
+
149
+ # TODO: Write general description for BULK_MONTHLY_FEE
150
+ BULK_MONTHLY_FEE = 'BULK_MONTHLY_FEE'.freeze,
151
+
152
+ # TODO: Write general description for VIRTUAL_PLASTIC_CARD_ISSUANCE
153
+ VIRTUAL_PLASTIC_CARD_ISSUANCE = 'VIRTUAL_PLASTIC_CARD_ISSUANCE'.freeze,
154
+
155
+ # TODO: Write general description for ELECTRONIC_WALLET_TRANSFER
156
+ ELECTRONIC_WALLET_TRANSFER = 'ELECTRONIC_WALLET_TRANSFER'.freeze
157
+ ].freeze
158
+
159
+ def self.validate(value)
160
+ return false if value.nil?
161
+
162
+ FEES.include?(value)
163
+ end
164
+
165
+ def self.from_value(value, default_value = BANK_TRANSFER_REVERSAL_STOP_NOC)
166
+ return default_value if value.nil?
167
+
168
+ str = value.to_s.strip
169
+
170
+ case str.downcase
171
+ when 'bank_transfer_reversal_stop_noc' then BANK_TRANSFER_REVERSAL_STOP_NOC
172
+ when 'paper_check_stop' then PAPER_CHECK_STOP
173
+ when 'instant_payment' then INSTANT_PAYMENT
174
+ when 'account_direct_deposit' then ACCOUNT_DIRECT_DEPOSIT
175
+ when 'inbound_wire' then INBOUND_WIRE
176
+ when 'plastic_card_purchase_declined' then PLASTIC_CARD_PURCHASE_DECLINED
177
+ when 'atm_declined' then ATM_DECLINED
178
+ when 'clear_negative_balance' then CLEAR_NEGATIVE_BALANCE
179
+ when 'plastic_card_issuance' then PLASTIC_CARD_ISSUANCE
180
+ when 'plastic_card_replacement_fraud' then PLASTIC_CARD_REPLACEMENT_FRAUD
181
+ when 'plastic_card_replacement_lost_or_stolen' then PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN
182
+ when 'plastic_card_replacement_expired' then PLASTIC_CARD_REPLACEMENT_EXPIRED
183
+ when 'bank_transfer_currency_conversion' then BANK_TRANSFER_CURRENCY_CONVERSION
184
+ when 'paper_check_issuance_currency_conversion' then PAPER_CHECK_ISSUANCE_CURRENCY_CONVERSION
185
+ when 'plastic_card_pin_purchase' then PLASTIC_CARD_PIN_PURCHASE
186
+ when 'foreign_exchange_conversion' then FOREIGN_EXCHANGE_CONVERSION
187
+ when 'atm_cash_withdrawal_remote_currency_foreign_exchange' then ATM_CASH_WITHDRAWAL_REMOTE_CURRENCY_FOREIGN_EXCHANGE
188
+ when 'paper_statement' then PAPER_STATEMENT
189
+ when 'bank_transfer' then BANK_TRANSFER
190
+ when 'paper_check_issuance' then PAPER_CHECK_ISSUANCE
191
+ when 'account_enrollment' then ACCOUNT_ENROLLMENT
192
+ when 'monthly_maintenance_inactive_account' then MONTHLY_MAINTENANCE_INACTIVE_ACCOUNT
193
+ when 'monthly_maintenance_active_account' then MONTHLY_MAINTENANCE_ACTIVE_ACCOUNT
194
+ when 'account_closure' then ACCOUNT_CLOSURE
195
+ when 'plastic_card_purchase_outside_usa' then PLASTIC_CARD_PURCHASE_OUTSIDE_USA
196
+ when 'external_initiated_bank_transfer' then EXTERNAL_INITIATED_BANK_TRANSFER
197
+ when 'co_branded_account_processing_order_fee' then CO_BRANDED_ACCOUNT_PROCESSING_ORDER_FEE
198
+ when 'atm_cash_withdrawal_fee_local_currency' then ATM_CASH_WITHDRAWAL_FEE_LOCAL_CURRENCY
199
+ when 'atm_cash_withdrawal_fee_outside_currency' then ATM_CASH_WITHDRAWAL_FEE_OUTSIDE_CURRENCY
200
+ when 'atm_balance_inquiry_fee' then ATM_BALANCE_INQUIRY_FEE
201
+ when 'bank_teller_cash_withdrawal_fee' then BANK_TELLER_CASH_WITHDRAWAL_FEE
202
+ when 'bank_teller_cash_withdrawal_decline_fee' then BANK_TELLER_CASH_WITHDRAWAL_DECLINE_FEE
203
+ when 'company_bulk_monthly_fee' then COMPANY_BULK_MONTHLY_FEE
204
+ when 'payment_escheatment_fee' then PAYMENT_ESCHEATMENT_FEE
205
+ when 'spendback_processing_fee' then SPENDBACK_PROCESSING_FEE
206
+ when 'virtual_plastic_card_replacement_fraud' then VIRTUAL_PLASTIC_CARD_REPLACEMENT_FRAUD
207
+ when 'virtual_plastic_card_replacement_lost_or_stolen' then VIRTUAL_PLASTIC_CARD_REPLACEMENT_LOST_OR_STOLEN
208
+ when 'virtual_plastic_card_replacement_expired' then VIRTUAL_PLASTIC_CARD_REPLACEMENT_EXPIRED
209
+ when 'reverse_fee' then REVERSE_FEE
210
+ when 'load_service_fee' then LOAD_SERVICE_FEE
211
+ when 'payment_subscription_fee' then PAYMENT_SUBSCRIPTION_FEE
212
+ when 'auto_ach_fee' then AUTO_ACH_FEE
213
+ when 'undefined' then UNDEFINED
214
+ when 'bulk_monthly_fee' then BULK_MONTHLY_FEE
215
+ when 'virtual_plastic_card_issuance' then VIRTUAL_PLASTIC_CARD_ISSUANCE
216
+ when 'electronic_wallet_transfer' then ELECTRONIC_WALLET_TRANSFER
217
+ else
218
+ default_value
219
+ end
220
+ end
221
+ end
222
+ end
@@ -0,0 +1,144 @@
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
+ # Exchange rate
8
+ class FxRate < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Allocated money to be sent in the transaction.
13
+ # @return [Float]
14
+ attr_accessor :destination_amount
15
+
16
+ # [Currency code type](#/rest/models/structures/country) for the object
17
+ # @return [Currencies]
18
+ attr_accessor :destination_currency
19
+
20
+ # Combination of the amount and currency type
21
+ # @return [String]
22
+ attr_accessor :destination_formatted_amount
23
+
24
+ # Exchange [rate](#/rest/models/structures/rate)
25
+ # @return [Float]
26
+ attr_accessor :rate
27
+
28
+ # Allocated money to be sent in the transaction.
29
+ # @return [Float]
30
+ attr_accessor :source_amount
31
+
32
+ # [Currency code type](#/rest/models/structures/country) for the object
33
+ # @return [Currencies]
34
+ attr_accessor :source_currency
35
+
36
+ # Combination of the amount and currency type
37
+ # @return [String]
38
+ attr_accessor :source_formatted_amount
39
+
40
+ # A mapping from model property names to API property names.
41
+ def self.names
42
+ @_hash = {} if @_hash.nil?
43
+ @_hash['destination_amount'] = 'destinationAmount'
44
+ @_hash['destination_currency'] = 'destinationCurrency'
45
+ @_hash['destination_formatted_amount'] = 'destinationFormattedAmount'
46
+ @_hash['rate'] = 'rate'
47
+ @_hash['source_amount'] = 'sourceAmount'
48
+ @_hash['source_currency'] = 'sourceCurrency'
49
+ @_hash['source_formatted_amount'] = 'sourceFormattedAmount'
50
+ @_hash
51
+ end
52
+
53
+ # An array for optional fields
54
+ def self.optionals
55
+ %w[
56
+ destination_amount
57
+ destination_currency
58
+ destination_formatted_amount
59
+ rate
60
+ source_amount
61
+ source_currency
62
+ source_formatted_amount
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ []
69
+ end
70
+
71
+ def initialize(destination_amount = SKIP,
72
+ destination_currency = Currencies::USD,
73
+ destination_formatted_amount = '$0.05 USD', rate = SKIP,
74
+ source_amount = 1.02, source_currency = Currencies::USD,
75
+ source_formatted_amount = '$0.05 USD',
76
+ additional_properties = {})
77
+ # Add additional model properties to the instance.
78
+ additional_properties.each do |_name, _value|
79
+ instance_variable_set("@#{_name}", _value)
80
+ end
81
+
82
+ @destination_amount = destination_amount unless destination_amount == SKIP
83
+ @destination_currency = destination_currency unless destination_currency == SKIP
84
+ unless destination_formatted_amount == SKIP
85
+ @destination_formatted_amount =
86
+ destination_formatted_amount
87
+ end
88
+ @rate = rate unless rate == SKIP
89
+ @source_amount = source_amount unless source_amount == SKIP
90
+ @source_currency = source_currency unless source_currency == SKIP
91
+ @source_formatted_amount = source_formatted_amount unless source_formatted_amount == SKIP
92
+ end
93
+
94
+ # Creates an instance of the object from a hash.
95
+ def self.from_hash(hash)
96
+ return nil unless hash
97
+
98
+ # Extract variables from the hash.
99
+ destination_amount =
100
+ hash.key?('destinationAmount') ? hash['destinationAmount'] : SKIP
101
+ destination_currency = hash['destinationCurrency'] ||= Currencies::USD
102
+ destination_formatted_amount =
103
+ hash['destinationFormattedAmount'] ||= '$0.05 USD'
104
+ rate = hash.key?('rate') ? hash['rate'] : SKIP
105
+ source_amount = hash['sourceAmount'] ||= 1.02
106
+ source_currency = hash['sourceCurrency'] ||= Currencies::USD
107
+ source_formatted_amount = hash['sourceFormattedAmount'] ||= '$0.05 USD'
108
+
109
+ # Clean out expected properties from Hash.
110
+ additional_properties = hash.reject { |k, _| names.value?(k) }
111
+
112
+ # Create object from extracted values.
113
+ FxRate.new(destination_amount,
114
+ destination_currency,
115
+ destination_formatted_amount,
116
+ rate,
117
+ source_amount,
118
+ source_currency,
119
+ source_formatted_amount,
120
+ additional_properties)
121
+ end
122
+
123
+ # Provides a human-readable string representation of the object.
124
+ def to_s
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} destination_amount: #{@destination_amount}, destination_currency:"\
127
+ " #{@destination_currency}, destination_formatted_amount: #{@destination_formatted_amount},"\
128
+ " rate: #{@rate}, source_amount: #{@source_amount}, source_currency: #{@source_currency},"\
129
+ " source_formatted_amount: #{@source_formatted_amount}, additional_properties:"\
130
+ " #{get_additional_properties}>"
131
+ end
132
+
133
+ # Provides a debugging-friendly string with detailed object information.
134
+ def inspect
135
+ class_name = self.class.name.split('::').last
136
+ "<#{class_name} destination_amount: #{@destination_amount.inspect}, destination_currency:"\
137
+ " #{@destination_currency.inspect}, destination_formatted_amount:"\
138
+ " #{@destination_formatted_amount.inspect}, rate: #{@rate.inspect}, source_amount:"\
139
+ " #{@source_amount.inspect}, source_currency: #{@source_currency.inspect},"\
140
+ " source_formatted_amount: #{@source_formatted_amount.inspect}, additional_properties:"\
141
+ " #{get_additional_properties}>"
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,131 @@
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 'date'
7
+ module PayQuickerSdk
8
+ # TODO1
9
+ class GatewayPaymentJob < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # [Transfer](#/rest/models/structures/not-before-or-after) is scheduled and
14
+ # will not process before this time.
15
+ # @return [DateTime]
16
+ attr_accessor :not_before
17
+
18
+ # [Transfer](#/rest/models/structures/not-before-or-after) expires if not
19
+ # completed prior to this time.
20
+ # @return [DateTime]
21
+ attr_accessor :not_after
22
+
23
+ # [Transfer](#/rest/models/structures/not-before-or-after) expires if not
24
+ # completed prior to this time.
25
+ # @return [Array[GatewayPaymentJobQuote]]
26
+ attr_accessor :items
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['not_before'] = 'notBefore'
32
+ @_hash['not_after'] = 'notAfter'
33
+ @_hash['items'] = 'items'
34
+ @_hash
35
+ end
36
+
37
+ # An array for optional fields
38
+ def self.optionals
39
+ %w[
40
+ not_before
41
+ not_after
42
+ items
43
+ ]
44
+ end
45
+
46
+ # An array for nullable fields
47
+ def self.nullables
48
+ []
49
+ end
50
+
51
+ def initialize(not_before = SKIP, not_after = SKIP, items = SKIP,
52
+ additional_properties = {})
53
+ # Add additional model properties to the instance.
54
+ additional_properties.each do |_name, _value|
55
+ instance_variable_set("@#{_name}", _value)
56
+ end
57
+
58
+ @not_before = not_before unless not_before == SKIP
59
+ @not_after = not_after unless not_after == SKIP
60
+ @items = items unless items == SKIP
61
+ end
62
+
63
+ # Creates an instance of the object from a hash.
64
+ def self.from_hash(hash)
65
+ return nil unless hash
66
+
67
+ # Extract variables from the hash.
68
+ not_before = if hash.key?('notBefore')
69
+ (DateTimeHelper.from_rfc3339(hash['notBefore']) if hash['notBefore'])
70
+ else
71
+ SKIP
72
+ end
73
+ not_after = if hash.key?('notAfter')
74
+ (DateTimeHelper.from_rfc3339(hash['notAfter']) if hash['notAfter'])
75
+ else
76
+ SKIP
77
+ end
78
+ # Parameter is an array, so we need to iterate through it
79
+ items = nil
80
+ unless hash['items'].nil?
81
+ items = []
82
+ hash['items'].each do |structure|
83
+ items << (GatewayPaymentJobQuote.from_hash(structure) if structure)
84
+ end
85
+ end
86
+
87
+ items = SKIP unless hash.key?('items')
88
+
89
+ # Clean out expected properties from Hash.
90
+ additional_properties = hash.reject { |k, _| names.value?(k) }
91
+
92
+ # Create object from extracted values.
93
+ GatewayPaymentJob.new(not_before,
94
+ not_after,
95
+ items,
96
+ additional_properties)
97
+ end
98
+
99
+ def to_custom_not_before
100
+ DateTimeHelper.to_rfc3339(not_before)
101
+ end
102
+
103
+ def to_custom_not_after
104
+ DateTimeHelper.to_rfc3339(not_after)
105
+ end
106
+
107
+ # Validates an instance of the object from a given value.
108
+ # @param [GatewayPaymentJob | Hash] The value against the validation is performed.
109
+ def self.validate(value)
110
+ return true if value.instance_of? self
111
+
112
+ return false unless value.instance_of? Hash
113
+
114
+ true
115
+ end
116
+
117
+ # Provides a human-readable string representation of the object.
118
+ def to_s
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} not_before: #{@not_before}, not_after: #{@not_after}, items: #{@items},"\
121
+ " additional_properties: #{get_additional_properties}>"
122
+ end
123
+
124
+ # Provides a debugging-friendly string with detailed object information.
125
+ def inspect
126
+ class_name = self.class.name.split('::').last
127
+ "<#{class_name} not_before: #{@not_before.inspect}, not_after: #{@not_after.inspect},"\
128
+ " items: #{@items.inspect}, additional_properties: #{get_additional_properties}>"
129
+ end
130
+ end
131
+ end