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,76 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettleActionList Model.
8
+ class SettleActionList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Fully refund the payment. See [details](../payments-lifecycle/refund)
13
+ # @return [PaymentsActionRefund]
14
+ attr_accessor :refund_payment
15
+
16
+ # Partially refund the payment.
17
+ # @return [PaymentsActionPartialRefund]
18
+ attr_accessor :partially_refund_payment
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['refund_payment'] = 'refundPayment'
24
+ @_hash['partially_refund_payment'] = 'partiallyRefundPayment'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ refund_payment
32
+ partially_refund_payment
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(refund_payment = SKIP, partially_refund_payment = SKIP)
42
+ @refund_payment = refund_payment unless refund_payment == SKIP
43
+ @partially_refund_payment = partially_refund_payment unless partially_refund_payment == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ refund_payment = PaymentsActionRefund.from_hash(hash['refundPayment']) if
52
+ hash['refundPayment']
53
+ if hash['partiallyRefundPayment']
54
+ partially_refund_payment = PaymentsActionPartialRefund.from_hash(hash['partiallyRefundPayment'])
55
+ end
56
+
57
+ # Create object from extracted values.
58
+ SettleActionList.new(refund_payment,
59
+ partially_refund_payment)
60
+ end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} refund_payment: #{@refund_payment}, partially_refund_payment:"\
66
+ " #{@partially_refund_payment}>"
67
+ end
68
+
69
+ # Provides a debugging-friendly string with detailed object information.
70
+ def inspect
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} refund_payment: #{@refund_payment.inspect}, partially_refund_payment:"\
73
+ " #{@partially_refund_payment.inspect}>"
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,81 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettleResponse Model.
8
+ class SettleResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [OutcomeEnum]
14
+ attr_accessor :outcome
15
+
16
+ # Return details about the status of the payment
17
+ # @return [PaymentsLink]
18
+ attr_accessor :links
19
+
20
+ # Return details about the status of the payment
21
+ # @return [SettleActionList]
22
+ attr_accessor :actions
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['outcome'] = 'outcome'
28
+ @_hash['links'] = '_links'
29
+ @_hash['actions'] = '_actions'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ outcome
37
+ links
38
+ actions
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(outcome = SKIP, links = SKIP, actions = SKIP)
48
+ @outcome = outcome unless outcome == SKIP
49
+ @links = links unless links == SKIP
50
+ @actions = actions unless actions == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
59
+ links = PaymentsLink.from_hash(hash['_links']) if hash['_links']
60
+ actions = SettleActionList.from_hash(hash['_actions']) if hash['_actions']
61
+
62
+ # Create object from extracted values.
63
+ SettleResponse.new(outcome,
64
+ links,
65
+ actions)
66
+ end
67
+
68
+ # Provides a human-readable string representation of the object.
69
+ def to_s
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} outcome: #{@outcome}, links: #{@links}, actions: #{@actions}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} outcome: #{@outcome.inspect}, links: #{@links.inspect}, actions:"\
78
+ " #{@actions.inspect}>"
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,88 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Automatically settle a payment following authorization. If any of the
8
+ # AVS/CVC response riskFactors are marked as `notMatched` the payment will be
9
+ # `sentForCancellation` automatically. Read more on how to set it up under our
10
+ # [__Auto Settlement__](/products/payments/enable-features/auto-settlement)
11
+ # guide.
12
+ class Settlement < BaseModel
13
+ SKIP = Object.new
14
+ private_constant :SKIP
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :auto
19
+
20
+ # Configuration for when a payment is `sentForCancellation` automatically.
21
+ # @return [Cancellation]
22
+ attr_accessor :cancel_on
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['auto'] = 'auto'
28
+ @_hash['cancel_on'] = 'cancelOn'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ %w[
35
+ cancel_on
36
+ ]
37
+ end
38
+
39
+ # An array for nullable fields
40
+ def self.nullables
41
+ []
42
+ end
43
+
44
+ def initialize(auto = nil, cancel_on = SKIP)
45
+ @auto = auto
46
+ @cancel_on = cancel_on unless cancel_on == SKIP
47
+ end
48
+
49
+ # Creates an instance of the object from a hash.
50
+ def self.from_hash(hash)
51
+ return nil unless hash
52
+
53
+ # Extract variables from the hash.
54
+ auto = hash.key?('auto') ? hash['auto'] : nil
55
+ cancel_on = Cancellation.from_hash(hash['cancelOn']) if hash['cancelOn']
56
+
57
+ # Create object from extracted values.
58
+ Settlement.new(auto,
59
+ cancel_on)
60
+ end
61
+
62
+ # Validates an instance of the object from a given value.
63
+ # @param [Settlement | Hash] The value against the validation is performed.
64
+ def self.validate(value)
65
+ if value.instance_of? self
66
+ return APIHelper.valid_type?(value.auto,
67
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
68
+ end
69
+
70
+ return false unless value.instance_of? Hash
71
+
72
+ APIHelper.valid_type?(value['auto'],
73
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
74
+ end
75
+
76
+ # Provides a human-readable string representation of the object.
77
+ def to_s
78
+ class_name = self.class.name.split('::').last
79
+ "<#{class_name} auto: #{@auto}, cancel_on: #{@cancel_on}>"
80
+ end
81
+
82
+ # Provides a debugging-friendly string with detailed object information.
83
+ def inspect
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} auto: #{@auto.inspect}, cancel_on: #{@cancel_on.inspect}>"
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,94 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettlementFailed Model.
8
+ class SettlementFailed < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your settlement request failed.
13
+ # @return [String]
14
+ attr_reader :event_name
15
+
16
+ # The ISO 8601 date-time at which the event was created.
17
+ # @return [String]
18
+ attr_accessor :timestamp
19
+
20
+ # Unique identifier generated by us for a single instance of an interaction
21
+ # (command) with the Worldpay API.
22
+ # @return [String]
23
+ attr_accessor :command_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['event_name'] = 'eventName'
29
+ @_hash['timestamp'] = 'timestamp'
30
+ @_hash['command_id'] = 'commandId'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ timestamp
38
+ command_id
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(timestamp = SKIP, command_id = SKIP)
48
+ @event_name = 'settlementFailed'
49
+ @timestamp = timestamp unless timestamp == SKIP
50
+ @command_id = command_id unless command_id == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
59
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
60
+
61
+ # Create object from extracted values.
62
+ SettlementFailed.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [SettlementFailed | Hash] The value against the validation is performed.
68
+ def self.validate(value)
69
+ if value.instance_of? self
70
+ return APIHelper.valid_type?(value.event_name,
71
+ ->(val) { val.instance_of? String })
72
+ end
73
+
74
+ return false unless value.instance_of? Hash
75
+
76
+ APIHelper.valid_type?(value['eventName'],
77
+ ->(val) { val.instance_of? String })
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, command_id:"\
84
+ " #{@command_id}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect},"\
91
+ " command_id: #{@command_id.inspect}>"
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,94 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettlementRequestSubmitted Model.
8
+ class SettlementRequestSubmitted < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your settlement request was successfully sent for processing.
13
+ # @return [String]
14
+ attr_reader :event_name
15
+
16
+ # The ISO 8601 date-time at which the event was created.
17
+ # @return [String]
18
+ attr_accessor :timestamp
19
+
20
+ # Unique identifier generated by us for a single instance of an interaction
21
+ # (command) with the Worldpay API.
22
+ # @return [String]
23
+ attr_accessor :command_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['event_name'] = 'eventName'
29
+ @_hash['timestamp'] = 'timestamp'
30
+ @_hash['command_id'] = 'commandId'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ timestamp
38
+ command_id
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(timestamp = SKIP, command_id = SKIP)
48
+ @event_name = 'settlementRequestSubmitted'
49
+ @timestamp = timestamp unless timestamp == SKIP
50
+ @command_id = command_id unless command_id == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
59
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
60
+
61
+ # Create object from extracted values.
62
+ SettlementRequestSubmitted.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [SettlementRequestSubmitted | Hash] The value against the validation is performed.
68
+ def self.validate(value)
69
+ if value.instance_of? self
70
+ return APIHelper.valid_type?(value.event_name,
71
+ ->(val) { val.instance_of? String })
72
+ end
73
+
74
+ return false unless value.instance_of? Hash
75
+
76
+ APIHelper.valid_type?(value['eventName'],
77
+ ->(val) { val.instance_of? String })
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, command_id:"\
84
+ " #{@command_id}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect},"\
91
+ " command_id: #{@command_id.inspect}>"
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,125 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettlementRequested Model.
8
+ class SettlementRequested < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Worldpay has received your settlement request.
13
+ # @return [String]
14
+ attr_reader :event_name
15
+
16
+ # The ISO 8601 date-time at which the event was created.
17
+ # @return [String]
18
+ attr_accessor :timestamp
19
+
20
+ # The ISO 8601 date-time at which the event was created.
21
+ # @return [Type7Enum]
22
+ attr_accessor :type
23
+
24
+ # Your settlement reference
25
+ # @return [String]
26
+ attr_accessor :settlement_reference
27
+
28
+ # An object that contains the amount and currency requested for settlement.
29
+ # @return [Value1]
30
+ attr_accessor :value
31
+
32
+ # Unique identifier generated by us for a single instance of an interaction
33
+ # (command) with the Worldpay API.
34
+ # @return [String]
35
+ attr_accessor :command_id
36
+
37
+ # A mapping from model property names to API property names.
38
+ def self.names
39
+ @_hash = {} if @_hash.nil?
40
+ @_hash['event_name'] = 'eventName'
41
+ @_hash['timestamp'] = 'timestamp'
42
+ @_hash['type'] = 'type'
43
+ @_hash['settlement_reference'] = 'settlementReference'
44
+ @_hash['value'] = 'value'
45
+ @_hash['command_id'] = 'commandId'
46
+ @_hash
47
+ end
48
+
49
+ # An array for optional fields
50
+ def self.optionals
51
+ %w[
52
+ timestamp
53
+ type
54
+ settlement_reference
55
+ value
56
+ command_id
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(timestamp = SKIP, type = SKIP, settlement_reference = SKIP,
66
+ value = SKIP, command_id = SKIP)
67
+ @event_name = 'settlementRequested'
68
+ @timestamp = timestamp unless timestamp == SKIP
69
+ @type = type unless type == SKIP
70
+ @settlement_reference = settlement_reference unless settlement_reference == SKIP
71
+ @value = value unless value == SKIP
72
+ @command_id = command_id unless command_id == SKIP
73
+ end
74
+
75
+ # Creates an instance of the object from a hash.
76
+ def self.from_hash(hash)
77
+ return nil unless hash
78
+
79
+ # Extract variables from the hash.
80
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
81
+ type = hash.key?('type') ? hash['type'] : SKIP
82
+ settlement_reference =
83
+ hash.key?('settlementReference') ? hash['settlementReference'] : SKIP
84
+ value = Value1.from_hash(hash['value']) if hash['value']
85
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
86
+
87
+ # Create object from extracted values.
88
+ SettlementRequested.new(timestamp,
89
+ type,
90
+ settlement_reference,
91
+ value,
92
+ command_id)
93
+ end
94
+
95
+ # Validates an instance of the object from a given value.
96
+ # @param [SettlementRequested | Hash] The value against the validation is performed.
97
+ def self.validate(value)
98
+ if value.instance_of? self
99
+ return APIHelper.valid_type?(value.event_name,
100
+ ->(val) { val.instance_of? String })
101
+ end
102
+
103
+ return false unless value.instance_of? Hash
104
+
105
+ APIHelper.valid_type?(value['eventName'],
106
+ ->(val) { val.instance_of? String })
107
+ end
108
+
109
+ # Provides a human-readable string representation of the object.
110
+ def to_s
111
+ class_name = self.class.name.split('::').last
112
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, type: #{@type},"\
113
+ " settlement_reference: #{@settlement_reference}, value: #{@value}, command_id:"\
114
+ " #{@command_id}>"
115
+ end
116
+
117
+ # Provides a debugging-friendly string with detailed object information.
118
+ def inspect
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect}, type:"\
121
+ " #{@type.inspect}, settlement_reference: #{@settlement_reference.inspect}, value:"\
122
+ " #{@value.inspect}, command_id: #{@command_id.inspect}>"
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,94 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SettlementTimedOut Model.
8
+ class SettlementTimedOut < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your settlement request timed out.
13
+ # @return [String]
14
+ attr_reader :event_name
15
+
16
+ # The ISO 8601 date-time at which the event was created.
17
+ # @return [String]
18
+ attr_accessor :timestamp
19
+
20
+ # Unique identifier generated by us for a single instance of an interaction
21
+ # (command) with the Worldpay API.
22
+ # @return [String]
23
+ attr_accessor :command_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['event_name'] = 'eventName'
29
+ @_hash['timestamp'] = 'timestamp'
30
+ @_hash['command_id'] = 'commandId'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ timestamp
38
+ command_id
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(timestamp = SKIP, command_id = SKIP)
48
+ @event_name = 'settlementTimedOut'
49
+ @timestamp = timestamp unless timestamp == SKIP
50
+ @command_id = command_id unless command_id == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
59
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
60
+
61
+ # Create object from extracted values.
62
+ SettlementTimedOut.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [SettlementTimedOut | Hash] The value against the validation is performed.
68
+ def self.validate(value)
69
+ if value.instance_of? self
70
+ return APIHelper.valid_type?(value.event_name,
71
+ ->(val) { val.instance_of? String })
72
+ end
73
+
74
+ return false unless value.instance_of? Hash
75
+
76
+ APIHelper.valid_type?(value['eventName'],
77
+ ->(val) { val.instance_of? String })
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, command_id:"\
84
+ " #{@command_id}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect},"\
91
+ " command_id: #{@command_id.inspect}>"
92
+ end
93
+ end
94
+ end