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,127 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Object containing details of the last transaction.
8
+ class TransactionHistory < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Number of transactions (successful or abandoned) for this cardholder
13
+ # account within the last 24 hours.
14
+ # @return [Integer]
15
+ attr_accessor :attempts_last_day
16
+
17
+ # Number of transactions (successful or abandoned) for this cardholder
18
+ # account within the last year.
19
+ # @return [Integer]
20
+ attr_accessor :attempts_last_year
21
+
22
+ # Number of purchases with this customer account during the previous six
23
+ # months.
24
+ # @return [Integer]
25
+ attr_accessor :completed_last_six_months
26
+
27
+ # Number of attempts to add a card in the last 24hrs.
28
+ # @return [Integer]
29
+ attr_accessor :add_cards_last_day
30
+
31
+ # When the shipping address used for the transaction was first used.
32
+ # @return [String]
33
+ attr_accessor :shipping_address_first_used_at
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['attempts_last_day'] = 'attemptsLastDay'
39
+ @_hash['attempts_last_year'] = 'attemptsLastYear'
40
+ @_hash['completed_last_six_months'] = 'completedLastSixMonths'
41
+ @_hash['add_cards_last_day'] = 'addCardsLastDay'
42
+ @_hash['shipping_address_first_used_at'] = 'shippingAddressFirstUsedAt'
43
+ @_hash
44
+ end
45
+
46
+ # An array for optional fields
47
+ def self.optionals
48
+ %w[
49
+ attempts_last_day
50
+ attempts_last_year
51
+ completed_last_six_months
52
+ add_cards_last_day
53
+ shipping_address_first_used_at
54
+ ]
55
+ end
56
+
57
+ # An array for nullable fields
58
+ def self.nullables
59
+ []
60
+ end
61
+
62
+ def initialize(attempts_last_day = SKIP, attempts_last_year = SKIP,
63
+ completed_last_six_months = SKIP, add_cards_last_day = SKIP,
64
+ shipping_address_first_used_at = SKIP)
65
+ @attempts_last_day = attempts_last_day unless attempts_last_day == SKIP
66
+ @attempts_last_year = attempts_last_year unless attempts_last_year == SKIP
67
+ unless completed_last_six_months == SKIP
68
+ @completed_last_six_months =
69
+ completed_last_six_months
70
+ end
71
+ @add_cards_last_day = add_cards_last_day unless add_cards_last_day == SKIP
72
+ unless shipping_address_first_used_at == SKIP
73
+ @shipping_address_first_used_at =
74
+ shipping_address_first_used_at
75
+ end
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ attempts_last_day = Number.from_hash(hash['attemptsLastDay']) if hash['attemptsLastDay']
84
+ attempts_last_year = Number.from_hash(hash['attemptsLastYear']) if hash['attemptsLastYear']
85
+ completed_last_six_months = Number.from_hash(hash['completedLastSixMonths']) if
86
+ hash['completedLastSixMonths']
87
+ add_cards_last_day = Number.from_hash(hash['addCardsLastDay']) if hash['addCardsLastDay']
88
+ shipping_address_first_used_at =
89
+ hash.key?('shippingAddressFirstUsedAt') ? hash['shippingAddressFirstUsedAt'] : SKIP
90
+
91
+ # Create object from extracted values.
92
+ TransactionHistory.new(attempts_last_day,
93
+ attempts_last_year,
94
+ completed_last_six_months,
95
+ add_cards_last_day,
96
+ shipping_address_first_used_at)
97
+ end
98
+
99
+ # Validates an instance of the object from a given value.
100
+ # @param [TransactionHistory | Hash] The value against the validation is performed.
101
+ def self.validate(value)
102
+ return true if value.instance_of? self
103
+
104
+ return false unless value.instance_of? Hash
105
+
106
+ true
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} attempts_last_day: #{@attempts_last_day}, attempts_last_year:"\
113
+ " #{@attempts_last_year}, completed_last_six_months: #{@completed_last_six_months},"\
114
+ " add_cards_last_day: #{@add_cards_last_day}, shipping_address_first_used_at:"\
115
+ " #{@shipping_address_first_used_at}>"
116
+ end
117
+
118
+ # Provides a debugging-friendly string with detailed object information.
119
+ def inspect
120
+ class_name = self.class.name.split('::').last
121
+ "<#{class_name} attempts_last_day: #{@attempts_last_day.inspect}, attempts_last_year:"\
122
+ " #{@attempts_last_year.inspect}, completed_last_six_months:"\
123
+ " #{@completed_last_six_months.inspect}, add_cards_last_day: #{@add_cards_last_day.inspect},"\
124
+ " shipping_address_first_used_at: #{@shipping_address_first_used_at.inspect}>"
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,26 @@
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 transaction type.
8
+ class TransactionType1Enum
9
+ TRANSACTION_TYPE1_ENUM = [
10
+ # TODO: Write general description for ONETIME
11
+ ONETIME = 'oneTime'.freeze,
12
+
13
+ # TODO: Write general description for CARDONFILE
14
+ CARDONFILE = 'cardOnFile'.freeze,
15
+
16
+ # TODO: Write general description for RECURRING
17
+ RECURRING = 'recurring'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ TRANSACTION_TYPE1_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The transaction type of the payment.
8
+ class TransactionTypeEnum
9
+ TRANSACTION_TYPE_ENUM = [
10
+ # TODO: Write general description for ONETIME
11
+ ONETIME = 'oneTime'.freeze,
12
+
13
+ # TODO: Write general description for CARDONFILE
14
+ CARDONFILE = 'cardOnFile'.freeze,
15
+
16
+ # TODO: Write general description for RECURRING
17
+ RECURRING = 'recurring'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ TRANSACTION_TYPE_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,23 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The type of payment instrument supplied in the authorization request.
8
+ class Type10Enum
9
+ TYPE10_ENUM = [
10
+ # TODO: Write general description for ENUM_CARDNETWORKTOKEN
11
+ ENUM_CARDNETWORKTOKEN = 'card/networkToken'.freeze,
12
+
13
+ # TODO: Write general description for ENUM_CARDPLAINMASKED
14
+ ENUM_CARDPLAINMASKED = 'card/plain+masked'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ TYPE10_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,35 @@
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 information about the payment type.
8
+ class Type12Enum
9
+ TYPE12_ENUM = [
10
+ # TODO: Write general description for ENUM_CARDPLAIN
11
+ ENUM_CARDPLAIN = 'card/plain'.freeze,
12
+
13
+ # TODO: Write general description for ENUM_CARDNETWORK
14
+ ENUM_CARDNETWORK = 'card/network'.freeze,
15
+
16
+ # TODO: Write general description for ENUM_CARDNETWORKTOKEN
17
+ ENUM_CARDNETWORKTOKEN = 'card/networkToken'.freeze,
18
+
19
+ # TODO: Write general description for ENUM_CARDNETWORKTOKENAPPLEPAY
20
+ ENUM_CARDNETWORKTOKENAPPLEPAY = 'card/networkToken+applepay'.freeze,
21
+
22
+ # TODO: Write general description for ENUM_CARDNETWORKTOKENGOOGLEPAY
23
+ ENUM_CARDNETWORKTOKENGOOGLEPAY = 'card/networkToken+googlepay'.freeze,
24
+
25
+ # TODO: Write general description for ENUM_CARDPLAINMASKED
26
+ ENUM_CARDPLAINMASKED = 'card/plain+masked'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ TYPE12_ENUM.include?(value)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Type1.
8
+ class Type1Enum
9
+ TYPE1_ENUM = [
10
+ # TODO: Write general description for AVS
11
+ AVS = 'avs'.freeze,
12
+
13
+ # TODO: Write general description for CVC
14
+ CVC = 'cvc'.freeze,
15
+
16
+ # TODO: Write general description for RISKPROFILE
17
+ RISKPROFILE = 'riskProfile'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ TYPE1_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,23 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The type of applied exemption.
8
+ class Type2Enum
9
+ TYPE2_ENUM = [
10
+ # TODO: Write general description for LOWRISK
11
+ LOWRISK = 'lowRisk'.freeze,
12
+
13
+ # TODO: Write general description for LOWVALUE
14
+ LOWVALUE = 'lowValue'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ TYPE2_ENUM.include?(value)
21
+ end
22
+ end
23
+ 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 type of instrument.
8
+ class Type3Enum
9
+ TYPE3_ENUM = [
10
+ # TODO: Write general description for PLAIN
11
+ PLAIN = 'plain'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ TYPE3_ENUM.include?(value)
18
+ end
19
+ end
20
+ 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
+ # type4.
8
+ class Type4Enum
9
+ TYPE4_ENUM = [
10
+ # TODO: Write general description for CARDONFILE
11
+ CARDONFILE = 'cardOnFile'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ TYPE4_ENUM.include?(value)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,41 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Specifies the type of the funds transfer. {% admonition type="warning"
8
+ # name="Note" %} You may only submit the `fundsTransfer.type` values that
9
+ # relate to the use cases that you have been approved for by the schemes.{%
10
+ # /admonition %}
11
+ class Type5Enum
12
+ TYPE5_ENUM = [
13
+ # TODO: Write general description for ACCOUNTTOACCOUNT
14
+ ACCOUNTTOACCOUNT = 'accountToAccount'.freeze,
15
+
16
+ # TODO: Write general description for CASH
17
+ CASH = 'cash'.freeze,
18
+
19
+ # TODO: Write general description for DISBURSEMENT
20
+ DISBURSEMENT = 'disbursement'.freeze,
21
+
22
+ # TODO: Write general description for PERSONTOPERSON
23
+ PERSONTOPERSON = 'personToPerson'.freeze,
24
+
25
+ # TODO: Write general description for PURCHASE
26
+ PURCHASE = 'purchase'.freeze,
27
+
28
+ # TODO: Write general description for TOPUP
29
+ TOPUP = 'topUp'.freeze,
30
+
31
+ # TODO: Write general description for WALLETLOAD
32
+ WALLETLOAD = 'walletLoad'.freeze
33
+ ].freeze
34
+
35
+ def self.validate(value)
36
+ return false if value.nil?
37
+
38
+ TYPE5_ENUM.include?(value)
39
+ end
40
+ end
41
+ 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
+ # Type6.
8
+ class Type6Enum
9
+ TYPE6_ENUM = [
10
+ # TODO: Write general description for WALLET
11
+ WALLET = 'wallet'.freeze,
12
+
13
+ # TODO: Write general description for STOREDVALUEWALLET
14
+ STOREDVALUEWALLET = 'storedValueWallet'.freeze,
15
+
16
+ # TODO: Write general description for STAGEDDIGITALWALLET
17
+ STAGEDDIGITALWALLET = 'stagedDigitalWallet'.freeze,
18
+
19
+ # TODO: Write general description for MERCHANTWALLET
20
+ MERCHANTWALLET = 'merchantWallet'.freeze
21
+ ].freeze
22
+
23
+ def self.validate(value)
24
+ return false if value.nil?
25
+
26
+ TYPE6_ENUM.include?(value)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,23 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Type7.
8
+ class Type7Enum
9
+ TYPE7_ENUM = [
10
+ # TODO: Write general description for FULLSETTLEMENT
11
+ FULLSETTLEMENT = 'fullSettlement'.freeze,
12
+
13
+ # TODO: Write general description for PARTIALSETTLEMENT
14
+ PARTIALSETTLEMENT = 'partialSettlement'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ TYPE7_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Type8.
8
+ class Type8Enum
9
+ TYPE8_ENUM = [
10
+ # TODO: Write general description for FULLREFUND
11
+ FULLREFUND = 'fullRefund'.freeze,
12
+
13
+ # TODO: Write general description for PARTIALREFUND
14
+ PARTIALREFUND = 'partialRefund'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ TYPE8_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,35 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The type of payment instrument supplied in the authorization request.
8
+ class Type9Enum
9
+ TYPE9_ENUM = [
10
+ # TODO: Write general description for ENUM_CARDPLAIN
11
+ ENUM_CARDPLAIN = 'card/plain'.freeze,
12
+
13
+ # TODO: Write general description for ENUM_CARDNETWORK
14
+ ENUM_CARDNETWORK = 'card/network'.freeze,
15
+
16
+ # TODO: Write general description for ENUM_CARDNETWORKTOKEN
17
+ ENUM_CARDNETWORKTOKEN = 'card/networkToken'.freeze,
18
+
19
+ # TODO: Write general description for ENUM_CARDNETWORKTOKENAPPLEPAY
20
+ ENUM_CARDNETWORKTOKENAPPLEPAY = 'card/networkToken+applepay'.freeze,
21
+
22
+ # TODO: Write general description for ENUM_CARDNETWORKTOKENGOOGLEPAY
23
+ ENUM_CARDNETWORKTOKENGOOGLEPAY = 'card/networkToken+googlepay'.freeze,
24
+
25
+ # TODO: Write general description for ENUM_CARDPLAINMASKED
26
+ ENUM_CARDPLAINMASKED = 'card/plain+masked'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ TYPE9_ENUM.include?(value)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,23 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Type.
8
+ class TypeEnum
9
+ TYPE_ENUM = [
10
+ # TODO: Write general description for ENUM_CARDPLAIN
11
+ ENUM_CARDPLAIN = 'card/plain'.freeze,
12
+
13
+ # TODO: Write general description for ENUM_CARDPLAINMASKED
14
+ ENUM_CARDPLAINMASKED = 'card/plain+masked'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ TYPE_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,76 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require_relative 'device_data_response201'
7
+
8
+ module Payments
9
+ # UnsuccessfulAuthenticationResponse Model.
10
+ class UnsuccessfulAuthenticationResponse < DeviceDataResponse201
11
+ # Object that contains authentication related information.
12
+ # @return [Authentication]
13
+ attr_accessor :authentication
14
+
15
+ # A mapping from model property names to API property names.
16
+ def self.names
17
+ @_hash = {} if @_hash.nil?
18
+ @_hash['authentication'] = 'authentication'
19
+ @_hash = super().merge(@_hash)
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ _arr = %w[
26
+ authentication
27
+ ]
28
+ (_arr << super()).flatten!
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ _arr = []
34
+ (_arr << super()).flatten!
35
+ end
36
+
37
+ def initialize(authentication = SKIP, outcome = '3dsAuthenticationFailed',
38
+ transaction_reference = SKIP)
39
+ @authentication = authentication unless authentication == SKIP
40
+
41
+ # Call the constructor of the base class
42
+ super(outcome,
43
+ transaction_reference)
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ authentication = Authentication.from_hash(hash['authentication']) if hash['authentication']
52
+ outcome = hash['outcome'] ||= '3dsAuthenticationFailed'
53
+ transaction_reference =
54
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
55
+
56
+ # Create object from extracted values.
57
+ UnsuccessfulAuthenticationResponse.new(authentication,
58
+ outcome,
59
+ transaction_reference)
60
+ end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
66
+ "<#{class_name} #{super_string}, authentication: #{@authentication}>"
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
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
73
+ "<#{class_name} #{super_string}, authentication: #{@authentication.inspect}>"
74
+ end
75
+ end
76
+ end