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,159 @@
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 updated payment instrument.
8
+ class UpdatedPaymentInstrument < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Returned if the payment instrument was swapped for a network token.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :applied_network_token
15
+
16
+ # Returned if the payment instrument was swapped for a network token.
17
+ # @return [TypeEnum]
18
+ attr_accessor :type
19
+
20
+ # Details on the type of payment instrument update.
21
+ # @return [AccountUpdaterMessageEnum]
22
+ attr_accessor :account_updater_message
23
+
24
+ # Details on the type of payment instrument update.
25
+ # @return [String]
26
+ attr_accessor :card_number
27
+
28
+ # The updated card BIN (Bank Identification Number).
29
+ # @return [String]
30
+ attr_accessor :card_bin
31
+
32
+ # The four digits of the updated card. Some characters may be obfuscated
33
+ # with a * if the PAN length is less than 16 characters.
34
+ # @return [String]
35
+ attr_accessor :last_four
36
+
37
+ # Contains your customer's card or token expiry date.
38
+ # @return [ExpiryDate]
39
+ attr_accessor :expiry_date
40
+
41
+ # The brand of the updated card. In rare circumstances a card may be
42
+ # reissued under a different brand.
43
+ # @return [String]
44
+ attr_accessor :card_brand
45
+
46
+ # How the card is funded.
47
+ # @return [String]
48
+ attr_accessor :funding_type
49
+
50
+ # How the card is funded.
51
+ # @return [String]
52
+ attr_accessor :country_code
53
+
54
+ # A mapping from model property names to API property names.
55
+ def self.names
56
+ @_hash = {} if @_hash.nil?
57
+ @_hash['applied_network_token'] = 'appliedNetworkToken'
58
+ @_hash['type'] = 'type'
59
+ @_hash['account_updater_message'] = 'accountUpdaterMessage'
60
+ @_hash['card_number'] = 'cardNumber'
61
+ @_hash['card_bin'] = 'cardBin'
62
+ @_hash['last_four'] = 'lastFour'
63
+ @_hash['expiry_date'] = 'expiryDate'
64
+ @_hash['card_brand'] = 'cardBrand'
65
+ @_hash['funding_type'] = 'fundingType'
66
+ @_hash['country_code'] = 'countryCode'
67
+ @_hash
68
+ end
69
+
70
+ # An array for optional fields
71
+ def self.optionals
72
+ %w[
73
+ applied_network_token
74
+ type
75
+ account_updater_message
76
+ card_number
77
+ card_bin
78
+ last_four
79
+ expiry_date
80
+ card_brand
81
+ funding_type
82
+ country_code
83
+ ]
84
+ end
85
+
86
+ # An array for nullable fields
87
+ def self.nullables
88
+ []
89
+ end
90
+
91
+ def initialize(applied_network_token = SKIP, type = SKIP,
92
+ account_updater_message = SKIP, card_number = SKIP,
93
+ card_bin = SKIP, last_four = SKIP, expiry_date = SKIP,
94
+ card_brand = SKIP, funding_type = SKIP, country_code = SKIP)
95
+ @applied_network_token = applied_network_token unless applied_network_token == SKIP
96
+ @type = type unless type == SKIP
97
+ @account_updater_message = account_updater_message unless account_updater_message == SKIP
98
+ @card_number = card_number unless card_number == SKIP
99
+ @card_bin = card_bin unless card_bin == SKIP
100
+ @last_four = last_four unless last_four == SKIP
101
+ @expiry_date = expiry_date unless expiry_date == SKIP
102
+ @card_brand = card_brand unless card_brand == SKIP
103
+ @funding_type = funding_type unless funding_type == SKIP
104
+ @country_code = country_code unless country_code == SKIP
105
+ end
106
+
107
+ # Creates an instance of the object from a hash.
108
+ def self.from_hash(hash)
109
+ return nil unless hash
110
+
111
+ # Extract variables from the hash.
112
+ applied_network_token =
113
+ hash.key?('appliedNetworkToken') ? hash['appliedNetworkToken'] : SKIP
114
+ type = hash.key?('type') ? hash['type'] : SKIP
115
+ account_updater_message =
116
+ hash.key?('accountUpdaterMessage') ? hash['accountUpdaterMessage'] : SKIP
117
+ card_number = hash.key?('cardNumber') ? hash['cardNumber'] : SKIP
118
+ card_bin = hash.key?('cardBin') ? hash['cardBin'] : SKIP
119
+ last_four = hash.key?('lastFour') ? hash['lastFour'] : SKIP
120
+ expiry_date = ExpiryDate.from_hash(hash['expiryDate']) if hash['expiryDate']
121
+ card_brand = hash.key?('cardBrand') ? hash['cardBrand'] : SKIP
122
+ funding_type = hash.key?('fundingType') ? hash['fundingType'] : SKIP
123
+ country_code = hash.key?('countryCode') ? hash['countryCode'] : SKIP
124
+
125
+ # Create object from extracted values.
126
+ UpdatedPaymentInstrument.new(applied_network_token,
127
+ type,
128
+ account_updater_message,
129
+ card_number,
130
+ card_bin,
131
+ last_four,
132
+ expiry_date,
133
+ card_brand,
134
+ funding_type,
135
+ country_code)
136
+ end
137
+
138
+ # Provides a human-readable string representation of the object.
139
+ def to_s
140
+ class_name = self.class.name.split('::').last
141
+ "<#{class_name} applied_network_token: #{@applied_network_token}, type: #{@type},"\
142
+ " account_updater_message: #{@account_updater_message}, card_number: #{@card_number},"\
143
+ " card_bin: #{@card_bin}, last_four: #{@last_four}, expiry_date: #{@expiry_date},"\
144
+ " card_brand: #{@card_brand}, funding_type: #{@funding_type}, country_code:"\
145
+ " #{@country_code}>"
146
+ end
147
+
148
+ # Provides a debugging-friendly string with detailed object information.
149
+ def inspect
150
+ class_name = self.class.name.split('::').last
151
+ "<#{class_name} applied_network_token: #{@applied_network_token.inspect}, type:"\
152
+ " #{@type.inspect}, account_updater_message: #{@account_updater_message.inspect},"\
153
+ " card_number: #{@card_number.inspect}, card_bin: #{@card_bin.inspect}, last_four:"\
154
+ " #{@last_four.inspect}, expiry_date: #{@expiry_date.inspect}, card_brand:"\
155
+ " #{@card_brand.inspect}, funding_type: #{@funding_type.inspect}, country_code:"\
156
+ " #{@country_code.inspect}>"
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,93 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The payment instrument supplied in the authorization request.
8
+ class UpdatedPaymentInstrument1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of payment instrument supplied in the authorization request.
13
+ # @return [Type10Enum]
14
+ attr_accessor :type
15
+
16
+ # An object that contains information about the card used.
17
+ # @return [Card1]
18
+ attr_accessor :card
19
+
20
+ # Details on the type of payment instrument update.
21
+ # @return [AccountUpdaterMessage1Enum]
22
+ attr_accessor :account_updater_message
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['card'] = 'card'
29
+ @_hash['account_updater_message'] = 'accountUpdaterMessage'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ type
37
+ card
38
+ account_updater_message
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(type = SKIP, card = SKIP, account_updater_message = SKIP)
48
+ @type = type unless type == SKIP
49
+ @card = card unless card == SKIP
50
+ @account_updater_message = account_updater_message unless account_updater_message == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ type = hash.key?('type') ? hash['type'] : SKIP
59
+ card = Card1.from_hash(hash['card']) if hash['card']
60
+ account_updater_message =
61
+ hash.key?('accountUpdaterMessage') ? hash['accountUpdaterMessage'] : SKIP
62
+
63
+ # Create object from extracted values.
64
+ UpdatedPaymentInstrument1.new(type,
65
+ card,
66
+ account_updater_message)
67
+ end
68
+
69
+ # Validates an instance of the object from a given value.
70
+ # @param [UpdatedPaymentInstrument1 | Hash] The value against the validation is performed.
71
+ def self.validate(value)
72
+ return true if value.instance_of? self
73
+
74
+ return false unless value.instance_of? Hash
75
+
76
+ true
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} type: #{@type}, card: #{@card}, account_updater_message:"\
83
+ " #{@account_updater_message}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} type: #{@type.inspect}, card: #{@card.inspect}, account_updater_message:"\
90
+ " #{@account_updater_message.inspect}>"
91
+ end
92
+ end
93
+ 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
+ # UserType.
8
+ class UserTypeEnum
9
+ USER_TYPE_ENUM = [
10
+ # TODO: Write general description for GUESTUSER
11
+ GUESTUSER = 'guestUser'.freeze,
12
+
13
+ # TODO: Write general description for REGISTEREDUSER
14
+ REGISTEREDUSER = 'registeredUser'.freeze,
15
+
16
+ # TODO: Write general description for FEDERATEDACCOUNT
17
+ FEDERATEDACCOUNT = 'federatedAccount'.freeze,
18
+
19
+ # TODO: Write general description for ISSUERCREDENTIALS
20
+ ISSUERCREDENTIALS = 'issuerCredentials'.freeze,
21
+
22
+ # TODO: Write general description for THIRDPARTYAUTHENTICATION
23
+ THIRDPARTYAUTHENTICATION = 'thirdPartyAuthentication'.freeze,
24
+
25
+ # TODO: Write general description for FIDOAUTHENTICATOR
26
+ FIDOAUTHENTICATOR = 'fidoAuthenticator'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ USER_TYPE_ENUM.include?(value)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,94 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Value Model.
8
+ class Value < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The three character currency code. See list of <a
13
+ # href="/products/reference/supported-countries-currencies#iso-currency-code
14
+ # s">supported currencies</a>
15
+ # @return [String]
16
+ attr_accessor :currency
17
+
18
+ # The payment amount. Implied decimal. For example, 250 GBP = £2.50
19
+ # When set to `0` will perform a card verification instead of a payment as
20
+ # part of a new `customerAgreement`.
21
+ # @return [Integer]
22
+ attr_accessor :amount
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['currency'] = 'currency'
28
+ @_hash['amount'] = 'amount'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ []
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(currency = nil, amount = nil)
43
+ @currency = currency
44
+ @amount = amount
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ currency = hash.key?('currency') ? hash['currency'] : nil
53
+ amount = Number.from_hash(hash['amount']) if hash['amount']
54
+
55
+ # Create object from extracted values.
56
+ Value.new(currency,
57
+ amount)
58
+ end
59
+
60
+ # Validates an instance of the object from a given value.
61
+ # @param [Value | Hash] The value against the validation is performed.
62
+ def self.validate(value)
63
+ if value.instance_of? self
64
+ return (
65
+ APIHelper.valid_type?(value.currency,
66
+ ->(val) { val.instance_of? String }) and
67
+ APIHelper.valid_type?(value.amount,
68
+ ->(val) { val.instance_of? Integer })
69
+ )
70
+ end
71
+
72
+ return false unless value.instance_of? Hash
73
+
74
+ (
75
+ APIHelper.valid_type?(value['currency'],
76
+ ->(val) { val.instance_of? String }) and
77
+ APIHelper.valid_type?(value['amount'],
78
+ ->(val) { val.instance_of? Integer })
79
+ )
80
+ end
81
+
82
+ # Provides a human-readable string representation of the object.
83
+ def to_s
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} currency: #{@currency}, amount: #{@amount}>"
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
+ "<#{class_name} currency: #{@currency.inspect}, amount: #{@amount.inspect}>"
92
+ end
93
+ end
94
+ 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
+ # An object that contains the amount and currency requested for settlement.
8
+ class Value1 < 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
+ Value1.new(amount,
54
+ currency)
55
+ end
56
+
57
+ # Validates an instance of the object from a given value.
58
+ # @param [Value1 | 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,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 the amount and currency requested for refund.
8
+ class Value2 < 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
+ Value2.new(amount,
54
+ currency)
55
+ end
56
+
57
+ # Validates an instance of the object from a given value.
58
+ # @param [Value2 | 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,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 the amount and currency requested for reversal.
8
+ class Value3 < 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
+ Value3.new(amount,
54
+ currency)
55
+ end
56
+
57
+ # Validates an instance of the object from a given value.
58
+ # @param [Value3 | 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