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,90 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PaymentsResponse202 Model.
8
+ class PaymentsResponse202 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :outcome
15
+
16
+ # A unique reference generated by you that is used to identify a payment
17
+ # throughout its lifecycle.
18
+ # @return [String]
19
+ attr_accessor :transaction_reference
20
+
21
+ # Discriminators mapping.
22
+ def self.discriminators
23
+ if @_discriminators.nil?
24
+ @_discriminators = {}
25
+ @_discriminators['3dsDeviceDataRequired'] = DeviceDataRequiredResponse
26
+ @_discriminators['fraudHighRisk'] = FraudHighRiskResponse
27
+ end
28
+ @_discriminators
29
+ end
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['outcome'] = 'outcome'
35
+ @_hash['transaction_reference'] = 'transactionReference'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ outcome
43
+ transaction_reference
44
+ ]
45
+ end
46
+
47
+ # An array for nullable fields
48
+ def self.nullables
49
+ []
50
+ end
51
+
52
+ def initialize(outcome = 'PaymentsResponse202',
53
+ transaction_reference = SKIP)
54
+ @outcome = outcome unless outcome == SKIP
55
+ @transaction_reference = transaction_reference unless transaction_reference == 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
+ # Delegate unboxing to another function if a discriminator
63
+ # value for a child class is present.
64
+ unboxer = discriminators[hash['outcome']]
65
+ return unboxer.send(:from_hash, hash) if unboxer
66
+
67
+ # Extract variables from the hash.
68
+ outcome = hash['outcome'] ||= 'PaymentsResponse202'
69
+ transaction_reference =
70
+ hash.key?('transactionReference') ? hash['transactionReference'] : SKIP
71
+
72
+ # Create object from extracted values.
73
+ PaymentsResponse202.new(outcome,
74
+ transaction_reference)
75
+ end
76
+
77
+ # Provides a human-readable string representation of the object.
78
+ def to_s
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} outcome: #{@outcome}, transaction_reference: #{@transaction_reference}>"
81
+ end
82
+
83
+ # Provides a debugging-friendly string with detailed object information.
84
+ def inspect
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} outcome: #{@outcome.inspect}, transaction_reference:"\
87
+ " #{@transaction_reference.inspect}>"
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,158 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PaymentsResponsePaymentInstrument Model.
8
+ class PaymentsResponsePaymentInstrument < 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
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :card_bin
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :last_four
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :country_code
27
+
28
+ # Contains your customer's card or token expiry date.
29
+ # @return [ExpiryDate]
30
+ attr_accessor :expiry_date
31
+
32
+ # Contains your customer's card or token expiry date.
33
+ # @return [String]
34
+ attr_accessor :card_brand
35
+
36
+ # Contains your customer's card or token expiry date.
37
+ # @return [String]
38
+ attr_accessor :funding_type
39
+
40
+ # Contains your customer's card or token expiry date.
41
+ # @return [String]
42
+ attr_accessor :category
43
+
44
+ # Contains your customer's card or token expiry date.
45
+ # @return [String]
46
+ attr_accessor :issuer_name
47
+
48
+ # Contains your customer's card or token expiry date.
49
+ # @return [String]
50
+ attr_accessor :payment_account_reference
51
+
52
+ # A mapping from model property names to API property names.
53
+ def self.names
54
+ @_hash = {} if @_hash.nil?
55
+ @_hash['type'] = 'type'
56
+ @_hash['card_bin'] = 'cardBin'
57
+ @_hash['last_four'] = 'lastFour'
58
+ @_hash['country_code'] = 'countryCode'
59
+ @_hash['expiry_date'] = 'expiryDate'
60
+ @_hash['card_brand'] = 'cardBrand'
61
+ @_hash['funding_type'] = 'fundingType'
62
+ @_hash['category'] = 'category'
63
+ @_hash['issuer_name'] = 'issuerName'
64
+ @_hash['payment_account_reference'] = 'paymentAccountReference'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ %w[
71
+ type
72
+ card_bin
73
+ last_four
74
+ country_code
75
+ expiry_date
76
+ card_brand
77
+ funding_type
78
+ category
79
+ issuer_name
80
+ payment_account_reference
81
+ ]
82
+ end
83
+
84
+ # An array for nullable fields
85
+ def self.nullables
86
+ []
87
+ end
88
+
89
+ def initialize(type = SKIP, card_bin = SKIP, last_four = SKIP,
90
+ country_code = SKIP, expiry_date = SKIP, card_brand = SKIP,
91
+ funding_type = SKIP, category = SKIP, issuer_name = SKIP,
92
+ payment_account_reference = SKIP)
93
+ @type = type unless type == SKIP
94
+ @card_bin = card_bin unless card_bin == SKIP
95
+ @last_four = last_four unless last_four == SKIP
96
+ @country_code = country_code unless country_code == SKIP
97
+ @expiry_date = expiry_date unless expiry_date == SKIP
98
+ @card_brand = card_brand unless card_brand == SKIP
99
+ @funding_type = funding_type unless funding_type == SKIP
100
+ @category = category unless category == SKIP
101
+ @issuer_name = issuer_name unless issuer_name == SKIP
102
+ unless payment_account_reference == SKIP
103
+ @payment_account_reference =
104
+ payment_account_reference
105
+ end
106
+ end
107
+
108
+ # Creates an instance of the object from a hash.
109
+ def self.from_hash(hash)
110
+ return nil unless hash
111
+
112
+ # Extract variables from the hash.
113
+ type = hash.key?('type') ? hash['type'] : SKIP
114
+ card_bin = hash.key?('cardBin') ? hash['cardBin'] : SKIP
115
+ last_four = hash.key?('lastFour') ? hash['lastFour'] : SKIP
116
+ country_code = hash.key?('countryCode') ? hash['countryCode'] : SKIP
117
+ expiry_date = ExpiryDate.from_hash(hash['expiryDate']) if hash['expiryDate']
118
+ card_brand = hash.key?('cardBrand') ? hash['cardBrand'] : SKIP
119
+ funding_type = hash.key?('fundingType') ? hash['fundingType'] : SKIP
120
+ category = hash.key?('category') ? hash['category'] : SKIP
121
+ issuer_name = hash.key?('issuerName') ? hash['issuerName'] : SKIP
122
+ payment_account_reference =
123
+ hash.key?('paymentAccountReference') ? hash['paymentAccountReference'] : SKIP
124
+
125
+ # Create object from extracted values.
126
+ PaymentsResponsePaymentInstrument.new(type,
127
+ card_bin,
128
+ last_four,
129
+ country_code,
130
+ expiry_date,
131
+ card_brand,
132
+ funding_type,
133
+ category,
134
+ issuer_name,
135
+ payment_account_reference)
136
+ end
137
+
138
+ # Provides a human-readable string representation of the object.
139
+ def to_s
140
+ class_name = self.class.name.split('::').last
141
+ "<#{class_name} type: #{@type}, card_bin: #{@card_bin}, last_four: #{@last_four},"\
142
+ " country_code: #{@country_code}, expiry_date: #{@expiry_date}, card_brand: #{@card_brand},"\
143
+ " funding_type: #{@funding_type}, category: #{@category}, issuer_name: #{@issuer_name},"\
144
+ " payment_account_reference: #{@payment_account_reference}>"
145
+ end
146
+
147
+ # Provides a debugging-friendly string with detailed object information.
148
+ def inspect
149
+ class_name = self.class.name.split('::').last
150
+ "<#{class_name} type: #{@type.inspect}, card_bin: #{@card_bin.inspect}, last_four:"\
151
+ " #{@last_four.inspect}, country_code: #{@country_code.inspect}, expiry_date:"\
152
+ " #{@expiry_date.inspect}, card_brand: #{@card_brand.inspect}, funding_type:"\
153
+ " #{@funding_type.inspect}, category: #{@category.inspect}, issuer_name:"\
154
+ " #{@issuer_name.inspect}, payment_account_reference:"\
155
+ " #{@payment_account_reference.inspect}>"
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,69 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # The sequence number and total number of expected partial settlement requests
8
+ # for the payment.
9
+ class PaymentsSequence < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Integer]
15
+ attr_accessor :number
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [Integer]
19
+ attr_accessor :total
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['number'] = 'number'
25
+ @_hash['total'] = 'total'
26
+ @_hash
27
+ end
28
+
29
+ # An array for optional fields
30
+ def self.optionals
31
+ []
32
+ end
33
+
34
+ # An array for nullable fields
35
+ def self.nullables
36
+ []
37
+ end
38
+
39
+ def initialize(number = nil, total = nil)
40
+ @number = number
41
+ @total = total
42
+ end
43
+
44
+ # Creates an instance of the object from a hash.
45
+ def self.from_hash(hash)
46
+ return nil unless hash
47
+
48
+ # Extract variables from the hash.
49
+ number = Number.from_hash(hash['number']) if hash['number']
50
+ total = Number.from_hash(hash['total']) if hash['total']
51
+
52
+ # Create object from extracted values.
53
+ PaymentsSequence.new(number,
54
+ total)
55
+ end
56
+
57
+ # Provides a human-readable string representation of the object.
58
+ def to_s
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} number: #{@number}, total: #{@total}>"
61
+ end
62
+
63
+ # Provides a debugging-friendly string with detailed object information.
64
+ def inspect
65
+ class_name = self.class.name.split('::').last
66
+ "<#{class_name} number: #{@number.inspect}, total: #{@total.inspect}>"
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,72 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Next action links.
8
+ class PaymentsSettle < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Next action links.
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
+ PaymentsSettle.new(href)
48
+ end
49
+
50
+ # Validates an instance of the object from a given value.
51
+ # @param [PaymentsSettle | Hash] The value against the validation is performed.
52
+ def self.validate(value)
53
+ return true if value.instance_of? self
54
+
55
+ return false unless value.instance_of? Hash
56
+
57
+ true
58
+ end
59
+
60
+ # Provides a human-readable string representation of the object.
61
+ def to_s
62
+ class_name = self.class.name.split('::').last
63
+ "<#{class_name} href: #{@href}>"
64
+ end
65
+
66
+ # Provides a debugging-friendly string with detailed object information.
67
+ def inspect
68
+ class_name = self.class.name.split('::').last
69
+ "<#{class_name} href: #{@href.inspect}>"
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,148 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PaymentsShippingAddress Model.
8
+ class PaymentsShippingAddress < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Address line 1
13
+ # @return [String]
14
+ attr_accessor :address1
15
+
16
+ # Address line 2
17
+ # @return [String]
18
+ attr_accessor :address2
19
+
20
+ # Address line 3
21
+ # @return [String]
22
+ attr_accessor :address3
23
+
24
+ # Address PostalCode
25
+ # @return [String]
26
+ attr_accessor :postal_code
27
+
28
+ # Address City
29
+ # @return [String]
30
+ attr_accessor :city
31
+
32
+ # Address State
33
+ # @return [String]
34
+ attr_accessor :state
35
+
36
+ # The supported ISO 3166-1 alpha-2 country code
37
+ # @return [String]
38
+ attr_accessor :country_code
39
+
40
+ # A mapping from model property names to API property names.
41
+ def self.names
42
+ @_hash = {} if @_hash.nil?
43
+ @_hash['address1'] = 'address1'
44
+ @_hash['address2'] = 'address2'
45
+ @_hash['address3'] = 'address3'
46
+ @_hash['postal_code'] = 'postalCode'
47
+ @_hash['city'] = 'city'
48
+ @_hash['state'] = 'state'
49
+ @_hash['country_code'] = 'countryCode'
50
+ @_hash
51
+ end
52
+
53
+ # An array for optional fields
54
+ def self.optionals
55
+ %w[
56
+ address2
57
+ address3
58
+ state
59
+ ]
60
+ end
61
+
62
+ # An array for nullable fields
63
+ def self.nullables
64
+ []
65
+ end
66
+
67
+ def initialize(address1 = nil, postal_code = nil, city = nil,
68
+ country_code = nil, address2 = SKIP, address3 = SKIP,
69
+ state = SKIP)
70
+ @address1 = address1
71
+ @address2 = address2 unless address2 == SKIP
72
+ @address3 = address3 unless address3 == SKIP
73
+ @postal_code = postal_code
74
+ @city = city
75
+ @state = state unless state == SKIP
76
+ @country_code = country_code
77
+ end
78
+
79
+ # Creates an instance of the object from a hash.
80
+ def self.from_hash(hash)
81
+ return nil unless hash
82
+
83
+ # Extract variables from the hash.
84
+ address1 = hash.key?('address1') ? hash['address1'] : nil
85
+ postal_code = hash.key?('postalCode') ? hash['postalCode'] : nil
86
+ city = hash.key?('city') ? hash['city'] : nil
87
+ country_code = hash.key?('countryCode') ? hash['countryCode'] : nil
88
+ address2 = hash.key?('address2') ? hash['address2'] : SKIP
89
+ address3 = hash.key?('address3') ? hash['address3'] : SKIP
90
+ state = hash.key?('state') ? hash['state'] : SKIP
91
+
92
+ # Create object from extracted values.
93
+ PaymentsShippingAddress.new(address1,
94
+ postal_code,
95
+ city,
96
+ country_code,
97
+ address2,
98
+ address3,
99
+ state)
100
+ end
101
+
102
+ # Validates an instance of the object from a given value.
103
+ # @param [PaymentsShippingAddress | Hash] The value against the validation is performed.
104
+ def self.validate(value)
105
+ if value.instance_of? self
106
+ return (
107
+ APIHelper.valid_type?(value.address1,
108
+ ->(val) { val.instance_of? String }) and
109
+ APIHelper.valid_type?(value.postal_code,
110
+ ->(val) { val.instance_of? String }) and
111
+ APIHelper.valid_type?(value.city,
112
+ ->(val) { val.instance_of? String }) and
113
+ APIHelper.valid_type?(value.country_code,
114
+ ->(val) { val.instance_of? String })
115
+ )
116
+ end
117
+
118
+ return false unless value.instance_of? Hash
119
+
120
+ (
121
+ APIHelper.valid_type?(value['address1'],
122
+ ->(val) { val.instance_of? String }) and
123
+ APIHelper.valid_type?(value['postalCode'],
124
+ ->(val) { val.instance_of? String }) and
125
+ APIHelper.valid_type?(value['city'],
126
+ ->(val) { val.instance_of? String }) and
127
+ APIHelper.valid_type?(value['countryCode'],
128
+ ->(val) { val.instance_of? String })
129
+ )
130
+ end
131
+
132
+ # Provides a human-readable string representation of the object.
133
+ def to_s
134
+ class_name = self.class.name.split('::').last
135
+ "<#{class_name} address1: #{@address1}, address2: #{@address2}, address3: #{@address3},"\
136
+ " postal_code: #{@postal_code}, city: #{@city}, state: #{@state}, country_code:"\
137
+ " #{@country_code}>"
138
+ end
139
+
140
+ # Provides a debugging-friendly string with detailed object information.
141
+ def inspect
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} address1: #{@address1.inspect}, address2: #{@address2.inspect}, address3:"\
144
+ " #{@address3.inspect}, postal_code: #{@postal_code.inspect}, city: #{@city.inspect}, state:"\
145
+ " #{@state.inspect}, country_code: #{@country_code.inspect}>"
146
+ end
147
+ end
148
+ 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
+ require_relative 'payments_recipient_account'
7
+
8
+ module Payments
9
+ # PaymentsSocialNetworkAccount Model.
10
+ class PaymentsSocialNetworkAccount < PaymentsRecipientAccount
11
+ # A reference identifying recipient's social network account.
12
+ # @return [String]
13
+ attr_accessor :social_network_reference
14
+
15
+ # A mapping from model property names to API property names.
16
+ def self.names
17
+ @_hash = {} if @_hash.nil?
18
+ @_hash['social_network_reference'] = 'socialNetworkReference'
19
+ @_hash = super().merge(@_hash)
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ _arr = []
26
+ (_arr << super()).flatten!
27
+ end
28
+
29
+ # An array for nullable fields
30
+ def self.nullables
31
+ _arr = []
32
+ (_arr << super()).flatten!
33
+ end
34
+
35
+ def initialize(social_network_reference = nil, type = 'socialNetwork')
36
+ @social_network_reference = social_network_reference
37
+
38
+ # Call the constructor of the base class
39
+ super(type)
40
+ end
41
+
42
+ # Creates an instance of the object from a hash.
43
+ def self.from_hash(hash)
44
+ return nil unless hash
45
+
46
+ # Extract variables from the hash.
47
+ social_network_reference =
48
+ hash.key?('socialNetworkReference') ? hash['socialNetworkReference'] : nil
49
+ type = hash['type'] ||= 'socialNetwork'
50
+
51
+ # Create object from extracted values.
52
+ PaymentsSocialNetworkAccount.new(social_network_reference,
53
+ type)
54
+ end
55
+
56
+ # Provides a human-readable string representation of the object.
57
+ def to_s
58
+ class_name = self.class.name.split('::').last
59
+ super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
60
+ "<#{class_name} #{super_string}, social_network_reference: #{@social_network_reference}>"
61
+ end
62
+
63
+ # Provides a debugging-friendly string with detailed object information.
64
+ def inspect
65
+ class_name = self.class.name.split('::').last
66
+ super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
67
+ "<#{class_name} #{super_string}, social_network_reference:"\
68
+ " #{@social_network_reference.inspect}>"
69
+ end
70
+ end
71
+ end