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,241 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Additional values specific to your order that can be used to create manual
8
+ # fraud rules.
9
+ class Custom < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Integer]
15
+ attr_accessor :number1
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [Integer]
19
+ attr_accessor :number2
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [Integer]
23
+ attr_accessor :number3
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [Integer]
27
+ attr_accessor :number4
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [Integer]
31
+ attr_accessor :number5
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [Integer]
35
+ attr_accessor :number6
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [Integer]
39
+ attr_accessor :number7
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [Integer]
43
+ attr_accessor :number8
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [Integer]
47
+ attr_accessor :number9
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [String]
51
+ attr_accessor :string1
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [String]
55
+ attr_accessor :string2
56
+
57
+ # TODO: Write general description for this method
58
+ # @return [String]
59
+ attr_accessor :string3
60
+
61
+ # TODO: Write general description for this method
62
+ # @return [String]
63
+ attr_accessor :string4
64
+
65
+ # TODO: Write general description for this method
66
+ # @return [String]
67
+ attr_accessor :string5
68
+
69
+ # TODO: Write general description for this method
70
+ # @return [String]
71
+ attr_accessor :string6
72
+
73
+ # TODO: Write general description for this method
74
+ # @return [String]
75
+ attr_accessor :string7
76
+
77
+ # TODO: Write general description for this method
78
+ # @return [String]
79
+ attr_accessor :string8
80
+
81
+ # TODO: Write general description for this method
82
+ # @return [String]
83
+ attr_accessor :string9
84
+
85
+ # A mapping from model property names to API property names.
86
+ def self.names
87
+ @_hash = {} if @_hash.nil?
88
+ @_hash['number1'] = 'number1'
89
+ @_hash['number2'] = 'number2'
90
+ @_hash['number3'] = 'number3'
91
+ @_hash['number4'] = 'number4'
92
+ @_hash['number5'] = 'number5'
93
+ @_hash['number6'] = 'number6'
94
+ @_hash['number7'] = 'number7'
95
+ @_hash['number8'] = 'number8'
96
+ @_hash['number9'] = 'number9'
97
+ @_hash['string1'] = 'string1'
98
+ @_hash['string2'] = 'string2'
99
+ @_hash['string3'] = 'string3'
100
+ @_hash['string4'] = 'string4'
101
+ @_hash['string5'] = 'string5'
102
+ @_hash['string6'] = 'string6'
103
+ @_hash['string7'] = 'string7'
104
+ @_hash['string8'] = 'string8'
105
+ @_hash['string9'] = 'string9'
106
+ @_hash
107
+ end
108
+
109
+ # An array for optional fields
110
+ def self.optionals
111
+ %w[
112
+ number1
113
+ number2
114
+ number3
115
+ number4
116
+ number5
117
+ number6
118
+ number7
119
+ number8
120
+ number9
121
+ string1
122
+ string2
123
+ string3
124
+ string4
125
+ string5
126
+ string6
127
+ string7
128
+ string8
129
+ string9
130
+ ]
131
+ end
132
+
133
+ # An array for nullable fields
134
+ def self.nullables
135
+ []
136
+ end
137
+
138
+ def initialize(number1 = SKIP, number2 = SKIP, number3 = SKIP,
139
+ number4 = SKIP, number5 = SKIP, number6 = SKIP,
140
+ number7 = SKIP, number8 = SKIP, number9 = SKIP,
141
+ string1 = SKIP, string2 = SKIP, string3 = SKIP,
142
+ string4 = SKIP, string5 = SKIP, string6 = SKIP,
143
+ string7 = SKIP, string8 = SKIP, string9 = SKIP)
144
+ @number1 = number1 unless number1 == SKIP
145
+ @number2 = number2 unless number2 == SKIP
146
+ @number3 = number3 unless number3 == SKIP
147
+ @number4 = number4 unless number4 == SKIP
148
+ @number5 = number5 unless number5 == SKIP
149
+ @number6 = number6 unless number6 == SKIP
150
+ @number7 = number7 unless number7 == SKIP
151
+ @number8 = number8 unless number8 == SKIP
152
+ @number9 = number9 unless number9 == SKIP
153
+ @string1 = string1 unless string1 == SKIP
154
+ @string2 = string2 unless string2 == SKIP
155
+ @string3 = string3 unless string3 == SKIP
156
+ @string4 = string4 unless string4 == SKIP
157
+ @string5 = string5 unless string5 == SKIP
158
+ @string6 = string6 unless string6 == SKIP
159
+ @string7 = string7 unless string7 == SKIP
160
+ @string8 = string8 unless string8 == SKIP
161
+ @string9 = string9 unless string9 == SKIP
162
+ end
163
+
164
+ # Creates an instance of the object from a hash.
165
+ def self.from_hash(hash)
166
+ return nil unless hash
167
+
168
+ # Extract variables from the hash.
169
+ number1 = Number.from_hash(hash['number1']) if hash['number1']
170
+ number2 = Number.from_hash(hash['number2']) if hash['number2']
171
+ number3 = Number.from_hash(hash['number3']) if hash['number3']
172
+ number4 = Number.from_hash(hash['number4']) if hash['number4']
173
+ number5 = Number.from_hash(hash['number5']) if hash['number5']
174
+ number6 = Number.from_hash(hash['number6']) if hash['number6']
175
+ number7 = Number.from_hash(hash['number7']) if hash['number7']
176
+ number8 = Number.from_hash(hash['number8']) if hash['number8']
177
+ number9 = Number.from_hash(hash['number9']) if hash['number9']
178
+ string1 = hash.key?('string1') ? hash['string1'] : SKIP
179
+ string2 = hash.key?('string2') ? hash['string2'] : SKIP
180
+ string3 = hash.key?('string3') ? hash['string3'] : SKIP
181
+ string4 = hash.key?('string4') ? hash['string4'] : SKIP
182
+ string5 = hash.key?('string5') ? hash['string5'] : SKIP
183
+ string6 = hash.key?('string6') ? hash['string6'] : SKIP
184
+ string7 = hash.key?('string7') ? hash['string7'] : SKIP
185
+ string8 = hash.key?('string8') ? hash['string8'] : SKIP
186
+ string9 = hash.key?('string9') ? hash['string9'] : SKIP
187
+
188
+ # Create object from extracted values.
189
+ Custom.new(number1,
190
+ number2,
191
+ number3,
192
+ number4,
193
+ number5,
194
+ number6,
195
+ number7,
196
+ number8,
197
+ number9,
198
+ string1,
199
+ string2,
200
+ string3,
201
+ string4,
202
+ string5,
203
+ string6,
204
+ string7,
205
+ string8,
206
+ string9)
207
+ end
208
+
209
+ # Validates an instance of the object from a given value.
210
+ # @param [Custom | Hash] The value against the validation is performed.
211
+ def self.validate(value)
212
+ return true if value.instance_of? self
213
+
214
+ return false unless value.instance_of? Hash
215
+
216
+ true
217
+ end
218
+
219
+ # Provides a human-readable string representation of the object.
220
+ def to_s
221
+ class_name = self.class.name.split('::').last
222
+ "<#{class_name} number1: #{@number1}, number2: #{@number2}, number3: #{@number3}, number4:"\
223
+ " #{@number4}, number5: #{@number5}, number6: #{@number6}, number7: #{@number7}, number8:"\
224
+ " #{@number8}, number9: #{@number9}, string1: #{@string1}, string2: #{@string2}, string3:"\
225
+ " #{@string3}, string4: #{@string4}, string5: #{@string5}, string6: #{@string6}, string7:"\
226
+ " #{@string7}, string8: #{@string8}, string9: #{@string9}>"
227
+ end
228
+
229
+ # Provides a debugging-friendly string with detailed object information.
230
+ def inspect
231
+ class_name = self.class.name.split('::').last
232
+ "<#{class_name} number1: #{@number1.inspect}, number2: #{@number2.inspect}, number3:"\
233
+ " #{@number3.inspect}, number4: #{@number4.inspect}, number5: #{@number5.inspect}, number6:"\
234
+ " #{@number6.inspect}, number7: #{@number7.inspect}, number8: #{@number8.inspect}, number9:"\
235
+ " #{@number9.inspect}, string1: #{@string1.inspect}, string2: #{@string2.inspect}, string3:"\
236
+ " #{@string3.inspect}, string4: #{@string4.inspect}, string5: #{@string5.inspect}, string6:"\
237
+ " #{@string6.inspect}, string7: #{@string7.inspect}, string8: #{@string8.inspect}, string9:"\
238
+ " #{@string9.inspect}>"
239
+ end
240
+ end
241
+ end
@@ -0,0 +1,146 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Customer Model.
8
+ class Customer < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Unique identifier used by the ecommerce system for the customer.
13
+ # @return [String]
14
+ attr_accessor :customer_id
15
+
16
+ # Customer's first name.
17
+ # @return [String]
18
+ attr_accessor :first_name
19
+
20
+ # Customer's last name.
21
+ # @return [String]
22
+ attr_accessor :last_name
23
+
24
+ # Customer's phone number.
25
+ # @return [String]
26
+ attr_accessor :phone
27
+
28
+ # Customer's date of birth.
29
+ # @return [Date]
30
+ attr_accessor :date_of_birth
31
+
32
+ # Customers's email address used for the ecommerce account.
33
+ # @return [String]
34
+ attr_accessor :email
35
+
36
+ # A unique identifier for your customer's physical location that
37
+ # can be used by the issuer in risk analysis. Must be in IPv4 or
38
+ # IPv6 format.
39
+ # E.g. 192.0.0.0.
40
+ # @return [String]
41
+ attr_accessor :ip_address
42
+
43
+ # Required for domestic processing in some Latin American countries.
44
+ # @return [String]
45
+ attr_accessor :document_reference
46
+
47
+ # A mapping from model property names to API property names.
48
+ def self.names
49
+ @_hash = {} if @_hash.nil?
50
+ @_hash['customer_id'] = 'customerId'
51
+ @_hash['first_name'] = 'firstName'
52
+ @_hash['last_name'] = 'lastName'
53
+ @_hash['phone'] = 'phone'
54
+ @_hash['date_of_birth'] = 'dateOfBirth'
55
+ @_hash['email'] = 'email'
56
+ @_hash['ip_address'] = 'ipAddress'
57
+ @_hash['document_reference'] = 'documentReference'
58
+ @_hash
59
+ end
60
+
61
+ # An array for optional fields
62
+ def self.optionals
63
+ %w[
64
+ customer_id
65
+ first_name
66
+ last_name
67
+ phone
68
+ date_of_birth
69
+ email
70
+ ip_address
71
+ document_reference
72
+ ]
73
+ end
74
+
75
+ # An array for nullable fields
76
+ def self.nullables
77
+ []
78
+ end
79
+
80
+ def initialize(customer_id = SKIP, first_name = SKIP, last_name = SKIP,
81
+ phone = SKIP, date_of_birth = SKIP, email = SKIP,
82
+ ip_address = SKIP, document_reference = SKIP)
83
+ @customer_id = customer_id unless customer_id == SKIP
84
+ @first_name = first_name unless first_name == SKIP
85
+ @last_name = last_name unless last_name == SKIP
86
+ @phone = phone unless phone == SKIP
87
+ @date_of_birth = date_of_birth unless date_of_birth == SKIP
88
+ @email = email unless email == SKIP
89
+ @ip_address = ip_address unless ip_address == SKIP
90
+ @document_reference = document_reference unless document_reference == SKIP
91
+ end
92
+
93
+ # Creates an instance of the object from a hash.
94
+ def self.from_hash(hash)
95
+ return nil unless hash
96
+
97
+ # Extract variables from the hash.
98
+ customer_id = hash.key?('customerId') ? hash['customerId'] : SKIP
99
+ first_name = hash.key?('firstName') ? hash['firstName'] : SKIP
100
+ last_name = hash.key?('lastName') ? hash['lastName'] : SKIP
101
+ phone = hash.key?('phone') ? hash['phone'] : SKIP
102
+ date_of_birth = hash.key?('dateOfBirth') ? hash['dateOfBirth'] : SKIP
103
+ email = hash.key?('email') ? hash['email'] : SKIP
104
+ ip_address = hash.key?('ipAddress') ? hash['ipAddress'] : SKIP
105
+ document_reference =
106
+ hash.key?('documentReference') ? hash['documentReference'] : SKIP
107
+
108
+ # Create object from extracted values.
109
+ Customer.new(customer_id,
110
+ first_name,
111
+ last_name,
112
+ phone,
113
+ date_of_birth,
114
+ email,
115
+ ip_address,
116
+ document_reference)
117
+ end
118
+
119
+ # Validates an instance of the object from a given value.
120
+ # @param [Customer | Hash] The value against the validation is performed.
121
+ def self.validate(value)
122
+ return true if value.instance_of? self
123
+
124
+ return false unless value.instance_of? Hash
125
+
126
+ true
127
+ end
128
+
129
+ # Provides a human-readable string representation of the object.
130
+ def to_s
131
+ class_name = self.class.name.split('::').last
132
+ "<#{class_name} customer_id: #{@customer_id}, first_name: #{@first_name}, last_name:"\
133
+ " #{@last_name}, phone: #{@phone}, date_of_birth: #{@date_of_birth}, email: #{@email},"\
134
+ " ip_address: #{@ip_address}, document_reference: #{@document_reference}>"
135
+ end
136
+
137
+ # Provides a debugging-friendly string with detailed object information.
138
+ def inspect
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} customer_id: #{@customer_id.inspect}, first_name: #{@first_name.inspect},"\
141
+ " last_name: #{@last_name.inspect}, phone: #{@phone.inspect}, date_of_birth:"\
142
+ " #{@date_of_birth.inspect}, email: #{@email.inspect}, ip_address: #{@ip_address.inspect},"\
143
+ " document_reference: #{@document_reference.inspect}>"
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,120 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # CustomerAgreement Model.
8
+ class CustomerAgreement < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Type4Enum]
14
+ attr_accessor :type
15
+
16
+ # Set to `first` to store a card or `subsequent` to use a previously stored
17
+ # card.
18
+ # @return [StoredCardUsageEnum]
19
+ attr_accessor :stored_card_usage
20
+
21
+ # Defines the type of installments service.
22
+ # Read more on how to set up [__Latin America
23
+ # Installments__](/products/payments/enable-features/latam-installments)
24
+ # under our guide.
25
+ # @return [InstallmentTypeEnum]
26
+ attr_accessor :installment_type
27
+
28
+ # Required only for `latinAmerica` installment type. Not allowed for
29
+ # `merchant` installment type.
30
+ # @return [InstallmentPlan]
31
+ attr_accessor :installment_plan
32
+
33
+ # Optional field available only for `subsequent` storedCardUsage. Unique
34
+ # reference provided by card schemes used to link the `first` and
35
+ # `subsequent` payments. If a Worldpay token was created as part of the
36
+ # first payment, this value is bundled with the token and does not need to
37
+ # be provided again. If you manage multiple agreements for a single
38
+ # cardholder using a token, please use the `schemeReference` returned to
39
+ # you. This allows you to distinguish and manage each separate agreement
40
+ # appropriately.
41
+ # @return [String]
42
+ attr_accessor :scheme_reference
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['type'] = 'type'
48
+ @_hash['stored_card_usage'] = 'storedCardUsage'
49
+ @_hash['installment_type'] = 'installmentType'
50
+ @_hash['installment_plan'] = 'installmentPlan'
51
+ @_hash['scheme_reference'] = 'schemeReference'
52
+ @_hash
53
+ end
54
+
55
+ # An array for optional fields
56
+ def self.optionals
57
+ %w[
58
+ type
59
+ stored_card_usage
60
+ installment_type
61
+ installment_plan
62
+ scheme_reference
63
+ ]
64
+ end
65
+
66
+ # An array for nullable fields
67
+ def self.nullables
68
+ []
69
+ end
70
+
71
+ def initialize(type = SKIP, stored_card_usage = SKIP,
72
+ installment_type = SKIP, installment_plan = SKIP,
73
+ scheme_reference = SKIP)
74
+ @type = type unless type == SKIP
75
+ @stored_card_usage = stored_card_usage unless stored_card_usage == SKIP
76
+ @installment_type = installment_type unless installment_type == SKIP
77
+ @installment_plan = installment_plan unless installment_plan == SKIP
78
+ @scheme_reference = scheme_reference unless scheme_reference == SKIP
79
+ end
80
+
81
+ # Creates an instance of the object from a hash.
82
+ def self.from_hash(hash)
83
+ return nil unless hash
84
+
85
+ # Extract variables from the hash.
86
+ type = hash.key?('type') ? hash['type'] : SKIP
87
+ stored_card_usage =
88
+ hash.key?('storedCardUsage') ? hash['storedCardUsage'] : SKIP
89
+ installment_type =
90
+ hash.key?('installmentType') ? hash['installmentType'] : SKIP
91
+ installment_plan = InstallmentPlan.from_hash(hash['installmentPlan']) if
92
+ hash['installmentPlan']
93
+ scheme_reference =
94
+ hash.key?('schemeReference') ? hash['schemeReference'] : SKIP
95
+
96
+ # Create object from extracted values.
97
+ CustomerAgreement.new(type,
98
+ stored_card_usage,
99
+ installment_type,
100
+ installment_plan,
101
+ scheme_reference)
102
+ end
103
+
104
+ # Provides a human-readable string representation of the object.
105
+ def to_s
106
+ class_name = self.class.name.split('::').last
107
+ "<#{class_name} type: #{@type}, stored_card_usage: #{@stored_card_usage}, installment_type:"\
108
+ " #{@installment_type}, installment_plan: #{@installment_plan}, scheme_reference:"\
109
+ " #{@scheme_reference}>"
110
+ end
111
+
112
+ # Provides a debugging-friendly string with detailed object information.
113
+ def inspect
114
+ class_name = self.class.name.split('::').last
115
+ "<#{class_name} type: #{@type.inspect}, stored_card_usage: #{@stored_card_usage.inspect},"\
116
+ " installment_type: #{@installment_type.inspect}, installment_plan:"\
117
+ " #{@installment_plan.inspect}, scheme_reference: #{@scheme_reference.inspect}>"
118
+ end
119
+ end
120
+ 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
+ # By default a payment will be `sentForCancellation` if the CVC is
8
+ # `notMatched`, set `disabled` to continue with `sentForSettlement`.
9
+ class CvcNotMatchedEnum
10
+ CVC_NOT_MATCHED_ENUM = [
11
+ # TODO: Write general description for ENABLED
12
+ ENABLED = 'enabled'.freeze,
13
+
14
+ # TODO: Write general description for DISABLED
15
+ DISABLED = 'disabled'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ CVC_NOT_MATCHED_ENUM.include?(value)
22
+ end
23
+ end
24
+ 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
+ # Detail.
8
+ class DetailEnum
9
+ DETAIL_ENUM = [
10
+ # TODO: Write general description for ADDRESS
11
+ ADDRESS = 'address'.freeze,
12
+
13
+ # TODO: Write general description for POSTCODE
14
+ POSTCODE = 'postcode'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ DETAIL_ENUM.include?(value)
21
+ end
22
+ end
23
+ end