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,70 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # links to the pages.
8
+ class Links1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Self link to the page.
13
+ # @return [Self2]
14
+ attr_accessor :mself
15
+
16
+ # Next page link if the response contains more pages.
17
+ # @return [Next]
18
+ attr_accessor :mnext
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['mself'] = 'self'
24
+ @_hash['mnext'] = 'next'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ mnext
32
+ ]
33
+ end
34
+
35
+ # An array for nullable fields
36
+ def self.nullables
37
+ []
38
+ end
39
+
40
+ def initialize(mself = nil, mnext = SKIP)
41
+ @mself = mself
42
+ @mnext = mnext unless mnext == SKIP
43
+ end
44
+
45
+ # Creates an instance of the object from a hash.
46
+ def self.from_hash(hash)
47
+ return nil unless hash
48
+
49
+ # Extract variables from the hash.
50
+ mself = Self2.from_hash(hash['self']) if hash['self']
51
+ mnext = Next.from_hash(hash['next']) if hash['next']
52
+
53
+ # Create object from extracted values.
54
+ Links1.new(mself,
55
+ mnext)
56
+ end
57
+
58
+ # Provides a human-readable string representation of the object.
59
+ def to_s
60
+ class_name = self.class.name.split('::').last
61
+ "<#{class_name} mself: #{@mself}, mnext: #{@mnext}>"
62
+ end
63
+
64
+ # Provides a debugging-friendly string with detailed object information.
65
+ def inspect
66
+ class_name = self.class.name.split('::').last
67
+ "<#{class_name} mself: #{@mself.inspect}, mnext: #{@mnext.inspect}>"
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,60 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # link to retrieveByPaymentId.
8
+ class Links2 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Self link to retrieveByPaymentId.
13
+ # @return [Self3]
14
+ attr_accessor :mself
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['mself'] = 'self'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ []
26
+ end
27
+
28
+ # An array for nullable fields
29
+ def self.nullables
30
+ []
31
+ end
32
+
33
+ def initialize(mself = nil)
34
+ @mself = mself
35
+ end
36
+
37
+ # Creates an instance of the object from a hash.
38
+ def self.from_hash(hash)
39
+ return nil unless hash
40
+
41
+ # Extract variables from the hash.
42
+ mself = Self3.from_hash(hash['self']) if hash['self']
43
+
44
+ # Create object from extracted values.
45
+ Links2.new(mself)
46
+ end
47
+
48
+ # Provides a human-readable string representation of the object.
49
+ def to_s
50
+ class_name = self.class.name.split('::').last
51
+ "<#{class_name} mself: #{@mself}>"
52
+ end
53
+
54
+ # Provides a debugging-friendly string with detailed object information.
55
+ def inspect
56
+ class_name = self.class.name.split('::').last
57
+ "<#{class_name} mself: #{@mself.inspect}>"
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,97 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Self link and next action links.The Next action links are dependent on the
8
+ # lastEvent, refer to 'query for historical payments Response' section for
9
+ # more details.
10
+ class Links3 < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # Self link to the page.
15
+ # @return [Self1]
16
+ attr_accessor :mself
17
+
18
+ # Next action links.
19
+ # @return [PaymentsCancel]
20
+ attr_accessor :payments_cancel
21
+
22
+ # Next action links.
23
+ # @return [PaymentsSettle]
24
+ attr_accessor :payments_settle
25
+
26
+ # Next action links.
27
+ # @return [PaymentsPartialSettle]
28
+ attr_accessor :payments_partial_settle
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['mself'] = 'self'
34
+ @_hash['payments_cancel'] = 'payments:cancel'
35
+ @_hash['payments_settle'] = 'payments:settle'
36
+ @_hash['payments_partial_settle'] = 'payments:partialSettle'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ payments_cancel
44
+ payments_settle
45
+ payments_partial_settle
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(mself = nil, payments_cancel = SKIP, payments_settle = SKIP,
55
+ payments_partial_settle = SKIP)
56
+ @mself = mself
57
+ @payments_cancel = payments_cancel unless payments_cancel == SKIP
58
+ @payments_settle = payments_settle unless payments_settle == SKIP
59
+ @payments_partial_settle = payments_partial_settle unless payments_partial_settle == SKIP
60
+ end
61
+
62
+ # Creates an instance of the object from a hash.
63
+ def self.from_hash(hash)
64
+ return nil unless hash
65
+
66
+ # Extract variables from the hash.
67
+ mself = Self1.from_hash(hash['self']) if hash['self']
68
+ payments_cancel = PaymentsCancel.from_hash(hash['payments:cancel']) if
69
+ hash['payments:cancel']
70
+ payments_settle = PaymentsSettle.from_hash(hash['payments:settle']) if
71
+ hash['payments:settle']
72
+ payments_partial_settle = PaymentsPartialSettle.from_hash(hash['payments:partialSettle']) if
73
+ hash['payments:partialSettle']
74
+
75
+ # Create object from extracted values.
76
+ Links3.new(mself,
77
+ payments_cancel,
78
+ payments_settle,
79
+ payments_partial_settle)
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} mself: #{@mself}, payments_cancel: #{@payments_cancel}, payments_settle:"\
86
+ " #{@payments_settle}, payments_partial_settle: #{@payments_partial_settle}>"
87
+ end
88
+
89
+ # Provides a debugging-friendly string with detailed object information.
90
+ def inspect
91
+ class_name = self.class.name.split('::').last
92
+ "<#{class_name} mself: #{@mself.inspect}, payments_cancel: #{@payments_cancel.inspect},"\
93
+ " payments_settle: #{@payments_settle.inspect}, payments_partial_settle:"\
94
+ " #{@payments_partial_settle.inspect}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,88 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object that contains information about the merchant.
8
+ class Merchant < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Used to route the request in Access Worldpay, created as part of
13
+ # on-boarding.
14
+ # @return [String]
15
+ attr_accessor :entity
16
+
17
+ # You can apply a merchant category code (mcc) to an individual request. You
18
+ # can only provide an mcc if we have enabled the dynamic mcc feature during
19
+ # boarding. If enabled but not provided, merchant.mcc defaults to a
20
+ # configured value.
21
+ # @return [String]
22
+ attr_accessor :mcc
23
+
24
+ # An object containing Payment Facilitator information. This information is
25
+ # required for every authorization [__only if you are a Payment
26
+ # Facilitator__](/products/payments/enable-features/payment-facilitator)
27
+ # @return [PaymentsPaymentFacilitator]
28
+ attr_accessor :payment_facilitator
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['entity'] = 'entity'
34
+ @_hash['mcc'] = 'mcc'
35
+ @_hash['payment_facilitator'] = 'paymentFacilitator'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ mcc
43
+ payment_facilitator
44
+ ]
45
+ end
46
+
47
+ # An array for nullable fields
48
+ def self.nullables
49
+ []
50
+ end
51
+
52
+ def initialize(entity = nil, mcc = SKIP, payment_facilitator = SKIP)
53
+ @entity = entity
54
+ @mcc = mcc unless mcc == SKIP
55
+ @payment_facilitator = payment_facilitator unless payment_facilitator == SKIP
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ entity = hash.key?('entity') ? hash['entity'] : nil
64
+ mcc = hash.key?('mcc') ? hash['mcc'] : SKIP
65
+ payment_facilitator = PaymentsPaymentFacilitator.from_hash(hash['paymentFacilitator']) if
66
+ hash['paymentFacilitator']
67
+
68
+ # Create object from extracted values.
69
+ Merchant.new(entity,
70
+ mcc,
71
+ payment_facilitator)
72
+ end
73
+
74
+ # Provides a human-readable string representation of the object.
75
+ def to_s
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} entity: #{@entity}, mcc: #{@mcc}, payment_facilitator:"\
78
+ " #{@payment_facilitator}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} entity: #{@entity.inspect}, mcc: #{@mcc.inspect}, payment_facilitator:"\
85
+ " #{@payment_facilitator.inspect}>"
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,34 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Example values are,
8
+ class MessageEnum
9
+ MESSAGE_ENUM = [
10
+ # TODO: Write general description for ENUM_PAYMENT_FAILED_TO_BE_AUTHORIZED
11
+ ENUM_PAYMENT_FAILED_TO_BE_AUTHORIZED = 'Payment failed to be authorized'.freeze,
12
+
13
+ # TODO: Write general description for ENUM_TOKEN_IS_UNRECOGNIZED
14
+ ENUM_TOKEN_IS_UNRECOGNIZED = 'Token is unrecognized'.freeze,
15
+
16
+ # TODO: Write general description for
17
+ # ENUM_THE_TRANSACTION_REFERENCE_IS_A_DUPLICATE
18
+ ENUM_THE_TRANSACTION_REFERENCE_IS_A_DUPLICATE = 'The transaction reference is a duplicate'.freeze,
19
+
20
+ # TODO: Write general description for
21
+ # ENUM_THE_TRANSACTION_HAS_ALREADY_BEEN_PROCESSED
22
+ ENUM_THE_TRANSACTION_HAS_ALREADY_BEEN_PROCESSED = 'The transaction has already been processed'.freeze,
23
+
24
+ # TODO: Write general description for ENUM_CURRENCY_NOT_SUPPORTED
25
+ ENUM_CURRENCY_NOT_SUPPORTED = 'Currency not supported'.freeze
26
+ ].freeze
27
+
28
+ def self.validate(value)
29
+ return false if value.nil?
30
+
31
+ MESSAGE_ENUM.include?(value)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The shipping method used.
8
+ class MethodEnum
9
+ METHOD_ENUM = [
10
+ # TODO: Write general description for BILLINGADDRESS
11
+ BILLINGADDRESS = 'billingAddress'.freeze,
12
+
13
+ # TODO: Write general description for VERIFIEDADDRESS
14
+ VERIFIEDADDRESS = 'verifiedAddress'.freeze,
15
+
16
+ # TODO: Write general description for OTHERADDRESS
17
+ OTHERADDRESS = 'otherAddress'.freeze,
18
+
19
+ # TODO: Write general description for STORE
20
+ STORE = 'store'.freeze,
21
+
22
+ # TODO: Write general description for DIGITAL
23
+ DIGITAL = 'digital'.freeze,
24
+
25
+ # TODO: Write general description for UNSHIPPEDTICKETS
26
+ UNSHIPPEDTICKETS = 'unshippedTickets'.freeze,
27
+
28
+ # TODO: Write general description for OTHER
29
+ OTHER = 'other'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ METHOD_ENUM.include?(value)
36
+ end
37
+ end
38
+ 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
+ # Next page link if the response contains more pages.
8
+ class Next < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Second page as per the pageSize.
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['href'] = 'href'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ href
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(href = SKIP)
36
+ @href = href unless href == 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
+ href = hash.key?('href') ? hash['href'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ Next.new(href)
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} href: #{@href}>"
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} href: #{@href.inspect}>"
60
+ end
61
+ end
62
+ 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
+ # Self Model.
8
+ class Self < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['href'] = 'href'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ href
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(href = SKIP)
36
+ @href = href unless href == 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
+ href = hash.key?('href') ? hash['href'] : SKIP
45
+
46
+ # Create object from extracted values.
47
+ Self.new(href)
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} href: #{@href}>"
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} href: #{@href.inspect}>"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Example values are,
8
+ class NameEnum
9
+ NAME_ENUM = [
10
+ # TODO: Write general description for INTERNALERROROCCURRED
11
+ INTERNALERROROCCURRED = 'internalErrorOccurred'.freeze,
12
+
13
+ # TODO: Write general description for TRANSACTIONREFERENCEISADUPLICATE
14
+ TRANSACTIONREFERENCEISADUPLICATE = 'transactionReferenceIsADuplicate'.freeze,
15
+
16
+ # TODO: Write general description for TRANSACTIONHASALREADYBEENPROCESSED
17
+ TRANSACTIONHASALREADYBEENPROCESSED = 'transactionHasAlreadyBeenProcessed'.freeze,
18
+
19
+ # TODO: Write general description for CHANNELISNOTSUPPORTED
20
+ CHANNELISNOTSUPPORTED = 'channelIsNotSupported'.freeze,
21
+
22
+ # TODO: Write general description for CURRENCYISNOTSUPPORTED
23
+ CURRENCYISNOTSUPPORTED = 'currencyIsNotSupported'.freeze,
24
+
25
+ # TODO: Write general description for PAYMENTINSTRUMENTISNOTSUPPORTED
26
+ PAYMENTINSTRUMENTISNOTSUPPORTED = 'paymentInstrumentIsNotSupported'.freeze,
27
+
28
+ # TODO: Write general description for FIELDHASINVALIDVALUE
29
+ FIELDHASINVALIDVALUE = 'fieldHasInvalidValue'.freeze,
30
+
31
+ # TODO: Write general description for FIELDISEMPTY
32
+ FIELDISEMPTY = 'fieldIsEmpty'.freeze,
33
+
34
+ # TODO: Write general description for CARDNUMBERISNOTRECOGNIZED
35
+ CARDNUMBERISNOTRECOGNIZED = 'cardNumberIsNotRecognized'.freeze,
36
+
37
+ # TODO: Write general description for
38
+ # UNDERLYINGPAYMENTINSTRUMENTHASEXPIRED
39
+ UNDERLYINGPAYMENTINSTRUMENTHASEXPIRED = 'underlyingPaymentInstrumentHasExpired'.freeze,
40
+
41
+ # TODO: Write general description for ENTITYISNOTCONFIGURED
42
+ ENTITYISNOTCONFIGURED = 'entityIsNotConfigured'.freeze
43
+ ].freeze
44
+
45
+ def self.validate(value)
46
+ return false if value.nil?
47
+
48
+ NAME_ENUM.include?(value)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,86 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The text that appears on your customer's statement. Used to identify the
8
+ # merchant.
9
+ class Narrative < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # line1 is used to provide basic details about the merchant.
14
+ # @return [String]
15
+ attr_accessor :line1
16
+
17
+ # line2 is used for additional context about the payment or merchant. E.g.
18
+ # Order number or Merchant phone number.
19
+ # @return [String]
20
+ attr_accessor :line2
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['line1'] = 'line1'
26
+ @_hash['line2'] = 'line2'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ %w[
33
+ line2
34
+ ]
35
+ end
36
+
37
+ # An array for nullable fields
38
+ def self.nullables
39
+ []
40
+ end
41
+
42
+ def initialize(line1 = nil, line2 = SKIP)
43
+ @line1 = line1
44
+ @line2 = line2 unless line2 == SKIP
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
+ line1 = hash.key?('line1') ? hash['line1'] : nil
53
+ line2 = hash.key?('line2') ? hash['line2'] : SKIP
54
+
55
+ # Create object from extracted values.
56
+ Narrative.new(line1,
57
+ line2)
58
+ end
59
+
60
+ # Validates an instance of the object from a given value.
61
+ # @param [Narrative | Hash] The value against the validation is performed.
62
+ def self.validate(value)
63
+ if value.instance_of? self
64
+ return APIHelper.valid_type?(value.line1,
65
+ ->(val) { val.instance_of? String })
66
+ end
67
+
68
+ return false unless value.instance_of? Hash
69
+
70
+ APIHelper.valid_type?(value['line1'],
71
+ ->(val) { val.instance_of? String })
72
+ end
73
+
74
+ # Provides a human-readable string representation of the object.
75
+ def to_s
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} line1: #{@line1}, line2: #{@line2}>"
78
+ end
79
+
80
+ # Provides a debugging-friendly string with detailed object information.
81
+ def inspect
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} line1: #{@line1.inspect}, line2: #{@line2.inspect}>"
84
+ end
85
+ end
86
+ end