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,102 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PartialSettleActionList Model.
8
+ class PartialSettleActionList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Fully refund the payment. See [details](../payments-lifecycle/refund)
13
+ # @return [PaymentsActionRefund]
14
+ attr_accessor :refund_payment
15
+
16
+ # Partially refund the payment.
17
+ # @return [PaymentsActionPartialRefund]
18
+ attr_accessor :partially_refund_payment
19
+
20
+ # Partially settle the payment. See
21
+ # [details](../payments-lifecycle/partialsettle) including what to add in
22
+ # the request body.
23
+ # @return [PaymentsActionPartialSettle]
24
+ attr_accessor :partially_settle_payment
25
+
26
+ # Cancel the payment. See [details](../payments-lifecycle/cancel)
27
+ # @return [PaymentsActionCancel]
28
+ attr_accessor :cancel_payment
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['refund_payment'] = 'refundPayment'
34
+ @_hash['partially_refund_payment'] = 'partiallyRefundPayment'
35
+ @_hash['partially_settle_payment'] = 'partiallySettlePayment'
36
+ @_hash['cancel_payment'] = 'cancelPayment'
37
+ @_hash
38
+ end
39
+
40
+ # An array for optional fields
41
+ def self.optionals
42
+ %w[
43
+ refund_payment
44
+ partially_refund_payment
45
+ partially_settle_payment
46
+ cancel_payment
47
+ ]
48
+ end
49
+
50
+ # An array for nullable fields
51
+ def self.nullables
52
+ []
53
+ end
54
+
55
+ def initialize(refund_payment = SKIP, partially_refund_payment = SKIP,
56
+ partially_settle_payment = SKIP, cancel_payment = SKIP)
57
+ @refund_payment = refund_payment unless refund_payment == SKIP
58
+ @partially_refund_payment = partially_refund_payment unless partially_refund_payment == SKIP
59
+ @partially_settle_payment = partially_settle_payment unless partially_settle_payment == SKIP
60
+ @cancel_payment = cancel_payment unless cancel_payment == SKIP
61
+ end
62
+
63
+ # Creates an instance of the object from a hash.
64
+ def self.from_hash(hash)
65
+ return nil unless hash
66
+
67
+ # Extract variables from the hash.
68
+ refund_payment = PaymentsActionRefund.from_hash(hash['refundPayment']) if
69
+ hash['refundPayment']
70
+ if hash['partiallyRefundPayment']
71
+ partially_refund_payment = PaymentsActionPartialRefund.from_hash(hash['partiallyRefundPayment'])
72
+ end
73
+ if hash['partiallySettlePayment']
74
+ partially_settle_payment = PaymentsActionPartialSettle.from_hash(hash['partiallySettlePayment'])
75
+ end
76
+ cancel_payment = PaymentsActionCancel.from_hash(hash['cancelPayment']) if
77
+ hash['cancelPayment']
78
+
79
+ # Create object from extracted values.
80
+ PartialSettleActionList.new(refund_payment,
81
+ partially_refund_payment,
82
+ partially_settle_payment,
83
+ cancel_payment)
84
+ end
85
+
86
+ # Provides a human-readable string representation of the object.
87
+ def to_s
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} refund_payment: #{@refund_payment}, partially_refund_payment:"\
90
+ " #{@partially_refund_payment}, partially_settle_payment: #{@partially_settle_payment},"\
91
+ " cancel_payment: #{@cancel_payment}>"
92
+ end
93
+
94
+ # Provides a debugging-friendly string with detailed object information.
95
+ def inspect
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} refund_payment: #{@refund_payment.inspect}, partially_refund_payment:"\
98
+ " #{@partially_refund_payment.inspect}, partially_settle_payment:"\
99
+ " #{@partially_settle_payment.inspect}, cancel_payment: #{@cancel_payment.inspect}>"
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,81 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PartialSettleResponse Model.
8
+ class PartialSettleResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [OutcomeEnum]
14
+ attr_accessor :outcome
15
+
16
+ # Return details about the status of the payment
17
+ # @return [PaymentsLink]
18
+ attr_accessor :links
19
+
20
+ # Return details about the status of the payment
21
+ # @return [PartialSettleActionList]
22
+ attr_accessor :actions
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['outcome'] = 'outcome'
28
+ @_hash['links'] = '_links'
29
+ @_hash['actions'] = '_actions'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ outcome
37
+ links
38
+ actions
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(outcome = SKIP, links = SKIP, actions = SKIP)
48
+ @outcome = outcome unless outcome == SKIP
49
+ @links = links unless links == SKIP
50
+ @actions = actions unless actions == 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
+ outcome = hash.key?('outcome') ? hash['outcome'] : SKIP
59
+ links = PaymentsLink.from_hash(hash['_links']) if hash['_links']
60
+ actions = PartialSettleActionList.from_hash(hash['_actions']) if hash['_actions']
61
+
62
+ # Create object from extracted values.
63
+ PartialSettleResponse.new(outcome,
64
+ links,
65
+ actions)
66
+ end
67
+
68
+ # Provides a human-readable string representation of the object.
69
+ def to_s
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} outcome: #{@outcome}, links: #{@links}, actions: #{@actions}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} outcome: #{@outcome.inspect}, links: #{@links.inspect}, actions:"\
78
+ " #{@actions.inspect}>"
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,192 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Payment Model.
8
+ class Payment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Payment initial authorization time.
13
+ # @return [String]
14
+ attr_accessor :timestamp
15
+
16
+ # Unique identifier generated by us for a single payment. Generated at
17
+ # authorization, and maintained through successive payment actions.
18
+ # @return [String]
19
+ attr_accessor :payment_id
20
+
21
+ # A unique reference generated by you, used to identify a payment throughout
22
+ # its lifecycle.
23
+ # @return [String]
24
+ attr_accessor :transaction_reference
25
+
26
+ # An object that contains identification and further details of the
27
+ # merchant.
28
+ # @return [Narrative2]
29
+ attr_accessor :narrative
30
+
31
+ # An object that contains transaction type.
32
+ # @return [TransactionType1Enum]
33
+ attr_accessor :transaction_type
34
+
35
+ # An object that contains authorization type.
36
+ # @return [AuthorizationType1Enum]
37
+ attr_accessor :authorization_type
38
+
39
+ # Merchant entity name.
40
+ # @return [String]
41
+ attr_accessor :entity
42
+
43
+ # The last event received for the payment
44
+ # @return [LastEventEnum]
45
+ attr_accessor :last_event
46
+
47
+ # An object containing information returned by the card scheme.
48
+ # @return [Scheme]
49
+ attr_accessor :scheme
50
+
51
+ # An object containing information returned by the issuer.
52
+ # @return [Issuer1]
53
+ attr_accessor :issuer
54
+
55
+ # The payment instrument supplied in the authorization request.
56
+ # @return [PaymentInstrument4]
57
+ attr_accessor :payment_instrument
58
+
59
+ # An object that contains payment amount and currency.
60
+ # @return [Value4]
61
+ attr_accessor :value
62
+
63
+ # link to retrieveByPaymentId.
64
+ # @return [Links2]
65
+ attr_accessor :links
66
+
67
+ # A mapping from model property names to API property names.
68
+ def self.names
69
+ @_hash = {} if @_hash.nil?
70
+ @_hash['timestamp'] = 'timestamp'
71
+ @_hash['payment_id'] = 'paymentId'
72
+ @_hash['transaction_reference'] = 'transactionReference'
73
+ @_hash['narrative'] = 'narrative'
74
+ @_hash['transaction_type'] = 'transactionType'
75
+ @_hash['authorization_type'] = 'authorizationType'
76
+ @_hash['entity'] = 'entity'
77
+ @_hash['last_event'] = 'lastEvent'
78
+ @_hash['scheme'] = 'scheme'
79
+ @_hash['issuer'] = 'issuer'
80
+ @_hash['payment_instrument'] = 'paymentInstrument'
81
+ @_hash['value'] = 'value'
82
+ @_hash['links'] = '_links'
83
+ @_hash
84
+ end
85
+
86
+ # An array for optional fields
87
+ def self.optionals
88
+ %w[
89
+ timestamp
90
+ payment_id
91
+ transaction_reference
92
+ narrative
93
+ transaction_type
94
+ authorization_type
95
+ entity
96
+ last_event
97
+ scheme
98
+ issuer
99
+ payment_instrument
100
+ value
101
+ links
102
+ ]
103
+ end
104
+
105
+ # An array for nullable fields
106
+ def self.nullables
107
+ []
108
+ end
109
+
110
+ def initialize(timestamp = SKIP, payment_id = SKIP,
111
+ transaction_reference = SKIP, narrative = SKIP,
112
+ transaction_type = SKIP, authorization_type = SKIP,
113
+ entity = SKIP, last_event = SKIP, scheme = SKIP,
114
+ issuer = SKIP, payment_instrument = SKIP, value = SKIP,
115
+ links = SKIP)
116
+ @timestamp = timestamp unless timestamp == SKIP
117
+ @payment_id = payment_id unless payment_id == SKIP
118
+ @transaction_reference = transaction_reference unless transaction_reference == SKIP
119
+ @narrative = narrative unless narrative == SKIP
120
+ @transaction_type = transaction_type unless transaction_type == SKIP
121
+ @authorization_type = authorization_type unless authorization_type == SKIP
122
+ @entity = entity unless entity == SKIP
123
+ @last_event = last_event unless last_event == SKIP
124
+ @scheme = scheme unless scheme == SKIP
125
+ @issuer = issuer unless issuer == SKIP
126
+ @payment_instrument = payment_instrument unless payment_instrument == SKIP
127
+ @value = value unless value == SKIP
128
+ @links = links unless links == SKIP
129
+ end
130
+
131
+ # Creates an instance of the object from a hash.
132
+ def self.from_hash(hash)
133
+ return nil unless hash
134
+
135
+ # Extract variables from the hash.
136
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : SKIP
137
+ payment_id = hash.key?('paymentId') ? hash['paymentId'] : SKIP
138
+ transaction_reference =
139
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
140
+ narrative = Narrative2.from_hash(hash['narrative']) if hash['narrative']
141
+ transaction_type =
142
+ hash.key?('transactionType') ? hash['transactionType'] : SKIP
143
+ authorization_type =
144
+ hash.key?('authorizationType') ? hash['authorizationType'] : SKIP
145
+ entity = hash.key?('entity') ? hash['entity'] : SKIP
146
+ last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
147
+ scheme = Scheme.from_hash(hash['scheme']) if hash['scheme']
148
+ issuer = Issuer1.from_hash(hash['issuer']) if hash['issuer']
149
+ payment_instrument = PaymentInstrument4.from_hash(hash['paymentInstrument']) if
150
+ hash['paymentInstrument']
151
+ value = Value4.from_hash(hash['value']) if hash['value']
152
+ links = Links2.from_hash(hash['_links']) if hash['_links']
153
+
154
+ # Create object from extracted values.
155
+ Payment.new(timestamp,
156
+ payment_id,
157
+ transaction_reference,
158
+ narrative,
159
+ transaction_type,
160
+ authorization_type,
161
+ entity,
162
+ last_event,
163
+ scheme,
164
+ issuer,
165
+ payment_instrument,
166
+ value,
167
+ links)
168
+ end
169
+
170
+ # Provides a human-readable string representation of the object.
171
+ def to_s
172
+ class_name = self.class.name.split('::').last
173
+ "<#{class_name} timestamp: #{@timestamp}, payment_id: #{@payment_id},"\
174
+ " transaction_reference: #{@transaction_reference}, narrative: #{@narrative},"\
175
+ " transaction_type: #{@transaction_type}, authorization_type: #{@authorization_type},"\
176
+ " entity: #{@entity}, last_event: #{@last_event}, scheme: #{@scheme}, issuer: #{@issuer},"\
177
+ " payment_instrument: #{@payment_instrument}, value: #{@value}, links: #{@links}>"
178
+ end
179
+
180
+ # Provides a debugging-friendly string with detailed object information.
181
+ def inspect
182
+ class_name = self.class.name.split('::').last
183
+ "<#{class_name} timestamp: #{@timestamp.inspect}, payment_id: #{@payment_id.inspect},"\
184
+ " transaction_reference: #{@transaction_reference.inspect}, narrative:"\
185
+ " #{@narrative.inspect}, transaction_type: #{@transaction_type.inspect}, authorization_type:"\
186
+ " #{@authorization_type.inspect}, entity: #{@entity.inspect}, last_event:"\
187
+ " #{@last_event.inspect}, scheme: #{@scheme.inspect}, issuer: #{@issuer.inspect},"\
188
+ " payment_instrument: #{@payment_instrument.inspect}, value: #{@value.inspect}, links:"\
189
+ " #{@links.inspect}>"
190
+ end
191
+ end
192
+ 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
+ # Payment1 Model.
8
+ class Payment1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The last event of a payment. Possible event values
13
+ # are:<ul><li>`Authorized`</li><li>`Refused`</li><li>`Sent for
14
+ # Cancellation`</li><li>`Sent for Refund`</li><li>`Sent for
15
+ # Settlement`</li><li>`Unknown`</li></ul>
16
+ # @return [String]
17
+ attr_accessor :last_event
18
+
19
+ # An object that contains information about the payment type.
20
+ # @return [PaymentInstrument6]
21
+ attr_accessor :payment_instrument
22
+
23
+ # An object that contains payment amount and currency.
24
+ # @return [Value4]
25
+ attr_accessor :value
26
+
27
+ # A mapping from model property names to API property names.
28
+ def self.names
29
+ @_hash = {} if @_hash.nil?
30
+ @_hash['last_event'] = 'lastEvent'
31
+ @_hash['payment_instrument'] = 'paymentInstrument'
32
+ @_hash['value'] = 'value'
33
+ @_hash
34
+ end
35
+
36
+ # An array for optional fields
37
+ def self.optionals
38
+ %w[
39
+ last_event
40
+ payment_instrument
41
+ value
42
+ ]
43
+ end
44
+
45
+ # An array for nullable fields
46
+ def self.nullables
47
+ []
48
+ end
49
+
50
+ def initialize(last_event = SKIP, payment_instrument = SKIP, value = SKIP)
51
+ @last_event = last_event unless last_event == SKIP
52
+ @payment_instrument = payment_instrument unless payment_instrument == SKIP
53
+ @value = value unless value == SKIP
54
+ end
55
+
56
+ # Creates an instance of the object from a hash.
57
+ def self.from_hash(hash)
58
+ return nil unless hash
59
+
60
+ # Extract variables from the hash.
61
+ last_event = hash.key?('lastEvent') ? hash['lastEvent'] : SKIP
62
+ payment_instrument = PaymentInstrument6.from_hash(hash['paymentInstrument']) if
63
+ hash['paymentInstrument']
64
+ value = Value4.from_hash(hash['value']) if hash['value']
65
+
66
+ # Create object from extracted values.
67
+ Payment1.new(last_event,
68
+ payment_instrument,
69
+ value)
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} last_event: #{@last_event}, payment_instrument: #{@payment_instrument},"\
76
+ " value: #{@value}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} last_event: #{@last_event.inspect}, payment_instrument:"\
83
+ " #{@payment_instrument.inspect}, value: #{@value.inspect}>"
84
+ end
85
+ end
86
+ 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
+ # PaymentInstrument Model.
8
+ class PaymentInstrument < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :type
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['type'] = 'type'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ type
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(type = 'paymentInstrument')
36
+ @type = type unless type == 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
+ type = hash['type'] ||= 'paymentInstrument'
45
+
46
+ # Create object from extracted values.
47
+ PaymentInstrument.new(type)
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} type: #{@type}>"
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} type: #{@type.inspect}>"
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,81 @@
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 PaymentInstrument4 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of payment instrument supplied in the authorization request.
13
+ # @return [Type9Enum]
14
+ attr_accessor :type
15
+
16
+ # An object that contains information about the card used.
17
+ # @return [Card]
18
+ attr_accessor :card
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['type'] = 'type'
24
+ @_hash['card'] = 'card'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ type
32
+ card
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(type = SKIP, card = SKIP)
42
+ @type = type unless type == SKIP
43
+ @card = card unless card == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ type = hash.key?('type') ? hash['type'] : SKIP
52
+ card = Card.from_hash(hash['card']) if hash['card']
53
+
54
+ # Create object from extracted values.
55
+ PaymentInstrument4.new(type,
56
+ card)
57
+ end
58
+
59
+ # Validates an instance of the object from a given value.
60
+ # @param [PaymentInstrument4 | Hash] The value against the validation is performed.
61
+ def self.validate(value)
62
+ return true if value.instance_of? self
63
+
64
+ return false unless value.instance_of? Hash
65
+
66
+ true
67
+ end
68
+
69
+ # Provides a human-readable string representation of the object.
70
+ def to_s
71
+ class_name = self.class.name.split('::').last
72
+ "<#{class_name} type: #{@type}, card: #{@card}>"
73
+ end
74
+
75
+ # Provides a debugging-friendly string with detailed object information.
76
+ def inspect
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} type: #{@type.inspect}, card: #{@card.inspect}>"
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,71 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object that contains information about the payment type.
8
+ class PaymentInstrument6 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An object that contains information about the payment type.
13
+ # @return [Type12Enum]
14
+ attr_accessor :type
15
+
16
+ # An object that contains information about the card used.
17
+ # @return [Card3]
18
+ attr_accessor :card
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['type'] = 'type'
24
+ @_hash['card'] = 'card'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ type
32
+ card
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(type = SKIP, card = SKIP)
42
+ @type = type unless type == SKIP
43
+ @card = card unless card == SKIP
44
+ end
45
+
46
+ # Creates an instance of the object from a hash.
47
+ def self.from_hash(hash)
48
+ return nil unless hash
49
+
50
+ # Extract variables from the hash.
51
+ type = hash.key?('type') ? hash['type'] : SKIP
52
+ card = Card3.from_hash(hash['card']) if hash['card']
53
+
54
+ # Create object from extracted values.
55
+ PaymentInstrument6.new(type,
56
+ card)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} type: #{@type}, card: #{@card}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} type: #{@type.inspect}, card: #{@card.inspect}>"
69
+ end
70
+ end
71
+ end