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,100 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object containing 3DS challenge preferences and configuration.
8
+ class Challenge < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Once the customer completes the challenge page the issuer redirects/posts
13
+ # to the returnUrl in order for you to resume the session. It must be the
14
+ # full URL path.
15
+ # @return [String]
16
+ attr_accessor :return_url
17
+
18
+ # Specify the challenge window size (width x height) that the issuer should
19
+ # use. This is to better tailor the experience to the customers device.
20
+ # Default is 390x400.
21
+ # @return [WindowSizeEnum]
22
+ attr_accessor :window_size
23
+
24
+ # Set a preference for how the Issuer decides on a 3DS challenge.
25
+ # @return [PreferenceEnum]
26
+ attr_accessor :preference
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['return_url'] = 'returnUrl'
32
+ @_hash['window_size'] = 'windowSize'
33
+ @_hash['preference'] = 'preference'
34
+ @_hash
35
+ end
36
+
37
+ # An array for optional fields
38
+ def self.optionals
39
+ %w[
40
+ window_size
41
+ preference
42
+ ]
43
+ end
44
+
45
+ # An array for nullable fields
46
+ def self.nullables
47
+ []
48
+ end
49
+
50
+ def initialize(return_url = nil, window_size = WindowSizeEnum::ENUM_390X400,
51
+ preference = SKIP)
52
+ @return_url = return_url
53
+ @window_size = window_size unless window_size == SKIP
54
+ @preference = preference unless preference == SKIP
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ return_url = hash.key?('returnUrl') ? hash['returnUrl'] : nil
63
+ window_size = hash['windowSize'] ||= WindowSizeEnum::ENUM_390X400
64
+ preference = hash.key?('preference') ? hash['preference'] : SKIP
65
+
66
+ # Create object from extracted values.
67
+ Challenge.new(return_url,
68
+ window_size,
69
+ preference)
70
+ end
71
+
72
+ # Validates an instance of the object from a given value.
73
+ # @param [Challenge | Hash] The value against the validation is performed.
74
+ def self.validate(value)
75
+ if value.instance_of? self
76
+ return APIHelper.valid_type?(value.return_url,
77
+ ->(val) { val.instance_of? String })
78
+ end
79
+
80
+ return false unless value.instance_of? Hash
81
+
82
+ APIHelper.valid_type?(value['returnUrl'],
83
+ ->(val) { val.instance_of? String })
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} return_url: #{@return_url}, window_size: #{@window_size}, preference:"\
90
+ " #{@preference}>"
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} return_url: #{@return_url.inspect}, window_size: #{@window_size.inspect},"\
97
+ " preference: #{@preference.inspect}>"
98
+ end
99
+ end
100
+ end
@@ -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
+ # ChallengeInfo Model.
8
+ class ChallengeInfo < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :reference
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :url
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :jwt
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :payload
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['reference'] = 'reference'
32
+ @_hash['url'] = 'url'
33
+ @_hash['jwt'] = 'jwt'
34
+ @_hash['payload'] = 'payload'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ reference
42
+ url
43
+ jwt
44
+ payload
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(reference = SKIP, url = SKIP, jwt = SKIP, payload = SKIP)
54
+ @reference = reference unless reference == SKIP
55
+ @url = url unless url == SKIP
56
+ @jwt = jwt unless jwt == SKIP
57
+ @payload = payload unless payload == SKIP
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ reference = hash.key?('reference') ? hash['reference'] : SKIP
66
+ url = hash.key?('url') ? hash['url'] : SKIP
67
+ jwt = hash.key?('jwt') ? hash['jwt'] : SKIP
68
+ payload = hash.key?('payload') ? hash['payload'] : SKIP
69
+
70
+ # Create object from extracted values.
71
+ ChallengeInfo.new(reference,
72
+ url,
73
+ jwt,
74
+ payload)
75
+ end
76
+
77
+ # Provides a human-readable string representation of the object.
78
+ def to_s
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} reference: #{@reference}, url: #{@url}, jwt: #{@jwt}, payload:"\
81
+ " #{@payload}>"
82
+ end
83
+
84
+ # Provides a debugging-friendly string with detailed object information.
85
+ def inspect
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} reference: #{@reference.inspect}, url: #{@url.inspect}, jwt:"\
88
+ " #{@jwt.inspect}, payload: #{@payload.inspect}>"
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,75 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ChallengeResponse201 Model.
8
+ class ChallengeResponse201 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :outcome
15
+
16
+ # A unique reference generated by you that is used to identify a payment
17
+ # throughout its lifecycle.
18
+ # @return [String]
19
+ attr_accessor :transaction_reference
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['outcome'] = 'outcome'
25
+ @_hash['transaction_reference'] = 'transactionReference'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ %w[
32
+ outcome
33
+ transaction_reference
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(outcome = 'ChallengeResponse201',
43
+ transaction_reference = SKIP)
44
+ @outcome = outcome unless outcome == SKIP
45
+ @transaction_reference = transaction_reference unless transaction_reference == SKIP
46
+ end
47
+
48
+ # Creates an instance of the object from a hash.
49
+ def self.from_hash(hash)
50
+ return nil unless hash
51
+
52
+ # Extract variables from the hash.
53
+ outcome = hash['outcome'] ||= 'ChallengeResponse201'
54
+ transaction_reference =
55
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
56
+
57
+ # Create object from extracted values.
58
+ ChallengeResponse201.new(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
+ "<#{class_name} outcome: #{@outcome}, transaction_reference: #{@transaction_reference}>"
66
+ end
67
+
68
+ # Provides a debugging-friendly string with detailed object information.
69
+ def inspect
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} outcome: #{@outcome.inspect}, transaction_reference:"\
72
+ " #{@transaction_reference.inspect}>"
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,62 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ChallengeResponse202 Model.
8
+ class ChallengeResponse202 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :outcome
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['outcome'] = 'outcome'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ outcome
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(outcome = 'ChallengeResponse202')
36
+ @outcome = outcome unless outcome == SKIP
37
+ end
38
+
39
+ # Creates an instance of the object from a hash.
40
+ def self.from_hash(hash)
41
+ return nil unless hash
42
+
43
+ # Extract variables from the hash.
44
+ outcome = hash['outcome'] ||= 'ChallengeResponse202'
45
+
46
+ # Create object from extracted values.
47
+ ChallengeResponse202.new(outcome)
48
+ end
49
+
50
+ # Provides a human-readable string representation of the object.
51
+ def to_s
52
+ class_name = self.class.name.split('::').last
53
+ "<#{class_name} outcome: #{@outcome}>"
54
+ end
55
+
56
+ # Provides a debugging-friendly string with detailed object information.
57
+ def inspect
58
+ class_name = self.class.name.split('::').last
59
+ "<#{class_name} outcome: #{@outcome.inspect}>"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,65 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ChallengedActionList Model.
8
+ class ChallengedActionList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Resume the payment following the 3DS challenge being completed by the
13
+ # customer. See [details](../3ds-actions/complete3dschallenge)
14
+ # @return [PaymentsActionComplete3dsChallenge]
15
+ attr_accessor :complete3ds_challenge
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['complete3ds_challenge'] = 'complete3dsChallenge'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ complete3ds_challenge
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(complete3ds_challenge = SKIP)
37
+ @complete3ds_challenge = complete3ds_challenge unless complete3ds_challenge == SKIP
38
+ end
39
+
40
+ # Creates an instance of the object from a hash.
41
+ def self.from_hash(hash)
42
+ return nil unless hash
43
+
44
+ # Extract variables from the hash.
45
+ if hash['complete3dsChallenge']
46
+ complete3ds_challenge = PaymentsActionComplete3dsChallenge.from_hash(hash['complete3dsChallenge'])
47
+ end
48
+
49
+ # Create object from extracted values.
50
+ ChallengedActionList.new(complete3ds_challenge)
51
+ end
52
+
53
+ # Provides a human-readable string representation of the object.
54
+ def to_s
55
+ class_name = self.class.name.split('::').last
56
+ "<#{class_name} complete3ds_challenge: #{@complete3ds_challenge}>"
57
+ end
58
+
59
+ # Provides a debugging-friendly string with detailed object information.
60
+ def inspect
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} complete3ds_challenge: #{@complete3ds_challenge.inspect}>"
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,96 @@
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
+ # ChallengedResponse Model.
10
+ class ChallengedResponse < DeviceDataResponse201
11
+ # Object that contains authentication related information.
12
+ # @return [Authentication]
13
+ attr_accessor :authentication
14
+
15
+ # Object that contains authentication related information.
16
+ # @return [ChallengeInfo]
17
+ attr_accessor :challenge
18
+
19
+ # Object that contains authentication related information.
20
+ # @return [ChallengedActionList]
21
+ attr_accessor :actions
22
+
23
+ # A mapping from model property names to API property names.
24
+ def self.names
25
+ @_hash = {} if @_hash.nil?
26
+ @_hash['authentication'] = 'authentication'
27
+ @_hash['challenge'] = 'challenge'
28
+ @_hash['actions'] = '_actions'
29
+ @_hash = super().merge(@_hash)
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ _arr = %w[
36
+ authentication
37
+ challenge
38
+ actions
39
+ ]
40
+ (_arr << super()).flatten!
41
+ end
42
+
43
+ # An array for nullable fields
44
+ def self.nullables
45
+ _arr = []
46
+ (_arr << super()).flatten!
47
+ end
48
+
49
+ def initialize(authentication = SKIP, challenge = SKIP, actions = SKIP,
50
+ outcome = '3dsChallenged', transaction_reference = SKIP)
51
+ @authentication = authentication unless authentication == SKIP
52
+ @challenge = challenge unless challenge == SKIP
53
+ @actions = actions unless actions == SKIP
54
+
55
+ # Call the constructor of the base class
56
+ super(outcome,
57
+ transaction_reference)
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ authentication = Authentication.from_hash(hash['authentication']) if hash['authentication']
66
+ challenge = ChallengeInfo.from_hash(hash['challenge']) if hash['challenge']
67
+ actions = ChallengedActionList.from_hash(hash['_actions']) if hash['_actions']
68
+ outcome = hash['outcome'] ||= '3dsChallenged'
69
+ transaction_reference =
70
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
71
+
72
+ # Create object from extracted values.
73
+ ChallengedResponse.new(authentication,
74
+ challenge,
75
+ actions,
76
+ outcome,
77
+ transaction_reference)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
84
+ "<#{class_name} #{super_string}, authentication: #{@authentication}, challenge:"\
85
+ " #{@challenge}, actions: #{@actions}>"
86
+ end
87
+
88
+ # Provides a debugging-friendly string with detailed object information.
89
+ def inspect
90
+ class_name = self.class.name.split('::').last
91
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
92
+ "<#{class_name} #{super_string}, authentication: #{@authentication.inspect}, challenge:"\
93
+ " #{@challenge.inspect}, actions: #{@actions.inspect}>"
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,27 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Interaction between the cardholder and you. Supply a value of `ecom` to
8
+ # process an eCommerce authorization. Supply a value of `moto` to process an
9
+ # authorization as a [__Mail Order or Telephone
10
+ # Order__](/products/payments/enable-features/moto) transaction. __Note: 3DS
11
+ # authentication cannot be supplied for MOTO payments__.
12
+ class Channel1Enum
13
+ CHANNEL1_ENUM = [
14
+ # TODO: Write general description for ECOM
15
+ ECOM = 'ecom'.freeze,
16
+
17
+ # TODO: Write general description for MOTO
18
+ MOTO = 'moto'.freeze
19
+ ].freeze
20
+
21
+ def self.validate(value)
22
+ return false if value.nil?
23
+
24
+ CHANNEL1_ENUM.include?(value)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,24 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Determines the channel that the transaction came through. `native` should
8
+ # only be set if using the Cardinal 3DS SDK (iOS/Android)
9
+ class ChannelEnum
10
+ CHANNEL_ENUM = [
11
+ # TODO: Write general description for BROWSER
12
+ BROWSER = 'browser'.freeze,
13
+
14
+ # TODO: Write general description for NATIVE
15
+ NATIVE = 'native'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ CHANNEL_ENUM.include?(value)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,104 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ConflictPaymentInstrument Model.
8
+ class ConflictPaymentInstrument < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :type
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :card_number
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :card_holder_name
23
+
24
+ # Contains your customer's card or token expiry date.
25
+ # @return [ExpiryDate]
26
+ attr_accessor :card_expiry_date
27
+
28
+ # Contains the billing address information.
29
+ # @return [BillingAddress]
30
+ attr_accessor :billing_address
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['type'] = 'type'
36
+ @_hash['card_number'] = 'cardNumber'
37
+ @_hash['card_holder_name'] = 'cardHolderName'
38
+ @_hash['card_expiry_date'] = 'cardExpiryDate'
39
+ @_hash['billing_address'] = 'billingAddress'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ type
47
+ card_number
48
+ card_holder_name
49
+ card_expiry_date
50
+ billing_address
51
+ ]
52
+ end
53
+
54
+ # An array for nullable fields
55
+ def self.nullables
56
+ []
57
+ end
58
+
59
+ def initialize(type = SKIP, card_number = SKIP, card_holder_name = SKIP,
60
+ card_expiry_date = SKIP, billing_address = SKIP)
61
+ @type = type unless type == SKIP
62
+ @card_number = card_number unless card_number == SKIP
63
+ @card_holder_name = card_holder_name unless card_holder_name == SKIP
64
+ @card_expiry_date = card_expiry_date unless card_expiry_date == SKIP
65
+ @billing_address = billing_address unless billing_address == SKIP
66
+ end
67
+
68
+ # Creates an instance of the object from a hash.
69
+ def self.from_hash(hash)
70
+ return nil unless hash
71
+
72
+ # Extract variables from the hash.
73
+ type = hash.key?('type') ? hash['type'] : SKIP
74
+ card_number = hash.key?('cardNumber') ? hash['cardNumber'] : SKIP
75
+ card_holder_name =
76
+ hash.key?('cardHolderName') ? hash['cardHolderName'] : SKIP
77
+ card_expiry_date = ExpiryDate.from_hash(hash['cardExpiryDate']) if hash['cardExpiryDate']
78
+ billing_address = BillingAddress.from_hash(hash['billingAddress']) if hash['billingAddress']
79
+
80
+ # Create object from extracted values.
81
+ ConflictPaymentInstrument.new(type,
82
+ card_number,
83
+ card_holder_name,
84
+ card_expiry_date,
85
+ billing_address)
86
+ end
87
+
88
+ # Provides a human-readable string representation of the object.
89
+ def to_s
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} type: #{@type}, card_number: #{@card_number}, card_holder_name:"\
92
+ " #{@card_holder_name}, card_expiry_date: #{@card_expiry_date}, billing_address:"\
93
+ " #{@billing_address}>"
94
+ end
95
+
96
+ # Provides a debugging-friendly string with detailed object information.
97
+ def inspect
98
+ class_name = self.class.name.split('::').last
99
+ "<#{class_name} type: #{@type.inspect}, card_number: #{@card_number.inspect},"\
100
+ " card_holder_name: #{@card_holder_name.inspect}, card_expiry_date:"\
101
+ " #{@card_expiry_date.inspect}, billing_address: #{@billing_address.inspect}>"
102
+ end
103
+ end
104
+ 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 content type
8
+ class ContentTypeEnum
9
+ CONTENT_TYPE_ENUM = [
10
+ # TODO: Write general description for ENUM_APPLICATIONJSON
11
+ ENUM_APPLICATIONJSON = 'application/json'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ CONTENT_TYPE_ENUM.include?(value)
18
+ end
19
+ end
20
+ end