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,91 @@
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 that contains payment amount and currency.
8
+ class Value4 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # This is a whole number including the currency exponent (e.g. GBP has an
13
+ # exponent of 2, so for £2.50 supply:`250`).
14
+ # @return [Integer]
15
+ attr_accessor :amount
16
+
17
+ # The 3 digit currency code.
18
+ # @return [String]
19
+ attr_accessor :currency
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['amount'] = 'amount'
25
+ @_hash['currency'] = 'currency'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ []
32
+ end
33
+
34
+ # An array for nullable fields
35
+ def self.nullables
36
+ []
37
+ end
38
+
39
+ def initialize(amount = nil, currency = nil)
40
+ @amount = amount
41
+ @currency = currency
42
+ end
43
+
44
+ # Creates an instance of the object from a hash.
45
+ def self.from_hash(hash)
46
+ return nil unless hash
47
+
48
+ # Extract variables from the hash.
49
+ amount = Number.from_hash(hash['amount']) if hash['amount']
50
+ currency = hash.key?('currency') ? hash['currency'] : nil
51
+
52
+ # Create object from extracted values.
53
+ Value4.new(amount,
54
+ currency)
55
+ end
56
+
57
+ # Validates an instance of the object from a given value.
58
+ # @param [Value4 | Hash] The value against the validation is performed.
59
+ def self.validate(value)
60
+ if value.instance_of? self
61
+ return (
62
+ APIHelper.valid_type?(value.amount,
63
+ ->(val) { val.instance_of? Integer }) and
64
+ APIHelper.valid_type?(value.currency,
65
+ ->(val) { val.instance_of? String })
66
+ )
67
+ end
68
+
69
+ return false unless value.instance_of? Hash
70
+
71
+ (
72
+ APIHelper.valid_type?(value['amount'],
73
+ ->(val) { val.instance_of? Integer }) and
74
+ APIHelper.valid_type?(value['currency'],
75
+ ->(val) { val.instance_of? String })
76
+ )
77
+ end
78
+
79
+ # Provides a human-readable string representation of the object.
80
+ def to_s
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} amount: #{@amount}, currency: #{@currency}>"
83
+ end
84
+
85
+ # Provides a debugging-friendly string with detailed object information.
86
+ def inspect
87
+ class_name = self.class.name.split('::').last
88
+ "<#{class_name} amount: #{@amount.inspect}, currency: #{@currency.inspect}>"
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,173 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Details of the outcome of the 3DS authentication
8
+ class Verification < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # If the request was authenticated successfully or an authentication outage
13
+ # exemption was applied in authorization. See details on [Authentication
14
+ # Outage](/products/payments/enable-features/3ds-authentication#how-to-enabl
15
+ # e-authentication-outage-exemptions)
16
+ # @return [Outcome7Enum]
17
+ attr_accessor :outcome
18
+
19
+ # If the issuer decides to challenge the customer or proceed (frictionless)
20
+ # @return [IssuerResponseEnum]
21
+ attr_accessor :issuer_response
22
+
23
+ # The version of 3DS used to process the transaction.
24
+ # @return [String]
25
+ attr_accessor :version
26
+
27
+ # Electronic Commerce Indicator (ECI). Indicates the outcome of the 3DS
28
+ # authentication.
29
+ # | ECI | Meaning |
30
+ # | --- | --- |
31
+ # | 02 or 05 | Fully Authenticated Transaction
32
+ # | 01 or 06 | Attempted Authentication Transaction
33
+ # | 00 or 07 | Non 3-D Secure Transaction
34
+ # | Scheme | Value |
35
+ # | --- | --- |
36
+ # | Mastercard | 02, 01, 00 |
37
+ # | Visa | 05, 06, 07 |
38
+ # | Amex | 05, 06, 07 |
39
+ # | JCB | 05, 06, 07 |
40
+ # | Diners | 05, 06, 07 |
41
+ # @return [String]
42
+ attr_accessor :eci
43
+
44
+ # An identifier assigned by the Access Control Server (ACS) to identify a
45
+ # single transaction. Used primarily for Mastercard 3RI subsequent
46
+ # transactions to link the subsequent transaction back to a previous
47
+ # cardholder authentication. Can be disregarded unless otherwise needed.
48
+ # @return [String]
49
+ attr_accessor :acs_transaction_id
50
+
51
+ # Directory server transaction Id, if provided should be used in the payment
52
+ # authorization authentication object.
53
+ # @return [String]
54
+ attr_accessor :ds_transaction_id
55
+
56
+ # Indicates the outcome of the authentication or verification request.
57
+ # - `Y` - Successful authentication
58
+ # - `N` - Failed authentication
59
+ # - `U` - Unable to complete authentication
60
+ # - `A` - Successful attempts authentication
61
+ # - `C` - Challenged authentication
62
+ # - `R` - Authentication rejected (merchant _must not_ submit for
63
+ # authorization)
64
+ # - `I` - Exemption acknowledged
65
+ # @return [String]
66
+ attr_accessor :status
67
+
68
+ # Indicates the preferred challenge behavior. __Returned for Cartes
69
+ # Bancaires authentications only__ and must be applied in the following
70
+ # authorization request.
71
+ # - `noPreference`
72
+ # - `noChallengeRequested`
73
+ # - `challengeRequested`
74
+ # - `challengeMandated`
75
+ # - `noChallengeRequestedTRAPerformed`
76
+ # @return [String]
77
+ attr_accessor :challenge_preference
78
+
79
+ # A mapping from model property names to API property names.
80
+ def self.names
81
+ @_hash = {} if @_hash.nil?
82
+ @_hash['outcome'] = 'outcome'
83
+ @_hash['issuer_response'] = 'issuerResponse'
84
+ @_hash['version'] = 'version'
85
+ @_hash['eci'] = 'eci'
86
+ @_hash['acs_transaction_id'] = 'acsTransactionId'
87
+ @_hash['ds_transaction_id'] = 'dsTransactionId'
88
+ @_hash['status'] = 'status'
89
+ @_hash['challenge_preference'] = 'challengePreference'
90
+ @_hash
91
+ end
92
+
93
+ # An array for optional fields
94
+ def self.optionals
95
+ %w[
96
+ outcome
97
+ issuer_response
98
+ version
99
+ eci
100
+ acs_transaction_id
101
+ ds_transaction_id
102
+ status
103
+ challenge_preference
104
+ ]
105
+ end
106
+
107
+ # An array for nullable fields
108
+ def self.nullables
109
+ []
110
+ end
111
+
112
+ def initialize(outcome = Outcome7Enum::AUTHENTICATED,
113
+ issuer_response = SKIP, version = SKIP, eci = SKIP,
114
+ acs_transaction_id = SKIP, ds_transaction_id = SKIP,
115
+ status = SKIP, challenge_preference = SKIP)
116
+ @outcome = outcome unless outcome == SKIP
117
+ @issuer_response = issuer_response unless issuer_response == SKIP
118
+ @version = version unless version == SKIP
119
+ @eci = eci unless eci == SKIP
120
+ @acs_transaction_id = acs_transaction_id unless acs_transaction_id == SKIP
121
+ @ds_transaction_id = ds_transaction_id unless ds_transaction_id == SKIP
122
+ @status = status unless status == SKIP
123
+ @challenge_preference = challenge_preference unless challenge_preference == SKIP
124
+ end
125
+
126
+ # Creates an instance of the object from a hash.
127
+ def self.from_hash(hash)
128
+ return nil unless hash
129
+
130
+ # Extract variables from the hash.
131
+ outcome = hash['outcome'] ||= Outcome7Enum::AUTHENTICATED
132
+ issuer_response =
133
+ hash.key?('issuerResponse') ? hash['issuerResponse'] : SKIP
134
+ version = hash.key?('version') ? hash['version'] : SKIP
135
+ eci = hash.key?('eci') ? hash['eci'] : SKIP
136
+ acs_transaction_id =
137
+ hash.key?('acsTransactionId') ? hash['acsTransactionId'] : SKIP
138
+ ds_transaction_id =
139
+ hash.key?('dsTransactionId') ? hash['dsTransactionId'] : SKIP
140
+ status = hash.key?('status') ? hash['status'] : SKIP
141
+ challenge_preference =
142
+ hash.key?('challengePreference') ? hash['challengePreference'] : SKIP
143
+
144
+ # Create object from extracted values.
145
+ Verification.new(outcome,
146
+ issuer_response,
147
+ version,
148
+ eci,
149
+ acs_transaction_id,
150
+ ds_transaction_id,
151
+ status,
152
+ challenge_preference)
153
+ end
154
+
155
+ # Provides a human-readable string representation of the object.
156
+ def to_s
157
+ class_name = self.class.name.split('::').last
158
+ "<#{class_name} outcome: #{@outcome}, issuer_response: #{@issuer_response}, version:"\
159
+ " #{@version}, eci: #{@eci}, acs_transaction_id: #{@acs_transaction_id}, ds_transaction_id:"\
160
+ " #{@ds_transaction_id}, status: #{@status}, challenge_preference:"\
161
+ " #{@challenge_preference}>"
162
+ end
163
+
164
+ # Provides a debugging-friendly string with detailed object information.
165
+ def inspect
166
+ class_name = self.class.name.split('::').last
167
+ "<#{class_name} outcome: #{@outcome.inspect}, issuer_response: #{@issuer_response.inspect},"\
168
+ " version: #{@version.inspect}, eci: #{@eci.inspect}, acs_transaction_id:"\
169
+ " #{@acs_transaction_id.inspect}, ds_transaction_id: #{@ds_transaction_id.inspect}, status:"\
170
+ " #{@status.inspect}, challenge_preference: #{@challenge_preference.inspect}>"
171
+ end
172
+ end
173
+ end
@@ -0,0 +1,100 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # WalletPaymentInstrument Model.
8
+ class WalletPaymentInstrument < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of instrument.
13
+ # @return [String]
14
+ attr_reader :type
15
+
16
+ # The type of instrument.
17
+ # @return [String]
18
+ attr_accessor :wallet_token
19
+
20
+ # Contains the billing address information.
21
+ # @return [BillingAddress]
22
+ attr_accessor :billing_address
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['type'] = 'type'
28
+ @_hash['wallet_token'] = 'walletToken'
29
+ @_hash['billing_address'] = 'billingAddress'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ billing_address
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(wallet_token = nil, billing_address = SKIP)
46
+ @type = 'encrypted'
47
+ @wallet_token = wallet_token
48
+ @billing_address = billing_address unless billing_address == SKIP
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ wallet_token = hash.key?('walletToken') ? hash['walletToken'] : nil
57
+ billing_address = BillingAddress.from_hash(hash['billingAddress']) if hash['billingAddress']
58
+
59
+ # Create object from extracted values.
60
+ WalletPaymentInstrument.new(wallet_token,
61
+ billing_address)
62
+ end
63
+
64
+ # Validates an instance of the object from a given value.
65
+ # @param [WalletPaymentInstrument | Hash] The value against the validation is performed.
66
+ def self.validate(value)
67
+ if value.instance_of? self
68
+ return (
69
+ APIHelper.valid_type?(value.type,
70
+ ->(val) { val.instance_of? String }) and
71
+ APIHelper.valid_type?(value.wallet_token,
72
+ ->(val) { val.instance_of? String })
73
+ )
74
+ end
75
+
76
+ return false unless value.instance_of? Hash
77
+
78
+ (
79
+ APIHelper.valid_type?(value['type'],
80
+ ->(val) { val.instance_of? String }) and
81
+ APIHelper.valid_type?(value['walletToken'],
82
+ ->(val) { val.instance_of? String })
83
+ )
84
+ end
85
+
86
+ # Provides a human-readable string representation of the object.
87
+ def to_s
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} type: #{@type}, wallet_token: #{@wallet_token}, billing_address:"\
90
+ " #{@billing_address}>"
91
+ end
92
+
93
+ # Provides a debugging-friendly string with detailed object information.
94
+ def inspect
95
+ class_name = self.class.name.split('::').last
96
+ "<#{class_name} type: #{@type.inspect}, wallet_token: #{@wallet_token.inspect},"\
97
+ " billing_address: #{@billing_address.inspect}>"
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,34 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Specify the challenge window size (width x height) that the issuer should
8
+ # use. This is to better tailor the experience to the customers device.
9
+ # Default is 390x400.
10
+ class WindowSizeEnum
11
+ WINDOW_SIZE_ENUM = [
12
+ # TODO: Write general description for ENUM_250X400
13
+ ENUM_250X400 = '250x400'.freeze,
14
+
15
+ # TODO: Write general description for ENUM_390X400
16
+ ENUM_390X400 = '390x400'.freeze,
17
+
18
+ # TODO: Write general description for ENUM_600X400
19
+ ENUM_600X400 = '600x400'.freeze,
20
+
21
+ # TODO: Write general description for ENUM_500X600
22
+ ENUM_500X600 = '500x600'.freeze,
23
+
24
+ # TODO: Write general description for FULLPAGE
25
+ FULLPAGE = 'fullPage'.freeze
26
+ ].freeze
27
+
28
+ def self.validate(value)
29
+ return false if value.nil?
30
+
31
+ WINDOW_SIZE_ENUM.include?(value)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The API version
8
+ class WPApiVersionEnum
9
+ WP_API_VERSION_ENUM = [
10
+ # TODO: Write general description for ENUM_20240601
11
+ ENUM_20240601 = '2024-06-01'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ WP_API_VERSION_ENUM.include?(value)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Payments
8
+ # A utility that supports dateTime conversion to different formats
9
+ class DateTimeHelper < CoreLibrary::DateTimeHelper
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # A utility to allow users to set the content-type for files
8
+ class FileWrapper < CoreLibrary::FileWrapper
9
+ # The constructor.
10
+ # @param [File] file The file to be sent in the request.
11
+ # @param [string] content_type The content type of the provided file.
12
+ def initialize(file, content_type: 'application/octet-stream')
13
+ super
14
+ end
15
+
16
+ # Provides a human-readable string representation of the object.
17
+ def to_s
18
+ class_name = self.class.name.split('::').last
19
+ "<#{class_name} file: #{@file}, content_type: #{@content_type}>"
20
+ end
21
+
22
+ # Provides a debugging-friendly string with detailed object information.
23
+ def to_inspect
24
+ class_name = self.class.name.split('::').last
25
+ "<#{class_name} file: #{@file.inspect}, content_type: #{@content_type.inspect}>"
26
+ end
27
+ end
28
+ end
@@ -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
+ # The `UnionTypeLookUp` class serves as a utility class for
8
+ # storing and managing type combinator templates. It acts as a container for the templates
9
+ # used in handling various oneof/anyof instances within the sdk.
10
+ class UnionTypeLookUp
11
+ include CoreLibrary
12
+ # rubocop:disable Lint/RedundantCopDisableDirective, Style/HashSyntax, Layout/FirstArgumentIndentation
13
+ def self.union_types
14
+ {
15
+ :PaymentsInstructionPaymentInstrument => AnyOf.new(
16
+ [
17
+ LeafType.new(PaymentsCardPlainPaymentInstrument),
18
+ LeafType.new(SessionPaymentInstrument),
19
+ LeafType.new(TokenPaymentInstrument),
20
+ LeafType.new(WalletPaymentInstrument)
21
+ ]
22
+ ),
23
+
24
+ :PaymentsInstructionCustomerAgreement => AnyOf.new(
25
+ [
26
+ LeafType.new(PaymentsCardOnFileCustomerAgreement),
27
+ LeafType.new(PaymentsInstallmentCustomerAgreement),
28
+ LeafType.new(PaymentsSubscriptionCustomerAgreement),
29
+ LeafType.new(PaymentsUnscheduledCustomerAgreement)
30
+ ],
31
+ UnionTypeContext.new(
32
+ is_optional: true
33
+ )
34
+ ),
35
+
36
+ :PqQuerybypaymentid200ResponseEvents => OneOf.new(
37
+ [
38
+ LeafType.new(AuthorizationRequested),
39
+ LeafType.new(AuthorizationSucceeded),
40
+ LeafType.new(AuthorizationRefused),
41
+ LeafType.new(AuthorizationFailed),
42
+ LeafType.new(AuthorizationTimedOut),
43
+ LeafType.new(SaleRequested),
44
+ LeafType.new(SaleSucceeded),
45
+ LeafType.new(SaleRefused),
46
+ LeafType.new(SaleFailed),
47
+ LeafType.new(SaleTimedOut),
48
+ LeafType.new(SettlementRequested),
49
+ LeafType.new(SettlementRequestSubmitted),
50
+ LeafType.new(SettlementFailed),
51
+ LeafType.new(SettlementTimedOut),
52
+ LeafType.new(RefundRequested),
53
+ LeafType.new(RefundRequestSubmitted),
54
+ LeafType.new(RefundFailed),
55
+ LeafType.new(RefundTimedOut),
56
+ LeafType.new(CancellationRequested),
57
+ LeafType.new(CancellationRequestSubmitted),
58
+ LeafType.new(CancellationFailed),
59
+ LeafType.new(CancellationTimedOut),
60
+ LeafType.new(ReversalRequested),
61
+ LeafType.new(ReversalRequestSubmitted),
62
+ LeafType.new(ReversalFailed),
63
+ LeafType.new(ReversalTimedOut)
64
+ ],
65
+ UnionTypeContext.new(
66
+ is_array: true,
67
+ is_optional: true
68
+ )
69
+ )
70
+ }
71
+ end
72
+ # rubocop:enable Lint/RedundantCopDisableDirective, Style/HashSyntax, Layout/FirstArgumentIndentation
73
+
74
+ def self.get(name)
75
+ UnionTypeLookUp.union_types[name]
76
+ end
77
+ end
78
+ end