hamza-payments-query-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 (262) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +136 -0
  4. data/lib/payments/api_helper.rb +10 -0
  5. data/lib/payments/client.rb +78 -0
  6. data/lib/payments/configuration.rb +145 -0
  7. data/lib/payments/controllers/base_controller.rb +60 -0
  8. data/lib/payments/controllers/m3_ds_actions_controller.rb +97 -0
  9. data/lib/payments/controllers/manage_payments_controller.rb +272 -0
  10. data/lib/payments/controllers/payment_controller.rb +51 -0
  11. data/lib/payments/controllers/payment_queries_controller.rb +134 -0
  12. data/lib/payments/exceptions/api_exception.rb +21 -0
  13. data/lib/payments/exceptions/error_response_exception.rb +51 -0
  14. data/lib/payments/exceptions/header_error_response_exception.rb +58 -0
  15. data/lib/payments/exceptions/pq_querybydaterange400_response_exception.rb +51 -0
  16. data/lib/payments/exceptions/pq_querybypaymentid404_response_error_exception.rb +51 -0
  17. data/lib/payments/exceptions/pq_queryhistoricalpayments400_response_exception.rb +51 -0
  18. data/lib/payments/exceptions/validation_error_response_exception.rb +58 -0
  19. data/lib/payments/http/auth/basic_auth.rb +50 -0
  20. data/lib/payments/http/http_call_back.rb +10 -0
  21. data/lib/payments/http/http_method_enum.rb +10 -0
  22. data/lib/payments/http/http_request.rb +10 -0
  23. data/lib/payments/http/http_response.rb +10 -0
  24. data/lib/payments/http/proxy_settings.rb +13 -0
  25. data/lib/payments/models/accept_enum.rb +21 -0
  26. data/lib/payments/models/account_history.rb +110 -0
  27. data/lib/payments/models/account_updater_message1_enum.rb +44 -0
  28. data/lib/payments/models/account_updater_message_enum.rb +41 -0
  29. data/lib/payments/models/advice.rb +62 -0
  30. data/lib/payments/models/applepay_payments_instruction.rb +151 -0
  31. data/lib/payments/models/authentication.rb +161 -0
  32. data/lib/payments/models/authorization_action_list.rb +90 -0
  33. data/lib/payments/models/authorization_failed.rb +103 -0
  34. data/lib/payments/models/authorization_refused.rb +124 -0
  35. data/lib/payments/models/authorization_requested.rb +94 -0
  36. data/lib/payments/models/authorization_succeeded.rb +104 -0
  37. data/lib/payments/models/authorization_timed_out.rb +94 -0
  38. data/lib/payments/models/authorization_type1_enum.rb +23 -0
  39. data/lib/payments/models/authorization_type_enum.rb +23 -0
  40. data/lib/payments/models/avs_not_matched_enum.rb +25 -0
  41. data/lib/payments/models/base_model.rb +110 -0
  42. data/lib/payments/models/billing_address.rb +147 -0
  43. data/lib/payments/models/browser_color_depth_enum.rb +41 -0
  44. data/lib/payments/models/cancel_response.rb +71 -0
  45. data/lib/payments/models/cancellation.rb +88 -0
  46. data/lib/payments/models/cancellation_failed.rb +94 -0
  47. data/lib/payments/models/cancellation_request_submitted.rb +94 -0
  48. data/lib/payments/models/cancellation_requested.rb +94 -0
  49. data/lib/payments/models/cancellation_timed_out.rb +94 -0
  50. data/lib/payments/models/card.rb +159 -0
  51. data/lib/payments/models/card1.rb +106 -0
  52. data/lib/payments/models/card3.rb +72 -0
  53. data/lib/payments/models/card_authorized_payment_response.rb +195 -0
  54. data/lib/payments/models/card_payment_instrument.rb +76 -0
  55. data/lib/payments/models/card_payments_instruction.rb +164 -0
  56. data/lib/payments/models/category_enum.rb +23 -0
  57. data/lib/payments/models/challenge.rb +100 -0
  58. data/lib/payments/models/challenge_info.rb +91 -0
  59. data/lib/payments/models/challenge_response201.rb +75 -0
  60. data/lib/payments/models/challenge_response202.rb +62 -0
  61. data/lib/payments/models/challenged_action_list.rb +65 -0
  62. data/lib/payments/models/challenged_response.rb +96 -0
  63. data/lib/payments/models/channel1_enum.rb +27 -0
  64. data/lib/payments/models/channel_enum.rb +24 -0
  65. data/lib/payments/models/conflict_payment_instrument.rb +104 -0
  66. data/lib/payments/models/content_type_enum.rb +20 -0
  67. data/lib/payments/models/custom.rb +241 -0
  68. data/lib/payments/models/customer.rb +146 -0
  69. data/lib/payments/models/customer_agreement.rb +120 -0
  70. data/lib/payments/models/cvc_not_matched_enum.rb +24 -0
  71. data/lib/payments/models/detail_enum.rb +23 -0
  72. data/lib/payments/models/device_data.rb +200 -0
  73. data/lib/payments/models/device_data_collection.rb +79 -0
  74. data/lib/payments/models/device_data_request.rb +71 -0
  75. data/lib/payments/models/device_data_required_action_list.rb +66 -0
  76. data/lib/payments/models/device_data_required_response.rb +89 -0
  77. data/lib/payments/models/device_data_response201.rb +95 -0
  78. data/lib/payments/models/embedded.rb +71 -0
  79. data/lib/payments/models/embedded1.rb +71 -0
  80. data/lib/payments/models/error.rb +81 -0
  81. data/lib/payments/models/exemption.rb +106 -0
  82. data/lib/payments/models/expiry_date.rb +90 -0
  83. data/lib/payments/models/expiry_date1.rb +84 -0
  84. data/lib/payments/models/fraud.rb +73 -0
  85. data/lib/payments/models/fraud_high_risk_response.rb +88 -0
  86. data/lib/payments/models/funding_type_enum.rb +32 -0
  87. data/lib/payments/models/googlepay_payments_instruction.rb +151 -0
  88. data/lib/payments/models/identifier_type_enum.rb +26 -0
  89. data/lib/payments/models/installment_plan.rb +76 -0
  90. data/lib/payments/models/installment_type_enum.rb +26 -0
  91. data/lib/payments/models/issuer.rb +63 -0
  92. data/lib/payments/models/issuer1.rb +76 -0
  93. data/lib/payments/models/issuer_response_enum.rb +23 -0
  94. data/lib/payments/models/last_event_enum.rb +95 -0
  95. data/lib/payments/models/links.rb +123 -0
  96. data/lib/payments/models/links1.rb +70 -0
  97. data/lib/payments/models/links2.rb +60 -0
  98. data/lib/payments/models/links3.rb +97 -0
  99. data/lib/payments/models/merchant.rb +88 -0
  100. data/lib/payments/models/message_enum.rb +34 -0
  101. data/lib/payments/models/method_enum.rb +38 -0
  102. data/lib/payments/models/mnext.rb +62 -0
  103. data/lib/payments/models/mself.rb +62 -0
  104. data/lib/payments/models/name_enum.rb +51 -0
  105. data/lib/payments/models/narrative.rb +86 -0
  106. data/lib/payments/models/narrative1.rb +87 -0
  107. data/lib/payments/models/narrative2.rb +71 -0
  108. data/lib/payments/models/number.rb +85 -0
  109. data/lib/payments/models/number3.rb +62 -0
  110. data/lib/payments/models/outcome16_enum.rb +21 -0
  111. data/lib/payments/models/outcome17_enum.rb +21 -0
  112. data/lib/payments/models/outcome6_enum.rb +42 -0
  113. data/lib/payments/models/outcome7_enum.rb +26 -0
  114. data/lib/payments/models/outcome_enum.rb +50 -0
  115. data/lib/payments/models/partial_refund_action_list.rb +64 -0
  116. data/lib/payments/models/partial_refund_response.rb +81 -0
  117. data/lib/payments/models/partial_settle_action_list.rb +102 -0
  118. data/lib/payments/models/partial_settle_response.rb +81 -0
  119. data/lib/payments/models/payment.rb +192 -0
  120. data/lib/payments/models/payment1.rb +86 -0
  121. data/lib/payments/models/payment_instrument.rb +62 -0
  122. data/lib/payments/models/payment_instrument4.rb +81 -0
  123. data/lib/payments/models/payment_instrument6.rb +71 -0
  124. data/lib/payments/models/payment_instrument7.rb +171 -0
  125. data/lib/payments/models/payment_refused_response.rb +187 -0
  126. data/lib/payments/models/payment_request.rb +96 -0
  127. data/lib/payments/models/payments_action_cancel.rb +71 -0
  128. data/lib/payments/models/payments_action_complete3ds_challenge.rb +72 -0
  129. data/lib/payments/models/payments_action_partial_refund.rb +71 -0
  130. data/lib/payments/models/payments_action_partial_settle.rb +73 -0
  131. data/lib/payments/models/payments_action_refund.rb +71 -0
  132. data/lib/payments/models/payments_action_settle.rb +71 -0
  133. data/lib/payments/models/payments_action_supply3ds_device_data.rb +73 -0
  134. data/lib/payments/models/payments_bank_account.rb +119 -0
  135. data/lib/payments/models/payments_cancel.rb +72 -0
  136. data/lib/payments/models/payments_card_account.rb +69 -0
  137. data/lib/payments/models/payments_card_on_file_customer_agreement.rb +85 -0
  138. data/lib/payments/models/payments_card_plain_payment_instrument.rb +149 -0
  139. data/lib/payments/models/payments_customer_agreement.rb +79 -0
  140. data/lib/payments/models/payments_email_account.rb +69 -0
  141. data/lib/payments/models/payments_events.rb +72 -0
  142. data/lib/payments/models/payments_exemption.rb +102 -0
  143. data/lib/payments/models/payments_fraud.rb +107 -0
  144. data/lib/payments/models/payments_funds_recipient.rb +139 -0
  145. data/lib/payments/models/payments_funds_sender.rb +120 -0
  146. data/lib/payments/models/payments_funds_transfer.rb +108 -0
  147. data/lib/payments/models/payments_gift_cards_purchase.rb +81 -0
  148. data/lib/payments/models/payments_installment_customer_agreement.rb +133 -0
  149. data/lib/payments/models/payments_instruction.rb +309 -0
  150. data/lib/payments/models/payments_link.rb +62 -0
  151. data/lib/payments/models/payments_network_token_payment_instrument.rb +126 -0
  152. data/lib/payments/models/payments_partial_refund_request.rb +68 -0
  153. data/lib/payments/models/payments_partial_settle.rb +72 -0
  154. data/lib/payments/models/payments_partial_settle_request.rb +81 -0
  155. data/lib/payments/models/payments_payment_facilitator.rb +88 -0
  156. data/lib/payments/models/payments_payment_instrument.rb +78 -0
  157. data/lib/payments/models/payments_phone_account.rb +69 -0
  158. data/lib/payments/models/payments_recipient.rb +110 -0
  159. data/lib/payments/models/payments_recipient_account.rb +81 -0
  160. data/lib/payments/models/payments_recipient_address.rb +72 -0
  161. data/lib/payments/models/payments_response.rb +69 -0
  162. data/lib/payments/models/payments_response202.rb +90 -0
  163. data/lib/payments/models/payments_response_payment_instrument.rb +158 -0
  164. data/lib/payments/models/payments_sequence.rb +69 -0
  165. data/lib/payments/models/payments_settle.rb +72 -0
  166. data/lib/payments/models/payments_shipping_address.rb +148 -0
  167. data/lib/payments/models/payments_social_network_account.rb +71 -0
  168. data/lib/payments/models/payments_sub_merchant.rb +108 -0
  169. data/lib/payments/models/payments_sub_merchant_address.rb +99 -0
  170. data/lib/payments/models/payments_subscription_customer_agreement.rb +106 -0
  171. data/lib/payments/models/payments_three_ds.rb +217 -0
  172. data/lib/payments/models/payments_transfer_address.rb +112 -0
  173. data/lib/payments/models/payments_unscheduled_customer_agreement.rb +87 -0
  174. data/lib/payments/models/payments_wallet_account.rb +70 -0
  175. data/lib/payments/models/placement_enum.rb +21 -0
  176. data/lib/payments/models/pq_querybydaterange200_response.rb +68 -0
  177. data/lib/payments/models/pq_querybypaymentid200_response.rb +230 -0
  178. data/lib/payments/models/pq_queryhistoricalpayments200_response.rb +72 -0
  179. data/lib/payments/models/preference_enum.rb +29 -0
  180. data/lib/payments/models/preferred_card_brand_enum.rb +51 -0
  181. data/lib/payments/models/purpose_enum.rb +78 -0
  182. data/lib/payments/models/query_action_list.rb +114 -0
  183. data/lib/payments/models/query_events_response.rb +71 -0
  184. data/lib/payments/models/reason_enum.rb +50 -0
  185. data/lib/payments/models/refund_failed.rb +94 -0
  186. data/lib/payments/models/refund_request_submitted.rb +94 -0
  187. data/lib/payments/models/refund_requested.rb +124 -0
  188. data/lib/payments/models/refund_response.rb +71 -0
  189. data/lib/payments/models/refund_timed_out.rb +94 -0
  190. data/lib/payments/models/result_enum.rb +29 -0
  191. data/lib/payments/models/reversal_failed.rb +94 -0
  192. data/lib/payments/models/reversal_request_submitted.rb +94 -0
  193. data/lib/payments/models/reversal_requested.rb +103 -0
  194. data/lib/payments/models/reversal_timed_out.rb +94 -0
  195. data/lib/payments/models/risk_enum.rb +29 -0
  196. data/lib/payments/models/risk_factor.rb +82 -0
  197. data/lib/payments/models/routing.rb +74 -0
  198. data/lib/payments/models/sale_failed.rb +103 -0
  199. data/lib/payments/models/sale_refused.rb +124 -0
  200. data/lib/payments/models/sale_requested.rb +94 -0
  201. data/lib/payments/models/sale_succeeded.rb +104 -0
  202. data/lib/payments/models/sale_timed_out.rb +94 -0
  203. data/lib/payments/models/scheme.rb +75 -0
  204. data/lib/payments/models/self1.rb +72 -0
  205. data/lib/payments/models/self2.rb +62 -0
  206. data/lib/payments/models/self3.rb +62 -0
  207. data/lib/payments/models/sent_for_cancellation_response.rb +185 -0
  208. data/lib/payments/models/sent_for_settlement_action_list.rb +76 -0
  209. data/lib/payments/models/sent_for_settlement_response.rb +195 -0
  210. data/lib/payments/models/session_payment_instrument.rb +119 -0
  211. data/lib/payments/models/settle_action_list.rb +76 -0
  212. data/lib/payments/models/settle_response.rb +81 -0
  213. data/lib/payments/models/settlement.rb +88 -0
  214. data/lib/payments/models/settlement_failed.rb +94 -0
  215. data/lib/payments/models/settlement_request_submitted.rb +94 -0
  216. data/lib/payments/models/settlement_requested.rb +125 -0
  217. data/lib/payments/models/settlement_timed_out.rb +94 -0
  218. data/lib/payments/models/shipping.rb +130 -0
  219. data/lib/payments/models/stored_card_usage1_enum.rb +24 -0
  220. data/lib/payments/models/stored_card_usage_enum.rb +24 -0
  221. data/lib/payments/models/time_frame_enum.rb +29 -0
  222. data/lib/payments/models/token.rb +168 -0
  223. data/lib/payments/models/token_creation.rb +95 -0
  224. data/lib/payments/models/token_payment_instrument.rb +118 -0
  225. data/lib/payments/models/token_response_conflicts.rb +90 -0
  226. data/lib/payments/models/transaction_history.rb +127 -0
  227. data/lib/payments/models/transaction_type1_enum.rb +26 -0
  228. data/lib/payments/models/transaction_type_enum.rb +26 -0
  229. data/lib/payments/models/type10_enum.rb +23 -0
  230. data/lib/payments/models/type12_enum.rb +35 -0
  231. data/lib/payments/models/type1_enum.rb +26 -0
  232. data/lib/payments/models/type2_enum.rb +23 -0
  233. data/lib/payments/models/type3_enum.rb +20 -0
  234. data/lib/payments/models/type4_enum.rb +20 -0
  235. data/lib/payments/models/type5_enum.rb +41 -0
  236. data/lib/payments/models/type6_enum.rb +29 -0
  237. data/lib/payments/models/type7_enum.rb +23 -0
  238. data/lib/payments/models/type8_enum.rb +23 -0
  239. data/lib/payments/models/type9_enum.rb +35 -0
  240. data/lib/payments/models/type_enum.rb +23 -0
  241. data/lib/payments/models/unsuccessful_authentication_response.rb +76 -0
  242. data/lib/payments/models/updated_payment_instrument.rb +159 -0
  243. data/lib/payments/models/updated_payment_instrument1.rb +93 -0
  244. data/lib/payments/models/user_type_enum.rb +35 -0
  245. data/lib/payments/models/value.rb +94 -0
  246. data/lib/payments/models/value1.rb +91 -0
  247. data/lib/payments/models/value2.rb +91 -0
  248. data/lib/payments/models/value3.rb +91 -0
  249. data/lib/payments/models/value4.rb +91 -0
  250. data/lib/payments/models/verification.rb +173 -0
  251. data/lib/payments/models/wallet_payment_instrument.rb +100 -0
  252. data/lib/payments/models/window_size_enum.rb +34 -0
  253. data/lib/payments/models/wp_api_version_enum.rb +20 -0
  254. data/lib/payments/utilities/date_time_helper.rb +11 -0
  255. data/lib/payments/utilities/file_wrapper.rb +28 -0
  256. data/lib/payments/utilities/union_type_lookup.rb +78 -0
  257. data/lib/payments.rb +280 -0
  258. data/test/controllers/controller_test_base.rb +29 -0
  259. data/test/controllers/test_payment_controller.rb +161 -0
  260. data/test/controllers/test_payment_queries_controller.rb +68 -0
  261. data/test/http_response_catcher.rb +19 -0
  262. metadata +374 -0
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # pq_querybypaymentid_404_response_Error class.
8
+ class PqQuerybypaymentid404ResponseErrorException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The constructor.
21
+ # @param [String] reason The reason for raising an exception.
22
+ # @param [HttpResponse] response The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] hash The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ return nil unless hash
34
+
35
+ @error_name = hash.key?('errorName') ? hash['errorName'] : SKIP
36
+ @message = hash.key?('message') ? hash['message'] : SKIP
37
+ end
38
+
39
+ # Provides a human-readable string representation of the object.
40
+ def to_s
41
+ class_name = self.class.name.split('::').last
42
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}>"
43
+ end
44
+
45
+ # Provides a debugging-friendly string with detailed object information.
46
+ def inspect
47
+ class_name = self.class.name.split('::').last
48
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect}>"
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # pq_queryhistoricalpayments_400_response class.
8
+ class PqQueryhistoricalpayments400ResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of error.
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # A description of the error
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The constructor.
21
+ # @param [String] reason The reason for raising an exception.
22
+ # @param [HttpResponse] response The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] hash The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ return nil unless hash
34
+
35
+ @error_name = hash.key?('errorName') ? hash['errorName'] : nil
36
+ @message = hash.key?('message') ? hash['message'] : nil
37
+ end
38
+
39
+ # Provides a human-readable string representation of the object.
40
+ def to_s
41
+ class_name = self.class.name.split('::').last
42
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}>"
43
+ end
44
+
45
+ # Provides a debugging-friendly string with detailed object information.
46
+ def inspect
47
+ class_name = self.class.name.split('::').last
48
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect}>"
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,58 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ValidationErrorResponse class.
8
+ class ValidationErrorResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :json_path
23
+
24
+ # The constructor.
25
+ # @param [String] reason The reason for raising an exception.
26
+ # @param [HttpResponse] response The HttpReponse of the API call.
27
+ def initialize(reason, response)
28
+ super(reason, response)
29
+ hash = APIHelper.json_deserialize(@response.raw_body)
30
+ unbox(hash)
31
+ end
32
+
33
+ # Populates this object by extracting properties from a hash.
34
+ # @param [Hash] hash The deserialized response sent by the server in the
35
+ # response body.
36
+ def unbox(hash)
37
+ return nil unless hash
38
+
39
+ @error_name = hash.key?('errorName') ? hash['errorName'] : SKIP
40
+ @message = hash.key?('message') ? hash['message'] : SKIP
41
+ @json_path = hash.key?('jsonPath') ? hash['jsonPath'] : SKIP
42
+ end
43
+
44
+ # Provides a human-readable string representation of the object.
45
+ def to_s
46
+ class_name = self.class.name.split('::').last
47
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}, json_path:"\
48
+ " #{@json_path}>"
49
+ end
50
+
51
+ # Provides a debugging-friendly string with detailed object information.
52
+ def inspect
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect},"\
55
+ " json_path: #{@json_path.inspect}>"
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,50 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Utility class for basic authorization.
8
+ class BasicAuth < CoreLibrary::HeaderAuth
9
+ include CoreLibrary
10
+ # Display error message on occurrence of authentication failure.
11
+ # @returns [String] The oAuth error message.
12
+ def error_message
13
+ 'BasicAuth: basic_auth_user_name or basic_auth_password is undefined.'
14
+ end
15
+
16
+ # Initialization constructor.
17
+ def initialize(basic_auth_credentials)
18
+ auth_params = {}
19
+ unless basic_auth_credentials.nil? ||
20
+ basic_auth_credentials.username.nil? ||
21
+ basic_auth_credentials.password.nil?
22
+ auth_params['Authorization'] =
23
+ "Basic #{AuthHelper.get_base64_encoded_value(basic_auth_credentials.username,
24
+ basic_auth_credentials.password)}"
25
+ end
26
+
27
+ super auth_params
28
+ end
29
+ end
30
+
31
+ # Data class for BasicAuthCredentials.
32
+ class BasicAuthCredentials
33
+ attr_reader :username, :password
34
+
35
+ def initialize(username:, password:)
36
+ raise ArgumentError, 'username cannot be nil' if username.nil?
37
+ raise ArgumentError, 'password cannot be nil' if password.nil?
38
+
39
+ @username = username
40
+ @password = password
41
+ end
42
+
43
+ def clone_with(username: nil, password: nil)
44
+ username ||= self.username
45
+ password ||= self.password
46
+
47
+ BasicAuthCredentials.new(username: username, password: password)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,10 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # HttpCallBack allows defining callables for pre and post API calls.
8
+ class HttpCallBack < CoreLibrary::HttpCallback
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # HTTP Methods Enumeration.
8
+ class HttpMethodEnum < CoreLibrary::HttpMethod
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Represents a single Http Request.
8
+ class HttpRequest < CoreLibrary::HttpRequest
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Http response received.
8
+ class HttpResponse < CoreLibrary::HttpResponse
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ ##
8
+ # ProxySettings encapsulates HTTP proxy configuration for Faraday,
9
+ # including optional basic authentication.
10
+ #
11
+ class ProxySettings < CoreLibrary::ProxySettings
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Accept.
8
+ class AcceptEnum
9
+ ACCEPT_ENUM = [
10
+ # TODO: Write general description for
11
+ # ENUM_APPLICATIONVNDWORLDPAYPAYMENTQUERIESV1HALJSON
12
+ ENUM_APPLICATIONVNDWORLDPAYPAYMENTQUERIESV1HALJSON = 'application/vnd.worldpay.payment-queries-v1.hal+json'.freeze
13
+ ].freeze
14
+
15
+ def self.validate(value)
16
+ return false if value.nil?
17
+
18
+ ACCEPT_ENUM.include?(value)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,110 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Customer account history.
8
+ class AccountHistory < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Date the customer account was created.
13
+ # @return [String]
14
+ attr_accessor :created_at
15
+
16
+ # Date the customer account was last modified.
17
+ # @return [String]
18
+ attr_accessor :modified_at
19
+
20
+ # Date the password for the customer account was last modified.
21
+ # @return [String]
22
+ attr_accessor :password_modified_at
23
+
24
+ # Date the payment account was added to the cardholder account.
25
+ # @return [String]
26
+ attr_accessor :payment_account_enrolled_at
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['created_at'] = 'createdAt'
32
+ @_hash['modified_at'] = 'modifiedAt'
33
+ @_hash['password_modified_at'] = 'passwordModifiedAt'
34
+ @_hash['payment_account_enrolled_at'] = 'paymentAccountEnrolledAt'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ created_at
42
+ modified_at
43
+ password_modified_at
44
+ payment_account_enrolled_at
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(created_at = SKIP, modified_at = SKIP,
54
+ password_modified_at = SKIP,
55
+ payment_account_enrolled_at = SKIP)
56
+ @created_at = created_at unless created_at == SKIP
57
+ @modified_at = modified_at unless modified_at == SKIP
58
+ @password_modified_at = password_modified_at unless password_modified_at == SKIP
59
+ unless payment_account_enrolled_at == SKIP
60
+ @payment_account_enrolled_at =
61
+ payment_account_enrolled_at
62
+ end
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ created_at = hash.key?('createdAt') ? hash['createdAt'] : SKIP
71
+ modified_at = hash.key?('modifiedAt') ? hash['modifiedAt'] : SKIP
72
+ password_modified_at =
73
+ hash.key?('passwordModifiedAt') ? hash['passwordModifiedAt'] : SKIP
74
+ payment_account_enrolled_at =
75
+ hash.key?('paymentAccountEnrolledAt') ? hash['paymentAccountEnrolledAt'] : SKIP
76
+
77
+ # Create object from extracted values.
78
+ AccountHistory.new(created_at,
79
+ modified_at,
80
+ password_modified_at,
81
+ payment_account_enrolled_at)
82
+ end
83
+
84
+ # Validates an instance of the object from a given value.
85
+ # @param [AccountHistory | Hash] The value against the validation is performed.
86
+ def self.validate(value)
87
+ return true if value.instance_of? self
88
+
89
+ return false unless value.instance_of? Hash
90
+
91
+ true
92
+ end
93
+
94
+ # Provides a human-readable string representation of the object.
95
+ def to_s
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} created_at: #{@created_at}, modified_at: #{@modified_at},"\
98
+ " password_modified_at: #{@password_modified_at}, payment_account_enrolled_at:"\
99
+ " #{@payment_account_enrolled_at}>"
100
+ end
101
+
102
+ # Provides a debugging-friendly string with detailed object information.
103
+ def inspect
104
+ class_name = self.class.name.split('::').last
105
+ "<#{class_name} created_at: #{@created_at.inspect}, modified_at: #{@modified_at.inspect},"\
106
+ " password_modified_at: #{@password_modified_at.inspect}, payment_account_enrolled_at:"\
107
+ " #{@payment_account_enrolled_at.inspect}>"
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,44 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Details on the type of payment instrument update.
8
+ class AccountUpdaterMessage1Enum
9
+ ACCOUNT_UPDATER_MESSAGE1_ENUM = [
10
+ # TODO: Write general description for
11
+ # ENUM_THE_MERCHANT_IS_NOT_REGISTERED_IN_THE_UPDATE_PROGRAM
12
+ ENUM_THE_MERCHANT_IS_NOT_REGISTERED_IN_THE_UPDATE_PROGRAM = 'The merchant is not registered in the update program'.freeze,
13
+
14
+ # TODO: Write general description for ENUM_THE_ACCOUNT_NUMBER_WAS_CHANGED
15
+ ENUM_THE_ACCOUNT_NUMBER_WAS_CHANGED = 'The account number was changed'.freeze,
16
+
17
+ # TODO: Write general description for ENUM_THE_ACCOUNT_WAS_CLOSED
18
+ ENUM_THE_ACCOUNT_WAS_CLOSED = 'The account was closed'.freeze,
19
+
20
+ # TODO: Write general description for ENUM_THE_EXPIRY_WAS_CHANGED
21
+ ENUM_THE_EXPIRY_WAS_CHANGED = 'The expiry was changed'.freeze,
22
+
23
+ # TODO: Write general description for
24
+ # ENUM_THE_ISSUING_BANK_DOES_NOT_PARTICIPATE_IN_THE_UPDATE_PROGRAM
25
+ ENUM_THE_ISSUING_BANK_DOES_NOT_PARTICIPATE_IN_THE_UPDATE_PROGRAM = 'The issuing bank does not participate in the update program'.freeze,
26
+
27
+ # TODO: Write general description for
28
+ # ENUM_CONTACT_THE_CARDHOLDER_FOR_UPDATED_INFORMATION
29
+ ENUM_CONTACT_THE_CARDHOLDER_FOR_UPDATED_INFORMATION = 'Contact the cardholder for updated information'.freeze,
30
+
31
+ # TODO: Write general description for ENUM_NO_MATCH_FOUND
32
+ ENUM_NO_MATCH_FOUND = 'No match found'.freeze,
33
+
34
+ # TODO: Write general description for ENUM_NO_CHANGES_FOUND
35
+ ENUM_NO_CHANGES_FOUND = 'No changes found'.freeze
36
+ ].freeze
37
+
38
+ def self.validate(value)
39
+ return false if value.nil?
40
+
41
+ ACCOUNT_UPDATER_MESSAGE1_ENUM.include?(value)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,41 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Details on the type of payment instrument update.
8
+ class AccountUpdaterMessageEnum
9
+ ACCOUNT_UPDATER_MESSAGE_ENUM = [
10
+ # TODO: Write general description for
11
+ # ENUM_THE_MERCHANT_IS_NOT_REGISTERED_IN_THE_UPDATE_PROGRAM
12
+ ENUM_THE_MERCHANT_IS_NOT_REGISTERED_IN_THE_UPDATE_PROGRAM = 'The merchant is not registered in the update program'.freeze,
13
+
14
+ # TODO: Write general description for ENUM_THE_ACCOUNT_NUMBER_WAS_CHANGED
15
+ ENUM_THE_ACCOUNT_NUMBER_WAS_CHANGED = 'The account number was changed'.freeze,
16
+
17
+ # TODO: Write general description for ENUM_THE_ACCOUNT_WAS_CLOSED
18
+ ENUM_THE_ACCOUNT_WAS_CLOSED = 'The account was closed'.freeze,
19
+
20
+ # TODO: Write general description for ENUM_THE_EXPIRY_WAS_CHANGED
21
+ ENUM_THE_EXPIRY_WAS_CHANGED = 'The expiry was changed'.freeze,
22
+
23
+ # TODO: Write general description for
24
+ # ENUM_THE_ISSUING_BANK_DOES_NOT_PARTICIPATE_IN_THE_UPDATE_PROGRAM
25
+ ENUM_THE_ISSUING_BANK_DOES_NOT_PARTICIPATE_IN_THE_UPDATE_PROGRAM = 'The issuing bank does not participate in the update program'.freeze,
26
+
27
+ # TODO: Write general description for
28
+ # ENUM_CONTACT_THE_CARDHOLDER_FOR_UPDATED_INFORMATION
29
+ ENUM_CONTACT_THE_CARDHOLDER_FOR_UPDATED_INFORMATION = 'Contact the cardholder for updated information'.freeze,
30
+
31
+ # TODO: Write general description for ENUM_NO_MATCH_FOUND
32
+ ENUM_NO_MATCH_FOUND = 'No match found'.freeze
33
+ ].freeze
34
+
35
+ def self.validate(value)
36
+ return false if value.nil?
37
+
38
+ ACCOUNT_UPDATER_MESSAGE_ENUM.include?(value)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,62 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Contains suggested next actions for this request.
8
+ class Advice < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['code'] = 'code'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ code
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(code = SKIP)
36
+ @code = code unless code == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ code = hash.key?('code') ? hash['code'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ Advice.new(code)
48
+ end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} code: #{@code}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} code: #{@code.inspect}>"
60
+ end
61
+ end
62
+ end