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,103 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SaleFailed Model.
8
+ class SaleFailed < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your sale 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
+ # All Failed events return error object with name and message.
21
+ # @return [Error]
22
+ attr_accessor :error
23
+
24
+ # Unique identifier generated by us for a single instance of an interaction
25
+ # (command) with the Worldpay API.
26
+ # @return [String]
27
+ attr_accessor :command_id
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['event_name'] = 'eventName'
33
+ @_hash['timestamp'] = 'timestamp'
34
+ @_hash['error'] = 'error'
35
+ @_hash['command_id'] = 'commandId'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ timestamp
43
+ error
44
+ command_id
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(timestamp = SKIP, error = SKIP, command_id = SKIP)
54
+ @event_name = 'saleFailed'
55
+ @timestamp = timestamp unless timestamp == SKIP
56
+ @error = error unless error == SKIP
57
+ @command_id = command_id unless command_id == SKIP
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
66
+ error = Error.from_hash(hash['error']) if hash['error']
67
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
68
+
69
+ # Create object from extracted values.
70
+ SaleFailed.new(timestamp,
71
+ error,
72
+ command_id)
73
+ end
74
+
75
+ # Validates an instance of the object from a given value.
76
+ # @param [SaleFailed | Hash] The value against the validation is performed.
77
+ def self.validate(value)
78
+ if value.instance_of? self
79
+ return APIHelper.valid_type?(value.event_name,
80
+ ->(val) { val.instance_of? String })
81
+ end
82
+
83
+ return false unless value.instance_of? Hash
84
+
85
+ APIHelper.valid_type?(value['eventName'],
86
+ ->(val) { val.instance_of? String })
87
+ end
88
+
89
+ # Provides a human-readable string representation of the object.
90
+ def to_s
91
+ class_name = self.class.name.split('::').last
92
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, error: #{@error},"\
93
+ " command_id: #{@command_id}>"
94
+ end
95
+
96
+ # Provides a debugging-friendly string with detailed object information.
97
+ def inspect
98
+ class_name = self.class.name.split('::').last
99
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect},"\
100
+ " error: #{@error.inspect}, command_id: #{@command_id.inspect}>"
101
+ end
102
+ end
103
+ 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
+ # SaleRefused Model.
8
+ class SaleRefused < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your sale request was refused by the card issuer.
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
+ # Outcome of the event. For every requested event there can be a successful
21
+ # or refused event outcome.
22
+ # @return [Outcome17Enum]
23
+ attr_accessor :outcome
24
+
25
+ # The response code, used to identify the refusal reason.
26
+ # @return [String]
27
+ attr_accessor :code
28
+
29
+ # The description of the refusal reason.
30
+ # @return [String]
31
+ attr_accessor :description
32
+
33
+ # Unique identifier generated by us for a single instance of an interaction
34
+ # (command) with the Worldpay API.
35
+ # @return [String]
36
+ attr_accessor :command_id
37
+
38
+ # A mapping from model property names to API property names.
39
+ def self.names
40
+ @_hash = {} if @_hash.nil?
41
+ @_hash['event_name'] = 'eventName'
42
+ @_hash['timestamp'] = 'timestamp'
43
+ @_hash['outcome'] = 'outcome'
44
+ @_hash['code'] = 'code'
45
+ @_hash['description'] = 'description'
46
+ @_hash['command_id'] = 'commandId'
47
+ @_hash
48
+ end
49
+
50
+ # An array for optional fields
51
+ def self.optionals
52
+ %w[
53
+ timestamp
54
+ outcome
55
+ code
56
+ description
57
+ command_id
58
+ ]
59
+ end
60
+
61
+ # An array for nullable fields
62
+ def self.nullables
63
+ []
64
+ end
65
+
66
+ def initialize(timestamp = SKIP, outcome = SKIP, code = SKIP,
67
+ description = SKIP, command_id = SKIP)
68
+ @event_name = 'saleRefused'
69
+ @timestamp = timestamp unless timestamp == SKIP
70
+ @outcome = outcome unless outcome == SKIP
71
+ @code = code unless code == SKIP
72
+ @description = description unless description == SKIP
73
+ @command_id = command_id unless command_id == SKIP
74
+ end
75
+
76
+ # Creates an instance of the object from a hash.
77
+ def self.from_hash(hash)
78
+ return nil unless hash
79
+
80
+ # Extract variables from the hash.
81
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
82
+ outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
83
+ code = hash.key?('code') ? hash['code'] : SKIP
84
+ description = hash.key?('description') ? hash['description'] : SKIP
85
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
86
+
87
+ # Create object from extracted values.
88
+ SaleRefused.new(timestamp,
89
+ outcome,
90
+ code,
91
+ description,
92
+ command_id)
93
+ end
94
+
95
+ # Validates an instance of the object from a given value.
96
+ # @param [SaleRefused | 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}, outcome: #{@outcome},"\
113
+ " code: #{@code}, description: #{@description}, 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},"\
120
+ " outcome: #{@outcome.inspect}, code: #{@code.inspect}, description:"\
121
+ " #{@description.inspect}, command_id: #{@command_id.inspect}>"
122
+ end
123
+ end
124
+ 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
+ # SaleRequested Model.
8
+ class SaleRequested < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Worldpay has received your sale 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
+ # 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 = 'saleRequested'
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
+ SaleRequested.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [SaleRequested | 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,104 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # SaleSucceeded Model.
8
+ class SaleSucceeded < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your authorization request was successfully approved by the card issuer.
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
+ # Outcome of the event. For every requested event there can be a successful
21
+ # or refused event outcome.
22
+ # @return [Outcome16Enum]
23
+ attr_accessor :outcome
24
+
25
+ # Unique identifier generated by us for a single instance of an interaction
26
+ # (command) with the Worldpay API.
27
+ # @return [String]
28
+ attr_accessor :command_id
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['event_name'] = 'eventName'
34
+ @_hash['timestamp'] = 'timestamp'
35
+ @_hash['outcome'] = 'outcome'
36
+ @_hash['command_id'] = 'commandId'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ timestamp
44
+ outcome
45
+ command_id
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(timestamp = SKIP, outcome = SKIP, command_id = SKIP)
55
+ @event_name = 'saleSucceeded'
56
+ @timestamp = timestamp unless timestamp == SKIP
57
+ @outcome = outcome unless outcome == SKIP
58
+ @command_id = command_id unless command_id == SKIP
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
67
+ outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
68
+ command_id = hash.key?('commandId') ? hash['commandId'] : SKIP
69
+
70
+ # Create object from extracted values.
71
+ SaleSucceeded.new(timestamp,
72
+ outcome,
73
+ command_id)
74
+ end
75
+
76
+ # Validates an instance of the object from a given value.
77
+ # @param [SaleSucceeded | Hash] The value against the validation is performed.
78
+ def self.validate(value)
79
+ if value.instance_of? self
80
+ return APIHelper.valid_type?(value.event_name,
81
+ ->(val) { val.instance_of? String })
82
+ end
83
+
84
+ return false unless value.instance_of? Hash
85
+
86
+ APIHelper.valid_type?(value['eventName'],
87
+ ->(val) { val.instance_of? String })
88
+ end
89
+
90
+ # Provides a human-readable string representation of the object.
91
+ def to_s
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} event_name: #{@event_name}, timestamp: #{@timestamp}, outcome: #{@outcome},"\
94
+ " command_id: #{@command_id}>"
95
+ end
96
+
97
+ # Provides a debugging-friendly string with detailed object information.
98
+ def inspect
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} event_name: #{@event_name.inspect}, timestamp: #{@timestamp.inspect},"\
101
+ " outcome: #{@outcome.inspect}, command_id: #{@command_id.inspect}>"
102
+ end
103
+ end
104
+ 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
+ # SaleTimedOut Model.
8
+ class SaleTimedOut < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Your sale 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 = 'saleTimedOut'
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
+ SaleTimedOut.new(timestamp,
63
+ command_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [SaleTimedOut | 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,75 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object containing information returned by the card scheme.
8
+ class Scheme < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The reference returned by the scheme for this particular payment
13
+ # authorization.
14
+ # @return [String]
15
+ attr_accessor :reference
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['reference'] = 'reference'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ []
27
+ end
28
+
29
+ # An array for nullable fields
30
+ def self.nullables
31
+ []
32
+ end
33
+
34
+ def initialize(reference = nil)
35
+ @reference = reference
36
+ end
37
+
38
+ # Creates an instance of the object from a hash.
39
+ def self.from_hash(hash)
40
+ return nil unless hash
41
+
42
+ # Extract variables from the hash.
43
+ reference = hash.key?('reference') ? hash['reference'] : nil
44
+
45
+ # Create object from extracted values.
46
+ Scheme.new(reference)
47
+ end
48
+
49
+ # Validates an instance of the object from a given value.
50
+ # @param [Scheme | Hash] The value against the validation is performed.
51
+ def self.validate(value)
52
+ if value.instance_of? self
53
+ return APIHelper.valid_type?(value.reference,
54
+ ->(val) { val.instance_of? String })
55
+ end
56
+
57
+ return false unless value.instance_of? Hash
58
+
59
+ APIHelper.valid_type?(value['reference'],
60
+ ->(val) { val.instance_of? String })
61
+ end
62
+
63
+ # Provides a human-readable string representation of the object.
64
+ def to_s
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} reference: #{@reference}>"
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} reference: #{@reference.inspect}>"
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,72 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Self link to the page.
8
+ class Self1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Self link to the page.
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['href'] = 'href'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ href
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(href = SKIP)
36
+ @href = href unless href == 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
+ href = hash.key?('href') ? hash['href'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ Self1.new(href)
48
+ end
49
+
50
+ # Validates an instance of the object from a given value.
51
+ # @param [Self1 | Hash] The value against the validation is performed.
52
+ def self.validate(value)
53
+ return true if value.instance_of? self
54
+
55
+ return false unless value.instance_of? Hash
56
+
57
+ true
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} href: #{@href}>"
64
+ end
65
+
66
+ # Provides a debugging-friendly string with detailed object information.
67
+ def inspect
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} href: #{@href.inspect}>"
70
+ end
71
+ end
72
+ end