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,151 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require_relative 'payments_instruction'
7
+
8
+ module Payments
9
+ # GooglepayPaymentsInstruction Model.
10
+ class GooglepayPaymentsInstruction < PaymentsInstruction
11
+
12
+
13
+ # A mapping from model property names to API property names.
14
+ def self.names
15
+ @_hash = {} if @_hash.nil?
16
+
17
+ @_hash = super().merge(@_hash)
18
+ @_hash
19
+ end
20
+
21
+ # An array for optional fields
22
+ def self.optionals
23
+ _arr = []
24
+ (_arr << super()).flatten!
25
+ end
26
+
27
+ # An array for nullable fields
28
+ def self.nullables
29
+ _arr = []
30
+ (_arr << super()).flatten!
31
+ end
32
+
33
+ def initialize(payment_instrument = nil, narrative = nil, value = nil,
34
+ method = 'googlepay', token_creation = SKIP,
35
+ debt_repayment = SKIP, fraud = SKIP, three_ds = SKIP,
36
+ exemption = SKIP, settlement = SKIP, customer = SKIP,
37
+ shipping = SKIP, customer_agreement = SKIP, recipient = SKIP,
38
+ consumer_bill_payment = SKIP, request_account_updater = SKIP)
39
+
40
+
41
+ # Call the constructor of the base class
42
+ super(payment_instrument,
43
+ narrative,
44
+ value,
45
+ method,
46
+ token_creation,
47
+ debt_repayment,
48
+ fraud,
49
+ three_ds,
50
+ exemption,
51
+ settlement,
52
+ customer,
53
+ shipping,
54
+ customer_agreement,
55
+ recipient,
56
+ consumer_bill_payment,
57
+ request_account_updater)
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ payment_instrument = hash.key?('paymentInstrument') ? APIHelper.deserialize_union_type(
66
+ UnionTypeLookUp.get(:PaymentsInstructionPaymentInstrument), hash['paymentInstrument']
67
+ ) : nil
68
+ narrative = Narrative.from_hash(hash['narrative']) if hash['narrative']
69
+ value = Value.from_hash(hash['value']) if hash['value']
70
+ method = hash['method'] ||= 'googlepay'
71
+ token_creation = TokenCreation.from_hash(hash['tokenCreation']) if hash['tokenCreation']
72
+ debt_repayment = hash.key?('debtRepayment') ? hash['debtRepayment'] : SKIP
73
+ fraud = PaymentsFraud.from_hash(hash['fraud']) if hash['fraud']
74
+ three_ds = PaymentsThreeDS.from_hash(hash['threeDS']) if hash['threeDS']
75
+ exemption = Exemption.from_hash(hash['exemption']) if hash['exemption']
76
+ settlement = Settlement.from_hash(hash['settlement']) if hash['settlement']
77
+ customer = Customer.from_hash(hash['customer']) if hash['customer']
78
+ shipping = Shipping.from_hash(hash['shipping']) if hash['shipping']
79
+ customer_agreement = hash.key?('customerAgreement') ? APIHelper.deserialize_union_type(
80
+ UnionTypeLookUp.get(:PaymentsInstructionCustomerAgreement), hash['customerAgreement']
81
+ ) : SKIP
82
+ recipient = PaymentsRecipient.from_hash(hash['recipient']) if hash['recipient']
83
+ consumer_bill_payment =
84
+ hash.key?('consumerBillPayment') ? hash['consumerBillPayment'] : SKIP
85
+ request_account_updater =
86
+ hash.key?('requestAccountUpdater') ? hash['requestAccountUpdater'] : SKIP
87
+
88
+ # Create object from extracted values.
89
+ GooglepayPaymentsInstruction.new(payment_instrument,
90
+ narrative,
91
+ value,
92
+ method,
93
+ token_creation,
94
+ debt_repayment,
95
+ fraud,
96
+ three_ds,
97
+ exemption,
98
+ settlement,
99
+ customer,
100
+ shipping,
101
+ customer_agreement,
102
+ recipient,
103
+ consumer_bill_payment,
104
+ request_account_updater)
105
+ end
106
+
107
+ # Validates an instance of the object from a given value.
108
+ # @param [GooglepayPaymentsInstruction | Hash] The value against the validation is performed.
109
+ def self.validate(value)
110
+ if value.instance_of? self
111
+ return (
112
+ UnionTypeLookUp.get(:PaymentsInstructionPaymentInstrument)
113
+ .validate(value.payment_instrument) and
114
+ APIHelper.valid_type?(value.narrative,
115
+ ->(val) { Narrative.validate(val) },
116
+ is_model_hash: true) and
117
+ APIHelper.valid_type?(value.value,
118
+ ->(val) { Value.validate(val) },
119
+ is_model_hash: true)
120
+ )
121
+ end
122
+
123
+ return false unless value.instance_of? Hash
124
+
125
+ (
126
+ UnionTypeLookUp.get(:PaymentsInstructionPaymentInstrument)
127
+ .validate(value['paymentInstrument']) and
128
+ APIHelper.valid_type?(value['narrative'],
129
+ ->(val) { Narrative.validate(val) },
130
+ is_model_hash: true) and
131
+ APIHelper.valid_type?(value['value'],
132
+ ->(val) { Value.validate(val) },
133
+ is_model_hash: true)
134
+ )
135
+ end
136
+
137
+ # Provides a human-readable string representation of the object.
138
+ def to_s
139
+ class_name = self.class.name.split('::').last
140
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
141
+ "<#{class_name} #{super_string}>"
142
+ end
143
+
144
+ # Provides a debugging-friendly string with detailed object information.
145
+ def inspect
146
+ class_name = self.class.name.split('::').last
147
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
148
+ "<#{class_name} #{super_string}>"
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,26 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # IdentifierType.
8
+ class IdentifierTypeEnum
9
+ IDENTIFIER_TYPE_ENUM = [
10
+ # TODO: Write general description for IBAN
11
+ IBAN = 'iban'.freeze,
12
+
13
+ # TODO: Write general description for SWIFT
14
+ SWIFT = 'swift'.freeze,
15
+
16
+ # TODO: Write general description for ROUTINGNUMBER
17
+ ROUTINGNUMBER = 'routingNumber'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ IDENTIFIER_TYPE_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,76 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Required only for `latinAmerica` installment type. Not allowed for
8
+ # `merchant` installment type.
9
+ class InstallmentPlan < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Number of installments that the requested amount should be broken into.
14
+ # @return [Integer]
15
+ attr_accessor :number_of_installments
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['number_of_installments'] = 'numberOfInstallments'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ []
27
+ end
28
+
29
+ # An array for nullable fields
30
+ def self.nullables
31
+ []
32
+ end
33
+
34
+ def initialize(number_of_installments = nil)
35
+ @number_of_installments = number_of_installments
36
+ end
37
+
38
+ # Creates an instance of the object from a hash.
39
+ def self.from_hash(hash)
40
+ return nil unless hash
41
+
42
+ # Extract variables from the hash.
43
+ number_of_installments = Number.from_hash(hash['numberOfInstallments']) if
44
+ hash['numberOfInstallments']
45
+
46
+ # Create object from extracted values.
47
+ InstallmentPlan.new(number_of_installments)
48
+ end
49
+
50
+ # Validates an instance of the object from a given value.
51
+ # @param [InstallmentPlan | Hash] The value against the validation is performed.
52
+ def self.validate(value)
53
+ if value.instance_of? self
54
+ return APIHelper.valid_type?(value.number_of_installments,
55
+ ->(val) { val.instance_of? Integer })
56
+ end
57
+
58
+ return false unless value.instance_of? Hash
59
+
60
+ APIHelper.valid_type?(value['numberOfInstallments'],
61
+ ->(val) { val.instance_of? Integer })
62
+ end
63
+
64
+ # Provides a human-readable string representation of the object.
65
+ def to_s
66
+ class_name = self.class.name.split('::').last
67
+ "<#{class_name} number_of_installments: #{@number_of_installments}>"
68
+ end
69
+
70
+ # Provides a debugging-friendly string with detailed object information.
71
+ def inspect
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} number_of_installments: #{@number_of_installments.inspect}>"
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,26 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Defines the type of installments service. Read more on how to set up
8
+ # [__Latin America
9
+ # Installments__](/products/payments/enable-features/latam-installments) under
10
+ # our guide.
11
+ class InstallmentTypeEnum
12
+ INSTALLMENT_TYPE_ENUM = [
13
+ # TODO: Write general description for MERCHANT
14
+ MERCHANT = 'merchant'.freeze,
15
+
16
+ # TODO: Write general description for LATINAMERICA
17
+ LATINAMERICA = 'latinAmerica'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ INSTALLMENT_TYPE_ENUM.include?(value)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,63 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object containing information returned by the issuer.
8
+ class Issuer < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :authorization_code
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['authorization_code'] = 'authorizationCode'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ authorization_code
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(authorization_code = SKIP)
36
+ @authorization_code = authorization_code unless authorization_code == 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
+ authorization_code =
45
+ hash.key?('authorizationCode') ? hash['authorizationCode'] : SKIP
46
+
47
+ # Create object from extracted values.
48
+ Issuer.new(authorization_code)
49
+ end
50
+
51
+ # Provides a human-readable string representation of the object.
52
+ def to_s
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} authorization_code: #{@authorization_code}>"
55
+ end
56
+
57
+ # Provides a debugging-friendly string with detailed object information.
58
+ def inspect
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} authorization_code: #{@authorization_code.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,76 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # An object containing information returned by the issuer.
8
+ class Issuer1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A code returned by the card issuer for a successful authorization. Used in
13
+ # reconciliation and dispute management.
14
+ # @return [String]
15
+ attr_accessor :authorization_code
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['authorization_code'] = 'authorizationCode'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ []
27
+ end
28
+
29
+ # An array for nullable fields
30
+ def self.nullables
31
+ []
32
+ end
33
+
34
+ def initialize(authorization_code = nil)
35
+ @authorization_code = authorization_code
36
+ end
37
+
38
+ # Creates an instance of the object from a hash.
39
+ def self.from_hash(hash)
40
+ return nil unless hash
41
+
42
+ # Extract variables from the hash.
43
+ authorization_code =
44
+ hash.key?('authorizationCode') ? hash['authorizationCode'] : nil
45
+
46
+ # Create object from extracted values.
47
+ Issuer1.new(authorization_code)
48
+ end
49
+
50
+ # Validates an instance of the object from a given value.
51
+ # @param [Issuer1 | Hash] The value against the validation is performed.
52
+ def self.validate(value)
53
+ if value.instance_of? self
54
+ return APIHelper.valid_type?(value.authorization_code,
55
+ ->(val) { val.instance_of? String })
56
+ end
57
+
58
+ return false unless value.instance_of? Hash
59
+
60
+ APIHelper.valid_type?(value['authorizationCode'],
61
+ ->(val) { val.instance_of? String })
62
+ end
63
+
64
+ # Provides a human-readable string representation of the object.
65
+ def to_s
66
+ class_name = self.class.name.split('::').last
67
+ "<#{class_name} authorization_code: #{@authorization_code}>"
68
+ end
69
+
70
+ # Provides a debugging-friendly string with detailed object information.
71
+ def inspect
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} authorization_code: #{@authorization_code.inspect}>"
74
+ end
75
+ end
76
+ 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
+ # If the issuer decides to challenge the customer or proceed (frictionless)
8
+ class IssuerResponseEnum
9
+ ISSUER_RESPONSE_ENUM = [
10
+ # TODO: Write general description for FRICTIONLESS
11
+ FRICTIONLESS = 'frictionless'.freeze,
12
+
13
+ # TODO: Write general description for CHALLENGED
14
+ CHALLENGED = 'challenged'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ ISSUER_RESPONSE_ENUM.include?(value)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,95 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The last event received for the payment
8
+ class LastEventEnum
9
+ LAST_EVENT_ENUM = [
10
+ # TODO: Write general description for AUTHORIZATIONREQUESTED
11
+ AUTHORIZATIONREQUESTED = 'authorizationRequested'.freeze,
12
+
13
+ # TODO: Write general description for AUTHORIZATIONSUCCEEDED
14
+ AUTHORIZATIONSUCCEEDED = 'authorizationSucceeded'.freeze,
15
+
16
+ # TODO: Write general description for AUTHORIZATIONREFUSED
17
+ AUTHORIZATIONREFUSED = 'authorizationRefused'.freeze,
18
+
19
+ # TODO: Write general description for AUTHORIZATIONFAILED
20
+ AUTHORIZATIONFAILED = 'authorizationFailed'.freeze,
21
+
22
+ # TODO: Write general description for AUTHORIZATIONTIMEDOUT
23
+ AUTHORIZATIONTIMEDOUT = 'authorizationTimedOut'.freeze,
24
+
25
+ # TODO: Write general description for SALEREQUESTED
26
+ SALEREQUESTED = 'saleRequested'.freeze,
27
+
28
+ # TODO: Write general description for SALESUCCEEDED
29
+ SALESUCCEEDED = 'saleSucceeded'.freeze,
30
+
31
+ # TODO: Write general description for SALEREFUSED
32
+ SALEREFUSED = 'saleRefused'.freeze,
33
+
34
+ # TODO: Write general description for SALEFAILED
35
+ SALEFAILED = 'saleFailed'.freeze,
36
+
37
+ # TODO: Write general description for SALETIMEDOUT
38
+ SALETIMEDOUT = 'saleTimedOut'.freeze,
39
+
40
+ # TODO: Write general description for SETTLEMENTREQUESTED
41
+ SETTLEMENTREQUESTED = 'settlementRequested'.freeze,
42
+
43
+ # TODO: Write general description for SETTLEMENTREQUESTSUBMITTED
44
+ SETTLEMENTREQUESTSUBMITTED = 'settlementRequestSubmitted'.freeze,
45
+
46
+ # TODO: Write general description for SETTLEMENTFAILED
47
+ SETTLEMENTFAILED = 'settlementFailed'.freeze,
48
+
49
+ # TODO: Write general description for SETTLEMENTTIMEDOUT
50
+ SETTLEMENTTIMEDOUT = 'settlementTimedOut'.freeze,
51
+
52
+ # TODO: Write general description for REFUNDREQUESTED
53
+ REFUNDREQUESTED = 'refundRequested'.freeze,
54
+
55
+ # TODO: Write general description for REFUNDREQUESTSUBMITTED
56
+ REFUNDREQUESTSUBMITTED = 'refundRequestSubmitted'.freeze,
57
+
58
+ # TODO: Write general description for REFUNDFAILED
59
+ REFUNDFAILED = 'refundFailed'.freeze,
60
+
61
+ # TODO: Write general description for REFUNDTIMEDOUT
62
+ REFUNDTIMEDOUT = 'refundTimedOut'.freeze,
63
+
64
+ # TODO: Write general description for CANCELLATIONREQUESTED
65
+ CANCELLATIONREQUESTED = 'cancellationRequested'.freeze,
66
+
67
+ # TODO: Write general description for CANCELLATIONREQUESTSUBMITTED
68
+ CANCELLATIONREQUESTSUBMITTED = 'cancellationRequestSubmitted'.freeze,
69
+
70
+ # TODO: Write general description for CANCELLATIONFAILED
71
+ CANCELLATIONFAILED = 'cancellationFailed'.freeze,
72
+
73
+ # TODO: Write general description for CANCELLATIONTIMEDOUT
74
+ CANCELLATIONTIMEDOUT = 'cancellationTimedOut'.freeze,
75
+
76
+ # TODO: Write general description for REVERSALREQUESTED
77
+ REVERSALREQUESTED = 'reversalRequested'.freeze,
78
+
79
+ # TODO: Write general description for REVERSALREQUESTSUBMITTED
80
+ REVERSALREQUESTSUBMITTED = 'reversalRequestSubmitted'.freeze,
81
+
82
+ # TODO: Write general description for REVERSALFAILED
83
+ REVERSALFAILED = 'reversalFailed'.freeze,
84
+
85
+ # TODO: Write general description for REVERSALTIMEDOUT
86
+ REVERSALTIMEDOUT = 'reversalTimedOut'.freeze
87
+ ].freeze
88
+
89
+ def self.validate(value)
90
+ return false if value.nil?
91
+
92
+ LAST_EVENT_ENUM.include?(value)
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,123 @@
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.
8
+ class Links < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Self link to the page.
13
+ # @return [Self1]
14
+ attr_accessor :mself
15
+
16
+ # Next action links.
17
+ # @return [PaymentsCancel]
18
+ attr_accessor :payments_cancel
19
+
20
+ # Next action links.
21
+ # @return [PaymentsEvents]
22
+ attr_accessor :payments_events
23
+
24
+ # Next action links.
25
+ # @return [PaymentsSettle]
26
+ attr_accessor :payments_settle
27
+
28
+ # Next action links.
29
+ # @return [PaymentsPartialSettle]
30
+ attr_accessor :payments_partial_settle
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['mself'] = 'self'
36
+ @_hash['payments_cancel'] = 'payments:cancel'
37
+ @_hash['payments_events'] = 'payments:events'
38
+ @_hash['payments_settle'] = 'payments:settle'
39
+ @_hash['payments_partial_settle'] = 'payments:partialSettle'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ payments_cancel
47
+ payments_events
48
+ payments_settle
49
+ payments_partial_settle
50
+ ]
51
+ end
52
+
53
+ # An array for nullable fields
54
+ def self.nullables
55
+ []
56
+ end
57
+
58
+ def initialize(mself = nil, payments_cancel = SKIP, payments_events = SKIP,
59
+ payments_settle = SKIP, payments_partial_settle = SKIP)
60
+ @mself = mself
61
+ @payments_cancel = payments_cancel unless payments_cancel == SKIP
62
+ @payments_events = payments_events unless payments_events == SKIP
63
+ @payments_settle = payments_settle unless payments_settle == SKIP
64
+ @payments_partial_settle = payments_partial_settle unless payments_partial_settle == SKIP
65
+ end
66
+
67
+ # Creates an instance of the object from a hash.
68
+ def self.from_hash(hash)
69
+ return nil unless hash
70
+
71
+ # Extract variables from the hash.
72
+ mself = Self1.from_hash(hash['self']) if hash['self']
73
+ payments_cancel = PaymentsCancel.from_hash(hash['payments:cancel']) if
74
+ hash['payments:cancel']
75
+ payments_events = PaymentsEvents.from_hash(hash['payments:events']) if
76
+ hash['payments:events']
77
+ payments_settle = PaymentsSettle.from_hash(hash['payments:settle']) if
78
+ hash['payments:settle']
79
+ payments_partial_settle = PaymentsPartialSettle.from_hash(hash['payments:partialSettle']) if
80
+ hash['payments:partialSettle']
81
+
82
+ # Create object from extracted values.
83
+ Links.new(mself,
84
+ payments_cancel,
85
+ payments_events,
86
+ payments_settle,
87
+ payments_partial_settle)
88
+ end
89
+
90
+ # Validates an instance of the object from a given value.
91
+ # @param [Links | Hash] The value against the validation is performed.
92
+ def self.validate(value)
93
+ if value.instance_of? self
94
+ return APIHelper.valid_type?(value.mself,
95
+ ->(val) { Self1.validate(val) },
96
+ is_model_hash: true)
97
+ end
98
+
99
+ return false unless value.instance_of? Hash
100
+
101
+ APIHelper.valid_type?(value['self'],
102
+ ->(val) { Self1.validate(val) },
103
+ is_model_hash: true)
104
+ end
105
+
106
+ # Provides a human-readable string representation of the object.
107
+ def to_s
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} mself: #{@mself}, payments_cancel: #{@payments_cancel}, payments_events:"\
110
+ " #{@payments_events}, payments_settle: #{@payments_settle}, payments_partial_settle:"\
111
+ " #{@payments_partial_settle}>"
112
+ end
113
+
114
+ # Provides a debugging-friendly string with detailed object information.
115
+ def inspect
116
+ class_name = self.class.name.split('::').last
117
+ "<#{class_name} mself: #{@mself.inspect}, payments_cancel: #{@payments_cancel.inspect},"\
118
+ " payments_events: #{@payments_events.inspect}, payments_settle:"\
119
+ " #{@payments_settle.inspect}, payments_partial_settle:"\
120
+ " #{@payments_partial_settle.inspect}>"
121
+ end
122
+ end
123
+ end