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,87 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require_relative 'payments_customer_agreement'
7
+
8
+ module Payments
9
+ # PaymentsUnscheduledCustomerAgreement Model.
10
+ class PaymentsUnscheduledCustomerAgreement < PaymentsCustomerAgreement
11
+ # Unique reference provided by card schemes used to link the `first` and
12
+ # `subsequent` payments. This value is bundled with the Worldpay token if
13
+ # created as part of the `first` payment and therefore not required here as
14
+ # well. If you manage multiple agreements for a single cardholder using a
15
+ # token, please use the `schemeReference` returned to you. This allows you
16
+ # to distinguish and manage each separate agreement appropriately.
17
+ # @return [String]
18
+ attr_accessor :scheme_reference
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['scheme_reference'] = 'schemeReference'
24
+ @_hash = super().merge(@_hash)
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ _arr = %w[
31
+ scheme_reference
32
+ ]
33
+ (_arr << super()).flatten!
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ _arr = []
39
+ (_arr << super()).flatten!
40
+ end
41
+
42
+ def initialize(scheme_reference = SKIP, type = 'unscheduled')
43
+ @scheme_reference = scheme_reference unless scheme_reference == SKIP
44
+
45
+ # Call the constructor of the base class
46
+ super(type)
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
+ scheme_reference =
55
+ hash.key?('schemeReference') ? hash['schemeReference'] : SKIP
56
+ type = hash['type'] ||= 'unscheduled'
57
+
58
+ # Create object from extracted values.
59
+ PaymentsUnscheduledCustomerAgreement.new(scheme_reference,
60
+ type)
61
+ end
62
+
63
+ # Validates an instance of the object from a given value.
64
+ # @param [PaymentsUnscheduledCustomerAgreement | Hash] The value against the validation is performed.
65
+ def self.validate(value)
66
+ return true if value.instance_of? self
67
+
68
+ return false unless value.instance_of? Hash
69
+
70
+ true
71
+ end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
77
+ "<#{class_name} #{super_string}, scheme_reference: #{@scheme_reference}>"
78
+ end
79
+
80
+ # Provides a debugging-friendly string with detailed object information.
81
+ def inspect
82
+ class_name = self.class.name.split('::').last
83
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
84
+ "<#{class_name} #{super_string}, scheme_reference: #{@scheme_reference.inspect}>"
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,70 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require_relative 'payments_recipient_account'
7
+
8
+ module Payments
9
+ # PaymentsWalletAccount Model.
10
+ class PaymentsWalletAccount < PaymentsRecipientAccount
11
+ # A reference identifying the destination wallet.
12
+ # @return [String]
13
+ attr_accessor :wallet_reference
14
+
15
+ # A mapping from model property names to API property names.
16
+ def self.names
17
+ @_hash = {} if @_hash.nil?
18
+ @_hash['wallet_reference'] = 'walletReference'
19
+ @_hash = super().merge(@_hash)
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ _arr = []
26
+ (_arr << super()).flatten!
27
+ end
28
+
29
+ # An array for nullable fields
30
+ def self.nullables
31
+ _arr = []
32
+ (_arr << super()).flatten!
33
+ end
34
+
35
+ def initialize(wallet_reference = nil, type = 'merchantWallet')
36
+ @wallet_reference = wallet_reference
37
+
38
+ # Call the constructor of the base class
39
+ super(type)
40
+ end
41
+
42
+ # Creates an instance of the object from a hash.
43
+ def self.from_hash(hash)
44
+ return nil unless hash
45
+
46
+ # Extract variables from the hash.
47
+ wallet_reference =
48
+ hash.key?('walletReference') ? hash['walletReference'] : nil
49
+ type = hash['type'] ||= 'merchantWallet'
50
+
51
+ # Create object from extracted values.
52
+ PaymentsWalletAccount.new(wallet_reference,
53
+ type)
54
+ end
55
+
56
+ # Provides a human-readable string representation of the object.
57
+ def to_s
58
+ class_name = self.class.name.split('::').last
59
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
60
+ "<#{class_name} #{super_string}, wallet_reference: #{@wallet_reference}>"
61
+ end
62
+
63
+ # Provides a debugging-friendly string with detailed object information.
64
+ def inspect
65
+ class_name = self.class.name.split('::').last
66
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
67
+ "<#{class_name} #{super_string}, wallet_reference: #{@wallet_reference.inspect}>"
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,21 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Indicates whether the exemption has been placed in a payment authorization
8
+ # request or 3DS authentication request.
9
+ class PlacementEnum
10
+ PLACEMENT_ENUM = [
11
+ # TODO: Write general description for AUTHORIZATION
12
+ AUTHORIZATION = 'authorization'.freeze
13
+ ].freeze
14
+
15
+ def self.validate(value)
16
+ return false if value.nil?
17
+
18
+ PLACEMENT_ENUM.include?(value)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,68 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PqQuerybydaterange200Response Model.
8
+ class PqQuerybydaterange200Response < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # links to the pages.
13
+ # @return [Links1]
14
+ attr_accessor :links
15
+
16
+ # links to the pages.
17
+ # @return [Embedded]
18
+ attr_accessor :embedded
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['links'] = '_links'
24
+ @_hash['embedded'] = '_embedded'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ []
31
+ end
32
+
33
+ # An array for nullable fields
34
+ def self.nullables
35
+ []
36
+ end
37
+
38
+ def initialize(links = nil, embedded = nil)
39
+ @links = links
40
+ @embedded = embedded
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ links = Links1.from_hash(hash['_links']) if hash['_links']
49
+ embedded = Embedded.from_hash(hash['_embedded']) if hash['_embedded']
50
+
51
+ # Create object from extracted values.
52
+ PqQuerybydaterange200Response.new(links,
53
+ embedded)
54
+ end
55
+
56
+ # Provides a human-readable string representation of the object.
57
+ def to_s
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} links: #{@links}, embedded: #{@embedded}>"
60
+ end
61
+
62
+ # Provides a debugging-friendly string with detailed object information.
63
+ def inspect
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} links: #{@links.inspect}, embedded: #{@embedded.inspect}>"
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,230 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PqQuerybypaymentid200Response Model.
8
+ class PqQuerybypaymentid200Response < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Payment initial authorization time.
13
+ # @return [String]
14
+ attr_accessor :timestamp
15
+
16
+ # Unique identifier generated by us for a single payment. Generated at
17
+ # authorization, and maintained through successive payment actions.
18
+ # @return [String]
19
+ attr_accessor :payment_id
20
+
21
+ # A unique reference generated by you, used to identify a payment throughout
22
+ # its lifecycle.
23
+ # @return [String]
24
+ attr_accessor :transaction_reference
25
+
26
+ # The text that appears on your customer's statement. Used to identify the
27
+ # merchant.
28
+ # @return [Narrative1]
29
+ attr_accessor :narrative
30
+
31
+ # The transaction type of the payment.
32
+ # @return [TransactionTypeEnum]
33
+ attr_accessor :transaction_type
34
+
35
+ # The authorization type of the payment.
36
+ # @return [AuthorizationTypeEnum]
37
+ attr_accessor :authorization_type
38
+
39
+ # Merchant entity name.
40
+ # @return [String]
41
+ attr_accessor :entity
42
+
43
+ # The last event received for the payment
44
+ # @return [LastEventEnum]
45
+ attr_accessor :last_event
46
+
47
+ # An object containing information returned by the card scheme.
48
+ # @return [Scheme]
49
+ attr_accessor :scheme
50
+
51
+ # An object containing information returned by the issuer.
52
+ # @return [Issuer1]
53
+ attr_accessor :issuer
54
+
55
+ # The payment instrument supplied in the authorization request.
56
+ # @return [PaymentInstrument4]
57
+ attr_accessor :payment_instrument
58
+
59
+ # The payment instrument supplied in the authorization request.
60
+ # @return [UpdatedPaymentInstrument1]
61
+ attr_accessor :updated_payment_instrument
62
+
63
+ # An object that contains payment amount and currency.
64
+ # @return [Value4]
65
+ attr_accessor :value
66
+
67
+ # An array that contains the history of events of a payment.
68
+ # @return [Array[Object]]
69
+ attr_accessor :events
70
+
71
+ # Self link and next action links.
72
+ # @return [Links]
73
+ attr_accessor :links
74
+
75
+ # A mapping from model property names to API property names.
76
+ def self.names
77
+ @_hash = {} if @_hash.nil?
78
+ @_hash['timestamp'] = 'timestamp'
79
+ @_hash['payment_id'] = 'paymentId'
80
+ @_hash['transaction_reference'] = 'transactionReference'
81
+ @_hash['narrative'] = 'narrative'
82
+ @_hash['transaction_type'] = 'transactionType'
83
+ @_hash['authorization_type'] = 'authorizationType'
84
+ @_hash['entity'] = 'entity'
85
+ @_hash['last_event'] = 'lastEvent'
86
+ @_hash['scheme'] = 'scheme'
87
+ @_hash['issuer'] = 'issuer'
88
+ @_hash['payment_instrument'] = 'paymentInstrument'
89
+ @_hash['updated_payment_instrument'] = 'updatedPaymentInstrument'
90
+ @_hash['value'] = 'value'
91
+ @_hash['events'] = 'events'
92
+ @_hash['links'] = '_links'
93
+ @_hash
94
+ end
95
+
96
+ # An array for optional fields
97
+ def self.optionals
98
+ %w[
99
+ timestamp
100
+ payment_id
101
+ transaction_reference
102
+ narrative
103
+ transaction_type
104
+ authorization_type
105
+ entity
106
+ last_event
107
+ scheme
108
+ issuer
109
+ payment_instrument
110
+ updated_payment_instrument
111
+ value
112
+ events
113
+ links
114
+ ]
115
+ end
116
+
117
+ # An array for nullable fields
118
+ def self.nullables
119
+ []
120
+ end
121
+
122
+ def initialize(timestamp = SKIP, payment_id = SKIP,
123
+ transaction_reference = SKIP, narrative = SKIP,
124
+ transaction_type = SKIP, authorization_type = SKIP,
125
+ entity = SKIP, last_event = SKIP, scheme = SKIP,
126
+ issuer = SKIP, payment_instrument = SKIP,
127
+ updated_payment_instrument = SKIP, value = SKIP,
128
+ events = SKIP, links = SKIP)
129
+ @timestamp = timestamp unless timestamp == SKIP
130
+ @payment_id = payment_id unless payment_id == SKIP
131
+ @transaction_reference = transaction_reference unless transaction_reference == SKIP
132
+ @narrative = narrative unless narrative == SKIP
133
+ @transaction_type = transaction_type unless transaction_type == SKIP
134
+ @authorization_type = authorization_type unless authorization_type == SKIP
135
+ @entity = entity unless entity == SKIP
136
+ @last_event = last_event unless last_event == SKIP
137
+ @scheme = scheme unless scheme == SKIP
138
+ @issuer = issuer unless issuer == SKIP
139
+ @payment_instrument = payment_instrument unless payment_instrument == SKIP
140
+ unless updated_payment_instrument == SKIP
141
+ @updated_payment_instrument =
142
+ updated_payment_instrument
143
+ end
144
+ @value = value unless value == SKIP
145
+ @events = events unless events == SKIP
146
+ @links = links unless links == SKIP
147
+ end
148
+
149
+ # Creates an instance of the object from a hash.
150
+ def self.from_hash(hash)
151
+ return nil unless hash
152
+
153
+ # Extract variables from the hash.
154
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
155
+ payment_id = hash.key?('paymentId') ? hash['paymentId'] : SKIP
156
+ transaction_reference =
157
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
158
+ narrative = Narrative1.from_hash(hash['narrative']) if hash['narrative']
159
+ transaction_type =
160
+ hash.key?('transactionType') ? hash['transactionType'] : SKIP
161
+ authorization_type =
162
+ hash.key?('authorizationType') ? hash['authorizationType'] : SKIP
163
+ entity = hash.key?('entity') ? hash['entity'] : SKIP
164
+ last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
165
+ scheme = Scheme.from_hash(hash['scheme']) if hash['scheme']
166
+ issuer = Issuer1.from_hash(hash['issuer']) if hash['issuer']
167
+ payment_instrument = PaymentInstrument4.from_hash(hash['paymentInstrument']) if
168
+ hash['paymentInstrument']
169
+ if hash['updatedPaymentInstrument']
170
+ updated_payment_instrument = UpdatedPaymentInstrument1.from_hash(hash['updatedPaymentInstrument'])
171
+ end
172
+ value = Value4.from_hash(hash['value']) if hash['value']
173
+ events = hash.key?('events') ? APIHelper.deserialize_union_type(
174
+ UnionTypeLookUp.get(:PqQuerybypaymentid200ResponseEvents), hash['events']
175
+ ) : SKIP
176
+ links = Links.from_hash(hash['_links']) if hash['_links']
177
+
178
+ # Create object from extracted values.
179
+ PqQuerybypaymentid200Response.new(timestamp,
180
+ payment_id,
181
+ transaction_reference,
182
+ narrative,
183
+ transaction_type,
184
+ authorization_type,
185
+ entity,
186
+ last_event,
187
+ scheme,
188
+ issuer,
189
+ payment_instrument,
190
+ updated_payment_instrument,
191
+ value,
192
+ events,
193
+ links)
194
+ end
195
+
196
+ # Validates an instance of the object from a given value.
197
+ # @param [PqQuerybypaymentid200Response | Hash] The value against the validation is performed.
198
+ def self.validate(value)
199
+ return true if value.instance_of? self
200
+
201
+ return false unless value.instance_of? Hash
202
+
203
+ true
204
+ end
205
+
206
+ # Provides a human-readable string representation of the object.
207
+ def to_s
208
+ class_name = self.class.name.split('::').last
209
+ "<#{class_name} timestamp: #{@timestamp}, payment_id: #{@payment_id},"\
210
+ " transaction_reference: #{@transaction_reference}, narrative: #{@narrative},"\
211
+ " transaction_type: #{@transaction_type}, authorization_type: #{@authorization_type},"\
212
+ " entity: #{@entity}, last_event: #{@last_event}, scheme: #{@scheme}, issuer: #{@issuer},"\
213
+ " payment_instrument: #{@payment_instrument}, updated_payment_instrument:"\
214
+ " #{@updated_payment_instrument}, value: #{@value}, events: #{@events}, links: #{@links}>"
215
+ end
216
+
217
+ # Provides a debugging-friendly string with detailed object information.
218
+ def inspect
219
+ class_name = self.class.name.split('::').last
220
+ "<#{class_name} timestamp: #{@timestamp.inspect}, payment_id: #{@payment_id.inspect},"\
221
+ " transaction_reference: #{@transaction_reference.inspect}, narrative:"\
222
+ " #{@narrative.inspect}, transaction_type: #{@transaction_type.inspect}, authorization_type:"\
223
+ " #{@authorization_type.inspect}, entity: #{@entity.inspect}, last_event:"\
224
+ " #{@last_event.inspect}, scheme: #{@scheme.inspect}, issuer: #{@issuer.inspect},"\
225
+ " payment_instrument: #{@payment_instrument.inspect}, updated_payment_instrument:"\
226
+ " #{@updated_payment_instrument.inspect}, value: #{@value.inspect}, events:"\
227
+ " #{@events.inspect}, links: #{@links.inspect}>"
228
+ end
229
+ end
230
+ 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
+ # PqQueryhistoricalpayments200Response Model.
8
+ class PqQueryhistoricalpayments200Response < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Self link and next action links.The Next action links are dependent on the
13
+ # lastEvent, refer to 'query for historical payments Response' section for
14
+ # more details.
15
+ # @return [Links3]
16
+ attr_accessor :links
17
+
18
+ # Self link and next action links.The Next action links are dependent on the
19
+ # lastEvent, refer to 'query for historical payments Response' section for
20
+ # more details.
21
+ # @return [Embedded1]
22
+ attr_accessor :embedded
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['links'] = '_links'
28
+ @_hash['embedded'] = '_embedded'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ []
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(links = nil, embedded = nil)
43
+ @links = links
44
+ @embedded = embedded
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ links = Links3.from_hash(hash['_links']) if hash['_links']
53
+ embedded = Embedded1.from_hash(hash['_embedded']) if hash['_embedded']
54
+
55
+ # Create object from extracted values.
56
+ PqQueryhistoricalpayments200Response.new(links,
57
+ embedded)
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} links: #{@links}, embedded: #{@embedded}>"
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} links: #{@links.inspect}, embedded: #{@embedded.inspect}>"
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,29 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Set a preference for how the Issuer decides on a 3DS challenge.
8
+ class PreferenceEnum
9
+ PREFERENCE_ENUM = [
10
+ # TODO: Write general description for NOPREFERENCE
11
+ NOPREFERENCE = 'noPreference'.freeze,
12
+
13
+ # TODO: Write general description for NOCHALLENGEREQUESTED
14
+ NOCHALLENGEREQUESTED = 'noChallengeRequested'.freeze,
15
+
16
+ # TODO: Write general description for CHALLENGEREQUESTED
17
+ CHALLENGEREQUESTED = 'challengeRequested'.freeze,
18
+
19
+ # TODO: Write general description for CHALLENGEMANDATED
20
+ CHALLENGEMANDATED = 'challengeMandated'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ PREFERENCE_ENUM.include?(value)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Specifies your customer's preferred card brand to be used for the
8
+ # transaction using a co-badged card.
9
+ class PreferredCardBrandEnum
10
+ PREFERRED_CARD_BRAND_ENUM = [
11
+ # TODO: Write general description for VISA
12
+ VISA = 'visa'.freeze,
13
+
14
+ # TODO: Write general description for MASTERCARD
15
+ MASTERCARD = 'mastercard'.freeze,
16
+
17
+ # TODO: Write general description for MAESTRO
18
+ MAESTRO = 'maestro'.freeze,
19
+
20
+ # TODO: Write general description for AMEX
21
+ AMEX = 'amex'.freeze,
22
+
23
+ # TODO: Write general description for CARTESBANCAIRES
24
+ CARTESBANCAIRES = 'cartesBancaires'.freeze,
25
+
26
+ # TODO: Write general description for DINERS
27
+ DINERS = 'diners'.freeze,
28
+
29
+ # TODO: Write general description for DANKORT
30
+ DANKORT = 'dankort'.freeze,
31
+
32
+ # TODO: Write general description for JCB
33
+ JCB = 'jcb'.freeze,
34
+
35
+ # TODO: Write general description for DISCOVER
36
+ DISCOVER = 'discover'.freeze,
37
+
38
+ # TODO: Write general description for ELO
39
+ ELO = 'elo'.freeze,
40
+
41
+ # TODO: Write general description for EFTPOSAU
42
+ EFTPOSAU = 'eftposAU'.freeze
43
+ ].freeze
44
+
45
+ def self.validate(value)
46
+ return false if value.nil?
47
+
48
+ PREFERRED_CARD_BRAND_ENUM.include?(value)
49
+ end
50
+ end
51
+ end