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,78 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Specifies the purpose of the funds transfer. Required for some regions and
8
+ # use cases (eg crypto).
9
+ class PurposeEnum
10
+ PURPOSE_ENUM = [
11
+ # TODO: Write general description for BUSINESSTOBUSINESS
12
+ BUSINESSTOBUSINESS = 'businessToBusiness'.freeze,
13
+
14
+ # TODO: Write general description for CREDITCARDREPAYMENT
15
+ CREDITCARDREPAYMENT = 'creditCardRepayment'.freeze,
16
+
17
+ # TODO: Write general description for CRYPTO
18
+ CRYPTO = 'crypto'.freeze,
19
+
20
+ # TODO: Write general description for CROWDLENDING
21
+ CROWDLENDING = 'crowdLending'.freeze,
22
+
23
+ # TODO: Write general description for DEBITCARD
24
+ DEBITCARD = 'debitCard'.freeze,
25
+
26
+ # TODO: Write general description for EDUCATION
27
+ EDUCATION = 'education'.freeze,
28
+
29
+ # TODO: Write general description for EMERGENCY
30
+ EMERGENCY = 'emergency'.freeze,
31
+
32
+ # TODO: Write general description for FAMILYSUPPORT
33
+ FAMILYSUPPORT = 'familySupport'.freeze,
34
+
35
+ # TODO: Write general description for GIFT
36
+ GIFT = 'gift'.freeze,
37
+
38
+ # TODO: Write general description for GIFTCARD
39
+ GIFTCARD = 'giftCard'.freeze,
40
+
41
+ # TODO: Write general description for GAMING
42
+ GAMING = 'gaming'.freeze,
43
+
44
+ # TODO: Write general description for HIGHRISKSECURITIES
45
+ HIGHRISKSECURITIES = 'highRiskSecurities'.freeze,
46
+
47
+ # TODO: Write general description for LIQUIDASSETS
48
+ LIQUIDASSETS = 'liquidAssets'.freeze,
49
+
50
+ # TODO: Write general description for MEDICAL
51
+ MEDICAL = 'medical'.freeze,
52
+
53
+ # TODO: Write general description for PAYROLL
54
+ PAYROLL = 'payroll'.freeze,
55
+
56
+ # TODO: Write general description for PREPAIDCARD
57
+ PREPAIDCARD = 'prepaidCard'.freeze,
58
+
59
+ # TODO: Write general description for SALARY
60
+ SALARY = 'salary'.freeze,
61
+
62
+ # TODO: Write general description for SAVINGS
63
+ SAVINGS = 'savings'.freeze,
64
+
65
+ # TODO: Write general description for TRAVEL
66
+ TRAVEL = 'travel'.freeze,
67
+
68
+ # TODO: Write general description for OTHER
69
+ OTHER = 'other'.freeze
70
+ ].freeze
71
+
72
+ def self.validate(value)
73
+ return false if value.nil?
74
+
75
+ PURPOSE_ENUM.include?(value)
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,114 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # QueryActionList Model.
8
+ class QueryActionList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Cancel the payment. See [details](../payments-lifecycle/cancel)
13
+ # @return [PaymentsActionCancel]
14
+ attr_accessor :cancel_payment
15
+
16
+ # Partially settle the payment. See
17
+ # [details](../payments-lifecycle/partialsettle) including what to add in
18
+ # the request body.
19
+ # @return [PaymentsActionPartialSettle]
20
+ attr_accessor :partially_settle_payment
21
+
22
+ # Fully settle the payment. See [details](../payments-lifecycle/settle)
23
+ # @return [PaymentsActionSettle]
24
+ attr_accessor :settle_payment
25
+
26
+ # Fully refund the payment. See [details](../payments-lifecycle/refund)
27
+ # @return [PaymentsActionRefund]
28
+ attr_accessor :refund_payment
29
+
30
+ # Partially refund the payment.
31
+ # @return [PaymentsActionPartialRefund]
32
+ attr_accessor :partially_refund_payment
33
+
34
+ # A mapping from model property names to API property names.
35
+ def self.names
36
+ @_hash = {} if @_hash.nil?
37
+ @_hash['cancel_payment'] = 'cancelPayment'
38
+ @_hash['partially_settle_payment'] = 'partiallySettlePayment'
39
+ @_hash['settle_payment'] = 'settlePayment'
40
+ @_hash['refund_payment'] = 'refundPayment'
41
+ @_hash['partially_refund_payment'] = 'partiallyRefundPayment'
42
+ @_hash
43
+ end
44
+
45
+ # An array for optional fields
46
+ def self.optionals
47
+ %w[
48
+ cancel_payment
49
+ partially_settle_payment
50
+ settle_payment
51
+ refund_payment
52
+ partially_refund_payment
53
+ ]
54
+ end
55
+
56
+ # An array for nullable fields
57
+ def self.nullables
58
+ []
59
+ end
60
+
61
+ def initialize(cancel_payment = SKIP, partially_settle_payment = SKIP,
62
+ settle_payment = SKIP, refund_payment = SKIP,
63
+ partially_refund_payment = SKIP)
64
+ @cancel_payment = cancel_payment unless cancel_payment == SKIP
65
+ @partially_settle_payment = partially_settle_payment unless partially_settle_payment == SKIP
66
+ @settle_payment = settle_payment unless settle_payment == SKIP
67
+ @refund_payment = refund_payment unless refund_payment == SKIP
68
+ @partially_refund_payment = partially_refund_payment unless partially_refund_payment == SKIP
69
+ end
70
+
71
+ # Creates an instance of the object from a hash.
72
+ def self.from_hash(hash)
73
+ return nil unless hash
74
+
75
+ # Extract variables from the hash.
76
+ cancel_payment = PaymentsActionCancel.from_hash(hash['cancelPayment']) if
77
+ hash['cancelPayment']
78
+ if hash['partiallySettlePayment']
79
+ partially_settle_payment = PaymentsActionPartialSettle.from_hash(hash['partiallySettlePayment'])
80
+ end
81
+ settle_payment = PaymentsActionSettle.from_hash(hash['settlePayment']) if
82
+ hash['settlePayment']
83
+ refund_payment = PaymentsActionRefund.from_hash(hash['refundPayment']) if
84
+ hash['refundPayment']
85
+ if hash['partiallyRefundPayment']
86
+ partially_refund_payment = PaymentsActionPartialRefund.from_hash(hash['partiallyRefundPayment'])
87
+ end
88
+
89
+ # Create object from extracted values.
90
+ QueryActionList.new(cancel_payment,
91
+ partially_settle_payment,
92
+ settle_payment,
93
+ refund_payment,
94
+ partially_refund_payment)
95
+ end
96
+
97
+ # Provides a human-readable string representation of the object.
98
+ def to_s
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} cancel_payment: #{@cancel_payment}, partially_settle_payment:"\
101
+ " #{@partially_settle_payment}, settle_payment: #{@settle_payment}, refund_payment:"\
102
+ " #{@refund_payment}, partially_refund_payment: #{@partially_refund_payment}>"
103
+ end
104
+
105
+ # Provides a debugging-friendly string with detailed object information.
106
+ def inspect
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} cancel_payment: #{@cancel_payment.inspect}, partially_settle_payment:"\
109
+ " #{@partially_settle_payment.inspect}, settle_payment: #{@settle_payment.inspect},"\
110
+ " refund_payment: #{@refund_payment.inspect}, partially_refund_payment:"\
111
+ " #{@partially_refund_payment.inspect}>"
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,71 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # QueryEventsResponse Model.
8
+ class QueryEventsResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :last_event
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [QueryActionList]
18
+ attr_accessor :actions
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['last_event'] = 'lastEvent'
24
+ @_hash['actions'] = '_actions'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ last_event
32
+ actions
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(last_event = SKIP, actions = SKIP)
42
+ @last_event = last_event unless last_event == SKIP
43
+ @actions = actions unless actions == 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
+ last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
52
+ actions = QueryActionList.from_hash(hash['_actions']) if hash['_actions']
53
+
54
+ # Create object from extracted values.
55
+ QueryEventsResponse.new(last_event,
56
+ actions)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} last_event: #{@last_event}, actions: #{@actions}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} last_event: #{@last_event.inspect}, actions: #{@actions.inspect}>"
69
+ end
70
+ end
71
+ 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
+ # The reason returned by the card issuer.
8
+ class ReasonEnum
9
+ REASON_ENUM = [
10
+ # TODO: Write general description for ISSUERHONORED
11
+ ISSUERHONORED = 'issuerHonored'.freeze,
12
+
13
+ # TODO: Write general description for MERCHANTINITIATEDTRANSACTION
14
+ MERCHANTINITIATEDTRANSACTION = 'merchantInitiatedTransaction'.freeze,
15
+
16
+ # TODO: Write general description for ONELEGOUT
17
+ ONELEGOUT = 'oneLegOut'.freeze,
18
+
19
+ # TODO: Write general description for MOTO
20
+ MOTO = 'moto'.freeze,
21
+
22
+ # TODO: Write general description for CONTACTLESS
23
+ CONTACTLESS = 'contactless'.freeze,
24
+
25
+ # TODO: Write general description for ISSUERREJECTED
26
+ ISSUERREJECTED = 'issuerRejected'.freeze,
27
+
28
+ # TODO: Write general description for HIGHRISK
29
+ HIGHRISK = 'highRisk'.freeze,
30
+
31
+ # TODO: Write general description for INVALID
32
+ INVALID = 'invalid'.freeze,
33
+
34
+ # TODO: Write general description for UNSUPPORTEDSCHEME
35
+ UNSUPPORTEDSCHEME = 'unsupportedScheme'.freeze,
36
+
37
+ # TODO: Write general description for UNSUPPORTEDACQUIRER
38
+ UNSUPPORTEDACQUIRER = 'unsupportedAcquirer'.freeze,
39
+
40
+ # TODO: Write general description for UNKNOWN
41
+ UNKNOWN = 'unknown'.freeze
42
+ ].freeze
43
+
44
+ def self.validate(value)
45
+ return false if value.nil?
46
+
47
+ REASON_ENUM.include?(value)
48
+ end
49
+ end
50
+ 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
+ # RefundFailed Model.
8
+ class RefundFailed < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your refund 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 = 'refundFailed'
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
+ RefundFailed.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [RefundFailed | 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
+ # RefundRequestSubmitted Model.
8
+ class RefundRequestSubmitted < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your refund 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 = 'refundRequestSubmitted'
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
+ RefundRequestSubmitted.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [RefundRequestSubmitted | 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,124 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # RefundRequested Model.
8
+ class RefundRequested < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Worldpay has received your refund 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 [Type8Enum]
22
+ attr_accessor :type
23
+
24
+ # Your refund reference
25
+ # @return [String]
26
+ attr_accessor :refund_reference
27
+
28
+ # An object that contains the amount and currency requested for refund.
29
+ # @return [Value2]
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['refund_reference'] = 'refundReference'
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
+ refund_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, refund_reference = SKIP,
66
+ value = SKIP, command_id = SKIP)
67
+ @event_name = 'refundRequested'
68
+ @timestamp = timestamp unless timestamp == SKIP
69
+ @type = type unless type == SKIP
70
+ @refund_reference = refund_reference unless refund_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
+ refund_reference =
83
+ hash.key?('refundReference') ? hash['refundReference'] : SKIP
84
+ value = Value2.from_hash(hash['value']) if hash['value']
85
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
86
+
87
+ # Create object from extracted values.
88
+ RefundRequested.new(timestamp,
89
+ type,
90
+ refund_reference,
91
+ value,
92
+ command_id)
93
+ end
94
+
95
+ # Validates an instance of the object from a given value.
96
+ # @param [RefundRequested | 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
+ " refund_reference: #{@refund_reference}, value: #{@value}, command_id: #{@command_id}>"
114
+ end
115
+
116
+ # Provides a debugging-friendly string with detailed object information.
117
+ def inspect
118
+ class_name = self.class.name.split('::').last
119
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect}, type:"\
120
+ " #{@type.inspect}, refund_reference: #{@refund_reference.inspect}, value:"\
121
+ " #{@value.inspect}, command_id: #{@command_id.inspect}>"
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,71 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # RefundResponse Model.
8
+ class RefundResponse < 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
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['outcome'] = 'outcome'
24
+ @_hash['links'] = '_links'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ outcome
32
+ links
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(outcome = SKIP, links = SKIP)
42
+ @outcome = outcome unless outcome == SKIP
43
+ @links = links unless links == 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
+ outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
52
+ links = PaymentsLink.from_hash(hash['_links']) if hash['_links']
53
+
54
+ # Create object from extracted values.
55
+ RefundResponse.new(outcome,
56
+ links)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} outcome: #{@outcome}, links: #{@links}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} outcome: #{@outcome.inspect}, links: #{@links.inspect}>"
69
+ end
70
+ end
71
+ end