apimatic-cp-sdk 0.0.1

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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +178 -0
  4. data/bin/console +15 -0
  5. data/lib/cell_point_api/api_helper.rb +10 -0
  6. data/lib/cell_point_api/apis/apple_pay_api.rb +51 -0
  7. data/lib/cell_point_api/apis/authentication_api.rb +81 -0
  8. data/lib/cell_point_api/apis/base_api.rb +67 -0
  9. data/lib/cell_point_api/apis/bulk_api.rb +93 -0
  10. data/lib/cell_point_api/apis/cards_api.rb +104 -0
  11. data/lib/cell_point_api/apis/notes_api.rb +66 -0
  12. data/lib/cell_point_api/apis/oauth_authorization_api.rb +44 -0
  13. data/lib/cell_point_api/apis/orders_api.rb +483 -0
  14. data/lib/cell_point_api/apis/payment_methods_api.rb +57 -0
  15. data/lib/cell_point_api/apis/proxy_api.rb +91 -0
  16. data/lib/cell_point_api/apis/transactions_api.rb +546 -0
  17. data/lib/cell_point_api/apis/wallet_api.rb +39 -0
  18. data/lib/cell_point_api/client.rb +145 -0
  19. data/lib/cell_point_api/configuration.rb +180 -0
  20. data/lib/cell_point_api/events/callbacks/callbacks_handler.rb +37 -0
  21. data/lib/cell_point_api/events/unknown_event.rb +32 -0
  22. data/lib/cell_point_api/exceptions/api_exception.rb +21 -0
  23. data/lib/cell_point_api/exceptions/oauth_provider_exception.rb +64 -0
  24. data/lib/cell_point_api/exceptions/problem_exception.rb +75 -0
  25. data/lib/cell_point_api/http/api_response.rb +19 -0
  26. data/lib/cell_point_api/http/auth/cpd_issued_jwt.rb +156 -0
  27. data/lib/cell_point_api/http/auth/merchant_issued_jwt.rb +53 -0
  28. data/lib/cell_point_api/http/http_call_back.rb +10 -0
  29. data/lib/cell_point_api/http/http_method_enum.rb +10 -0
  30. data/lib/cell_point_api/http/http_request.rb +10 -0
  31. data/lib/cell_point_api/http/http_response.rb +10 -0
  32. data/lib/cell_point_api/http/proxy_settings.rb +22 -0
  33. data/lib/cell_point_api/logging/configuration/api_logging_configuration.rb +186 -0
  34. data/lib/cell_point_api/logging/sdk_logger.rb +17 -0
  35. data/lib/cell_point_api/models/account.rb +168 -0
  36. data/lib/cell_point_api/models/account_status.rb +52 -0
  37. data/lib/cell_point_api/models/account_type.rb +44 -0
  38. data/lib/cell_point_api/models/action_base.rb +74 -0
  39. data/lib/cell_point_api/models/action_completion_response.rb +77 -0
  40. data/lib/cell_point_api/models/action_result_status.rb +40 -0
  41. data/lib/cell_point_api/models/action_type.rb +36 -0
  42. data/lib/cell_point_api/models/activity.rb +244 -0
  43. data/lib/cell_point_api/models/activity_data.rb +127 -0
  44. data/lib/cell_point_api/models/address_verification_status.rb +56 -0
  45. data/lib/cell_point_api/models/airline_ancillary.rb +244 -0
  46. data/lib/cell_point_api/models/airline_ancillary_data.rb +120 -0
  47. data/lib/cell_point_api/models/airline_fare.rb +348 -0
  48. data/lib/cell_point_api/models/airline_fare_data.rb +217 -0
  49. data/lib/cell_point_api/models/airline_industry_data.rb +152 -0
  50. data/lib/cell_point_api/models/airport.rb +144 -0
  51. data/lib/cell_point_api/models/amount.rb +105 -0
  52. data/lib/cell_point_api/models/ancillary_details.rb +366 -0
  53. data/lib/cell_point_api/models/apple_pay_config.rb +83 -0
  54. data/lib/cell_point_api/models/apple_pay_instrument_apple_pay_node.rb +119 -0
  55. data/lib/cell_point_api/models/apple_pay_payment_instrument.rb +123 -0
  56. data/lib/cell_point_api/models/apple_tokenized_token.rb +143 -0
  57. data/lib/cell_point_api/models/audience.rb +36 -0
  58. data/lib/cell_point_api/models/authorization.rb +145 -0
  59. data/lib/cell_point_api/models/authorization_group.rb +99 -0
  60. data/lib/cell_point_api/models/authorization_group1.rb +216 -0
  61. data/lib/cell_point_api/models/authorization_group_full.rb +193 -0
  62. data/lib/cell_point_api/models/authorize_order_by_id_post201_response.rb +128 -0
  63. data/lib/cell_point_api/models/auto_rental.rb +195 -0
  64. data/lib/cell_point_api/models/auto_rental_data.rb +76 -0
  65. data/lib/cell_point_api/models/auto_rental_industry_data.rb +182 -0
  66. data/lib/cell_point_api/models/base_model.rb +110 -0
  67. data/lib/cell_point_api/models/bin.rb +73 -0
  68. data/lib/cell_point_api/models/breadcrumb.rb +86 -0
  69. data/lib/cell_point_api/models/browser_info.rb +114 -0
  70. data/lib/cell_point_api/models/bundle.rb +195 -0
  71. data/lib/cell_point_api/models/bundled_activity.rb +229 -0
  72. data/lib/cell_point_api/models/bundled_airline_ancillary.rb +226 -0
  73. data/lib/cell_point_api/models/bundled_airline_fare.rb +330 -0
  74. data/lib/cell_point_api/models/bundled_auto_rental.rb +176 -0
  75. data/lib/cell_point_api/models/bundled_discount.rb +132 -0
  76. data/lib/cell_point_api/models/bundled_item_base.rb +123 -0
  77. data/lib/cell_point_api/models/bundled_lodging_reservation.rb +176 -0
  78. data/lib/cell_point_api/models/bundled_product.rb +161 -0
  79. data/lib/cell_point_api/models/buyer.rb +129 -0
  80. data/lib/cell_point_api/models/buyer_fingerprint.rb +125 -0
  81. data/lib/cell_point_api/models/buyer_history.rb +199 -0
  82. data/lib/cell_point_api/models/cancel.rb +109 -0
  83. data/lib/cell_point_api/models/cancelled_payment_transactions.rb +84 -0
  84. data/lib/cell_point_api/models/capabilities.rb +77 -0
  85. data/lib/cell_point_api/models/capture.rb +84 -0
  86. data/lib/cell_point_api/models/capture_payment_response.rb +159 -0
  87. data/lib/cell_point_api/models/card.rb +131 -0
  88. data/lib/cell_point_api/models/card_config.rb +105 -0
  89. data/lib/cell_point_api/models/card_identification.rb +126 -0
  90. data/lib/cell_point_api/models/card_instrument_card_node.rb +232 -0
  91. data/lib/cell_point_api/models/card_number.rb +122 -0
  92. data/lib/cell_point_api/models/card_payment_instrument.rb +136 -0
  93. data/lib/cell_point_api/models/card_scheme.rb +63 -0
  94. data/lib/cell_point_api/models/card_scheme_configuration.rb +87 -0
  95. data/lib/cell_point_api/models/carrier.rb +82 -0
  96. data/lib/cell_point_api/models/category.rb +36 -0
  97. data/lib/cell_point_api/models/client_assertion.rb +135 -0
  98. data/lib/cell_point_api/models/close.rb +89 -0
  99. data/lib/cell_point_api/models/close_refund_response.rb +73 -0
  100. data/lib/cell_point_api/models/closed_payment_transactions.rb +83 -0
  101. data/lib/cell_point_api/models/codeshare.rb +87 -0
  102. data/lib/cell_point_api/models/complete_person_name.rb +120 -0
  103. data/lib/cell_point_api/models/completion_redirect.rb +93 -0
  104. data/lib/cell_point_api/models/configuration.rb +86 -0
  105. data/lib/cell_point_api/models/contact_data.rb +82 -0
  106. data/lib/cell_point_api/models/cpu.rb +74 -0
  107. data/lib/cell_point_api/models/device_os.rb +60 -0
  108. data/lib/cell_point_api/models/discount.rb +150 -0
  109. data/lib/cell_point_api/models/discount_data.rb +83 -0
  110. data/lib/cell_point_api/models/driver.rb +86 -0
  111. data/lib/cell_point_api/models/external_transaction.rb +227 -0
  112. data/lib/cell_point_api/models/externally_tokenized_card.rb +81 -0
  113. data/lib/cell_point_api/models/failover.rb +105 -0
  114. data/lib/cell_point_api/models/failure_category.rb +62 -0
  115. data/lib/cell_point_api/models/failure_module.rb +58 -0
  116. data/lib/cell_point_api/models/fingerprint.rb +82 -0
  117. data/lib/cell_point_api/models/fraud_assessment.rb +163 -0
  118. data/lib/cell_point_api/models/fulfilled_activity.rb +207 -0
  119. data/lib/cell_point_api/models/fulfilled_airline_ancillary.rb +207 -0
  120. data/lib/cell_point_api/models/fulfilled_airline_fare.rb +207 -0
  121. data/lib/cell_point_api/models/fulfilled_auto_rental.rb +207 -0
  122. data/lib/cell_point_api/models/fulfilled_bundle.rb +207 -0
  123. data/lib/cell_point_api/models/fulfilled_discount.rb +178 -0
  124. data/lib/cell_point_api/models/fulfilled_line_item_base.rb +177 -0
  125. data/lib/cell_point_api/models/fulfilled_lodging_reservation.rb +207 -0
  126. data/lib/cell_point_api/models/fulfilled_order.rb +148 -0
  127. data/lib/cell_point_api/models/fulfilled_product.rb +207 -0
  128. data/lib/cell_point_api/models/fulfilled_tax_line.rb +162 -0
  129. data/lib/cell_point_api/models/fulfillment_data.rb +90 -0
  130. data/lib/cell_point_api/models/fulfillment_status.rb +41 -0
  131. data/lib/cell_point_api/models/funding_type.rb +40 -0
  132. data/lib/cell_point_api/models/gender.rb +40 -0
  133. data/lib/cell_point_api/models/hpp_data.rb +155 -0
  134. data/lib/cell_point_api/models/identifying_document.rb +159 -0
  135. data/lib/cell_point_api/models/identifying_document_type.rb +60 -0
  136. data/lib/cell_point_api/models/industry_data.rb +124 -0
  137. data/lib/cell_point_api/models/informational_price_row.rb +97 -0
  138. data/lib/cell_point_api/models/informational_price_section.rb +104 -0
  139. data/lib/cell_point_api/models/itinerary_type.rb +47 -0
  140. data/lib/cell_point_api/models/journey_segment.rb +83 -0
  141. data/lib/cell_point_api/models/line_item_base.rb +101 -0
  142. data/lib/cell_point_api/models/line_item_type.rb +60 -0
  143. data/lib/cell_point_api/models/links.rb +86 -0
  144. data/lib/cell_point_api/models/location.rb +153 -0
  145. data/lib/cell_point_api/models/lodging_industry_data.rb +216 -0
  146. data/lib/cell_point_api/models/lodging_reservation.rb +195 -0
  147. data/lib/cell_point_api/models/lodging_reservation_data.rb +76 -0
  148. data/lib/cell_point_api/models/loyalty_account.rb +103 -0
  149. data/lib/cell_point_api/models/network_info.rb +76 -0
  150. data/lib/cell_point_api/models/non_negative_amount.rb +105 -0
  151. data/lib/cell_point_api/models/non_positive_amount.rb +105 -0
  152. data/lib/cell_point_api/models/note.rb +139 -0
  153. data/lib/cell_point_api/models/note_request.rb +90 -0
  154. data/lib/cell_point_api/models/oauth_provider_error.rb +62 -0
  155. data/lib/cell_point_api/models/oauth_scope_cpd_issued_jwt.rb +158 -0
  156. data/lib/cell_point_api/models/oauth_token.rb +96 -0
  157. data/lib/cell_point_api/models/order.rb +414 -0
  158. data/lib/cell_point_api/models/order_canceled_reason.rb +56 -0
  159. data/lib/cell_point_api/models/order_core.rb +343 -0
  160. data/lib/cell_point_api/models/order_extended.rb +150 -0
  161. data/lib/cell_point_api/models/order_payment_summary.rb +117 -0
  162. data/lib/cell_point_api/models/order_status.rb +161 -0
  163. data/lib/cell_point_api/models/order_status_type.rb +58 -0
  164. data/lib/cell_point_api/models/order_transactions.rb +88 -0
  165. data/lib/cell_point_api/models/owner.rb +131 -0
  166. data/lib/cell_point_api/models/page_type.rb +26 -0
  167. data/lib/cell_point_api/models/passenger.rb +229 -0
  168. data/lib/cell_point_api/models/password_change_type.rb +41 -0
  169. data/lib/cell_point_api/models/pay_pal_action.rb +129 -0
  170. data/lib/cell_point_api/models/pay_pal_payment_instrument.rb +88 -0
  171. data/lib/cell_point_api/models/payment_data.rb +102 -0
  172. data/lib/cell_point_api/models/payment_data_header.rb +94 -0
  173. data/lib/cell_point_api/models/payment_data_version.rb +26 -0
  174. data/lib/cell_point_api/models/payment_field.rb +68 -0
  175. data/lib/cell_point_api/models/payment_instrument_base.rb +87 -0
  176. data/lib/cell_point_api/models/payment_method.rb +52 -0
  177. data/lib/cell_point_api/models/payment_methods_for_order_get200_response.rb +157 -0
  178. data/lib/cell_point_api/models/payment_methods_search_vouchers_post200_response.rb +82 -0
  179. data/lib/cell_point_api/models/payment_processor.rb +121 -0
  180. data/lib/cell_point_api/models/payment_status.rb +122 -0
  181. data/lib/cell_point_api/models/payment_transaction.rb +605 -0
  182. data/lib/cell_point_api/models/payment_transaction_authorized_amount.rb +105 -0
  183. data/lib/cell_point_api/models/payment_transaction_canceled_amount.rb +105 -0
  184. data/lib/cell_point_api/models/payment_transaction_captured_amount.rb +105 -0
  185. data/lib/cell_point_api/models/payment_transaction_pending_authorize_amount.rb +106 -0
  186. data/lib/cell_point_api/models/payment_transaction_pending_cancel_amount.rb +106 -0
  187. data/lib/cell_point_api/models/payment_transaction_pending_capture_amount.rb +106 -0
  188. data/lib/cell_point_api/models/payment_transaction_processing_fee.rb +106 -0
  189. data/lib/cell_point_api/models/payment_transaction_refunded_amount.rb +105 -0
  190. data/lib/cell_point_api/models/payments_v1_bulks_response.rb +74 -0
  191. data/lib/cell_point_api/models/payments_v1_orders_payments_retry_failed_refunds_request.rb +74 -0
  192. data/lib/cell_point_api/models/payments_v1_refunds_closures_request.rb +74 -0
  193. data/lib/cell_point_api/models/payments_v1_refunds_retry_failed_refunds_request.rb +74 -0
  194. data/lib/cell_point_api/models/payments_v1_schemes_response.rb +76 -0
  195. data/lib/cell_point_api/models/paypal_config.rb +94 -0
  196. data/lib/cell_point_api/models/person.rb +161 -0
  197. data/lib/cell_point_api/models/person_name.rb +89 -0
  198. data/lib/cell_point_api/models/phone.rb +132 -0
  199. data/lib/cell_point_api/models/pk_payment_method.rb +111 -0
  200. data/lib/cell_point_api/models/pk_payment_token.rb +94 -0
  201. data/lib/cell_point_api/models/postal_address.rb +217 -0
  202. data/lib/cell_point_api/models/price_summary.rb +191 -0
  203. data/lib/cell_point_api/models/product.rb +179 -0
  204. data/lib/cell_point_api/models/product_data.rb +104 -0
  205. data/lib/cell_point_api/models/property.rb +110 -0
  206. data/lib/cell_point_api/models/provider.rb +129 -0
  207. data/lib/cell_point_api/models/psp.rb +26 -0
  208. data/lib/cell_point_api/models/redirect_action.rb +116 -0
  209. data/lib/cell_point_api/models/refund_item.rb +310 -0
  210. data/lib/cell_point_api/models/refund_method.rb +36 -0
  211. data/lib/cell_point_api/models/refund_order_group_post201_response.rb +91 -0
  212. data/lib/cell_point_api/models/refund_reason.rb +104 -0
  213. data/lib/cell_point_api/models/refund_request.rb +161 -0
  214. data/lib/cell_point_api/models/refund_status.rb +44 -0
  215. data/lib/cell_point_api/models/refund_transaction.rb +311 -0
  216. data/lib/cell_point_api/models/refund_transaction_amount.rb +105 -0
  217. data/lib/cell_point_api/models/refund_type.rb +38 -0
  218. data/lib/cell_point_api/models/related_payment.rb +106 -0
  219. data/lib/cell_point_api/models/related_refund.rb +106 -0
  220. data/lib/cell_point_api/models/rental_location.rb +226 -0
  221. data/lib/cell_point_api/models/retry_refund_response.rb +73 -0
  222. data/lib/cell_point_api/models/reward.rb +101 -0
  223. data/lib/cell_point_api/models/room.rb +100 -0
  224. data/lib/cell_point_api/models/sales_channel.rb +36 -0
  225. data/lib/cell_point_api/models/save_pk_payment_token_request.rb +83 -0
  226. data/lib/cell_point_api/models/save_wallet_payment_token_request.rb +83 -0
  227. data/lib/cell_point_api/models/screen.rb +97 -0
  228. data/lib/cell_point_api/models/search_vouchers_request.rb +119 -0
  229. data/lib/cell_point_api/models/security_code.rb +83 -0
  230. data/lib/cell_point_api/models/security_code_match_status.rb +50 -0
  231. data/lib/cell_point_api/models/status.rb +43 -0
  232. data/lib/cell_point_api/models/status1.rb +52 -0
  233. data/lib/cell_point_api/models/summary.rb +82 -0
  234. data/lib/cell_point_api/models/tax.rb +134 -0
  235. data/lib/cell_point_api/models/taxes_and_fees_breakdown_page.rb +82 -0
  236. data/lib/cell_point_api/models/token_post200_response.rb +96 -0
  237. data/lib/cell_point_api/models/tokenized_card.rb +229 -0
  238. data/lib/cell_point_api/models/tokenized_card_with_contact_data.rb +247 -0
  239. data/lib/cell_point_api/models/tokenized_data.rb +169 -0
  240. data/lib/cell_point_api/models/total_row.rb +83 -0
  241. data/lib/cell_point_api/models/transaction_action.rb +108 -0
  242. data/lib/cell_point_api/models/transaction_action_result.rb +94 -0
  243. data/lib/cell_point_api/models/transaction_base.rb +132 -0
  244. data/lib/cell_point_api/models/transaction_failure.rb +222 -0
  245. data/lib/cell_point_api/models/travel_journey.rb +139 -0
  246. data/lib/cell_point_api/models/travel_leg.rb +194 -0
  247. data/lib/cell_point_api/models/trigger_bulk_request.rb +83 -0
  248. data/lib/cell_point_api/models/type.rb +67 -0
  249. data/lib/cell_point_api/models/type1.rb +47 -0
  250. data/lib/cell_point_api/models/type2.rb +40 -0
  251. data/lib/cell_point_api/models/type3.rb +41 -0
  252. data/lib/cell_point_api/models/type4.rb +56 -0
  253. data/lib/cell_point_api/models/type5.rb +78 -0
  254. data/lib/cell_point_api/models/uplift_config.rb +73 -0
  255. data/lib/cell_point_api/models/uplift_payment_instrument.rb +102 -0
  256. data/lib/cell_point_api/models/vehicle.rb +139 -0
  257. data/lib/cell_point_api/models/voucher_config.rb +92 -0
  258. data/lib/cell_point_api/models/voucher_issuer.rb +26 -0
  259. data/lib/cell_point_api/models/voucher_payment_instrument.rb +233 -0
  260. data/lib/cell_point_api/models/voucher_payment_instrument_node.rb +198 -0
  261. data/lib/cell_point_api/models/voucher_type.rb +36 -0
  262. data/lib/cell_point_api/models/wallet_instrument_wallet_node.rb +136 -0
  263. data/lib/cell_point_api/models/wallet_payment_instrument.rb +123 -0
  264. data/lib/cell_point_api/models/wallet_tokenized_token.rb +148 -0
  265. data/lib/cell_point_api/models/wallet_tokenized_token_identification.rb +75 -0
  266. data/lib/cell_point_api/models/wallet_type.rb +36 -0
  267. data/lib/cell_point_api/utilities/date_time_helper.rb +11 -0
  268. data/lib/cell_point_api/utilities/file_wrapper.rb +28 -0
  269. data/lib/cell_point_api/utilities/union_type_lookup.rb +260 -0
  270. data/lib/cell_point_api.rb +301 -0
  271. metadata +354 -0
@@ -0,0 +1,92 @@
1
+ # cell_point_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module CellPointApi
7
+ # Configuration for Voucher.
8
+ class VoucherConfig < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Issuer of the voucher
13
+ # @return [String]
14
+ attr_reader :issuer
15
+
16
+ # The maximum number of vouchers that can be used for this order.
17
+ # @return [Integer]
18
+ attr_accessor :max_vouchers
19
+
20
+ # The maximum amount that can be authorized with voucher in this order.
21
+ # In most cases, this is the total amount of "PACKAGE" authorization group
22
+ # on the order.
23
+ # @return [Integer]
24
+ attr_accessor :max_amount
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['issuer'] = 'issuer'
30
+ @_hash['max_vouchers'] = 'maxVouchers'
31
+ @_hash['max_amount'] = 'maxAmount'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ max_amount
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(max_vouchers:, max_amount: SKIP, additional_properties: nil)
48
+ # Add additional model properties to the instance
49
+ additional_properties = {} if additional_properties.nil?
50
+
51
+ @issuer = 'SWAV_PAYMENT_GATEWAY'
52
+ @max_vouchers = max_vouchers
53
+ @max_amount = max_amount unless max_amount == SKIP
54
+ @additional_properties = additional_properties
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ max_vouchers = hash.key?('maxVouchers') ? hash['maxVouchers'] : nil
63
+ max_amount = hash.key?('maxAmount') ? hash['maxAmount'] : SKIP
64
+
65
+ # Create a new hash for additional properties, removing known properties.
66
+ new_hash = hash.reject { |k, _| names.value?(k) }
67
+
68
+ additional_properties = APIHelper.get_additional_properties(
69
+ new_hash, proc { |value| value }
70
+ )
71
+
72
+ # Create object from extracted values.
73
+ VoucherConfig.new(max_vouchers: max_vouchers,
74
+ max_amount: max_amount,
75
+ additional_properties: additional_properties)
76
+ end
77
+
78
+ # Provides a human-readable string representation of the object.
79
+ def to_s
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} issuer: #{@issuer}, max_vouchers: #{@max_vouchers}, max_amount:"\
82
+ " #{@max_amount}, additional_properties: #{@additional_properties}>"
83
+ end
84
+
85
+ # Provides a debugging-friendly string with detailed object information.
86
+ def inspect
87
+ class_name = self.class.name.split('::').last
88
+ "<#{class_name} issuer: #{@issuer.inspect}, max_vouchers: #{@max_vouchers.inspect},"\
89
+ " max_amount: #{@max_amount.inspect}, additional_properties: #{@additional_properties}>"
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,26 @@
1
+ # cell_point_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module CellPointApi
7
+ # Issuer of the voucher
8
+ class VoucherIssuer
9
+ VOUCHER_ISSUER = [
10
+ # TODO: Write general description for SWAV_PAYMENT_GATEWAY
11
+ SWAV_PAYMENT_GATEWAY = 'SWAV_PAYMENT_GATEWAY'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ VOUCHER_ISSUER.include?(value)
18
+ end
19
+
20
+ def self.from_value(value, default_value = SWAV_PAYMENT_GATEWAY)
21
+ return default_value if value.nil?
22
+
23
+ default_value
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,233 @@
1
+ # cell_point_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module CellPointApi
8
+ # A payment instrument used for voucher-based transactions.
9
+ class VoucherPaymentInstrument < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Payment method type.
14
+ # @return [PaymentMethod]
15
+ attr_accessor :method
16
+
17
+ # Payment method type.
18
+ # @return [String]
19
+ attr_accessor :id
20
+
21
+ # Reference for identifying an order in the merchant's system. This is
22
+ # mandatory for some issuers, such as SWAV.
23
+ # @return [String]
24
+ attr_accessor :merchant_order_reference
25
+
26
+ # Issuer of the voucher
27
+ # @return [String]
28
+ attr_reader :issuer
29
+
30
+ # The type number of the voucher.
31
+ # @return [String]
32
+ attr_accessor :number
33
+
34
+ # Type of voucher
35
+ # @return [VoucherType]
36
+ attr_accessor :type
37
+
38
+ # Type of voucher
39
+ # @return [Owner]
40
+ attr_accessor :owner
41
+
42
+ # The amount available on the voucher, at the latest transaction event. In a
43
+ # refund scenario, this is the amount that will be refunded to this voucher.
44
+ # @return [NonNegativeAmount]
45
+ attr_accessor :amount
46
+
47
+ # Date-time that asset was created.
48
+ # @return [DateTime]
49
+ attr_accessor :created_at
50
+
51
+ # Date-time that asset is set to expire.
52
+ # @return [DateTime]
53
+ attr_accessor :expires_at
54
+
55
+ # Custom data to attach as a pass through for the voucher.
56
+ # **No sensative data should ever be passed in custom fields.**
57
+ # > Note: These properties are not used by CellPoint Digital for any payment
58
+ # processing and will not be passed to any acquirers.
59
+ # @return [Hash[String, String]]
60
+ attr_accessor :custom
61
+
62
+ # Indicates whether this voucher is currently valid and can be used for
63
+ # payment or refund operations.
64
+ # This reflects the usability of the voucher at the time of the request
65
+ # considering issuer status,
66
+ # activation, expiration and any other business rules.
67
+ # @return [TrueClass | FalseClass]
68
+ attr_accessor :is_valid
69
+
70
+ # A mapping from model property names to API property names.
71
+ def self.names
72
+ @_hash = {} if @_hash.nil?
73
+ @_hash['method'] = 'method'
74
+ @_hash['id'] = 'id'
75
+ @_hash['merchant_order_reference'] = 'merchantOrderReference'
76
+ @_hash['issuer'] = 'issuer'
77
+ @_hash['number'] = 'number'
78
+ @_hash['type'] = 'type'
79
+ @_hash['owner'] = 'owner'
80
+ @_hash['amount'] = 'amount'
81
+ @_hash['created_at'] = 'createdAt'
82
+ @_hash['expires_at'] = 'expiresAt'
83
+ @_hash['custom'] = 'custom'
84
+ @_hash['is_valid'] = 'isValid'
85
+ @_hash
86
+ end
87
+
88
+ # An array for optional fields
89
+ def self.optionals
90
+ %w[
91
+ merchant_order_reference
92
+ number
93
+ type
94
+ owner
95
+ amount
96
+ created_at
97
+ expires_at
98
+ custom
99
+ is_valid
100
+ ]
101
+ end
102
+
103
+ # An array for nullable fields
104
+ def self.nullables
105
+ []
106
+ end
107
+
108
+ def initialize(method:, id:, merchant_order_reference: SKIP, number: SKIP,
109
+ type: SKIP, owner: SKIP, amount: SKIP, created_at: SKIP,
110
+ expires_at: SKIP, custom: SKIP, is_valid: SKIP,
111
+ additional_properties: nil)
112
+ # Add additional model properties to the instance
113
+ additional_properties = {} if additional_properties.nil?
114
+
115
+ @method = method
116
+ @id = id
117
+ @merchant_order_reference = merchant_order_reference unless merchant_order_reference == SKIP
118
+ @issuer = 'SWAV_PAYMENT_GATEWAY'
119
+ @number = number unless number == SKIP
120
+ @type = type unless type == SKIP
121
+ @owner = owner unless owner == SKIP
122
+ @amount = amount unless amount == SKIP
123
+ @created_at = created_at unless created_at == SKIP
124
+ @expires_at = expires_at unless expires_at == SKIP
125
+ @custom = custom unless custom == SKIP
126
+ @is_valid = is_valid unless is_valid == SKIP
127
+ @additional_properties = additional_properties
128
+ end
129
+
130
+ # Creates an instance of the object from a hash.
131
+ def self.from_hash(hash)
132
+ return nil unless hash
133
+
134
+ # Extract variables from the hash.
135
+ method = hash.key?('method') ? hash['method'] : nil
136
+ id = hash.key?('id') ? hash['id'] : nil
137
+ merchant_order_reference =
138
+ hash.key?('merchantOrderReference') ? hash['merchantOrderReference'] : SKIP
139
+ number = hash.key?('number') ? hash['number'] : SKIP
140
+ type = hash.key?('type') ? hash['type'] : SKIP
141
+ owner = Owner.from_hash(hash['owner']) if hash['owner']
142
+ amount = NonNegativeAmount.from_hash(hash['amount']) if hash['amount']
143
+ created_at = if hash.key?('createdAt')
144
+ (DateTimeHelper.from_rfc3339(hash['createdAt']) if hash['createdAt'])
145
+ else
146
+ SKIP
147
+ end
148
+ expires_at = if hash.key?('expiresAt')
149
+ (DateTimeHelper.from_rfc3339(hash['expiresAt']) if hash['expiresAt'])
150
+ else
151
+ SKIP
152
+ end
153
+ custom = hash.key?('custom') ? hash['custom'] : SKIP
154
+ is_valid = hash.key?('isValid') ? hash['isValid'] : SKIP
155
+
156
+ # Create a new hash for additional properties, removing known properties.
157
+ new_hash = hash.reject { |k, _| names.value?(k) }
158
+
159
+ additional_properties = APIHelper.get_additional_properties(
160
+ new_hash, proc { |value| value }
161
+ )
162
+
163
+ # Create object from extracted values.
164
+ VoucherPaymentInstrument.new(method: method,
165
+ id: id,
166
+ merchant_order_reference: merchant_order_reference,
167
+ number: number,
168
+ type: type,
169
+ owner: owner,
170
+ amount: amount,
171
+ created_at: created_at,
172
+ expires_at: expires_at,
173
+ custom: custom,
174
+ is_valid: is_valid,
175
+ additional_properties: additional_properties)
176
+ end
177
+
178
+ def to_custom_created_at
179
+ DateTimeHelper.to_rfc3339(created_at)
180
+ end
181
+
182
+ def to_custom_expires_at
183
+ DateTimeHelper.to_rfc3339(expires_at)
184
+ end
185
+
186
+ # Validates an instance of the object from a given value.
187
+ # @param [VoucherPaymentInstrument | Hash] The value against the validation is performed.
188
+ def self.validate(value)
189
+ if value.instance_of? self
190
+ return (
191
+ APIHelper.valid_type?(value.method,
192
+ ->(val) { PaymentMethod.validate(val) }) and
193
+ APIHelper.valid_type?(value.id,
194
+ ->(val) { val.instance_of? String }) and
195
+ APIHelper.valid_type?(value.issuer,
196
+ ->(val) { val.instance_of? String })
197
+ )
198
+ end
199
+
200
+ return false unless value.instance_of? Hash
201
+
202
+ (
203
+ APIHelper.valid_type?(value['method'],
204
+ ->(val) { PaymentMethod.validate(val) }) and
205
+ APIHelper.valid_type?(value['id'],
206
+ ->(val) { val.instance_of? String }) and
207
+ APIHelper.valid_type?(value['issuer'],
208
+ ->(val) { val.instance_of? String })
209
+ )
210
+ end
211
+
212
+ # Provides a human-readable string representation of the object.
213
+ def to_s
214
+ class_name = self.class.name.split('::').last
215
+ "<#{class_name} method: #{@method}, id: #{@id}, merchant_order_reference:"\
216
+ " #{@merchant_order_reference}, issuer: #{@issuer}, number: #{@number}, type: #{@type},"\
217
+ " owner: #{@owner}, amount: #{@amount}, created_at: #{@created_at}, expires_at:"\
218
+ " #{@expires_at}, custom: #{@custom}, is_valid: #{@is_valid}, additional_properties:"\
219
+ " #{@additional_properties}>"
220
+ end
221
+
222
+ # Provides a debugging-friendly string with detailed object information.
223
+ def inspect
224
+ class_name = self.class.name.split('::').last
225
+ "<#{class_name} method: #{@method.inspect}, id: #{@id.inspect}, merchant_order_reference:"\
226
+ " #{@merchant_order_reference.inspect}, issuer: #{@issuer.inspect}, number:"\
227
+ " #{@number.inspect}, type: #{@type.inspect}, owner: #{@owner.inspect}, amount:"\
228
+ " #{@amount.inspect}, created_at: #{@created_at.inspect}, expires_at:"\
229
+ " #{@expires_at.inspect}, custom: #{@custom.inspect}, is_valid: #{@is_valid.inspect},"\
230
+ " additional_properties: #{@additional_properties}>"
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,198 @@
1
+ # cell_point_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module CellPointApi
8
+ # A voucher payment instrument.
9
+ class VoucherPaymentInstrumentNode < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [String]
15
+ attr_accessor :id
16
+
17
+ # Reference for identifying an order in the merchant's system. This is
18
+ # mandatory for some issuers, such as SWAV.
19
+ # @return [String]
20
+ attr_accessor :merchant_order_reference
21
+
22
+ # Issuer of the voucher
23
+ # @return [String]
24
+ attr_reader :issuer
25
+
26
+ # The type number of the voucher.
27
+ # @return [String]
28
+ attr_accessor :number
29
+
30
+ # Type of voucher
31
+ # @return [VoucherType]
32
+ attr_accessor :type
33
+
34
+ # Type of voucher
35
+ # @return [Owner]
36
+ attr_accessor :owner
37
+
38
+ # The amount available on the voucher, at the latest transaction event. In a
39
+ # refund scenario, this is the amount that will be refunded to this voucher.
40
+ # @return [NonNegativeAmount]
41
+ attr_accessor :amount
42
+
43
+ # Date-time that asset was created.
44
+ # @return [DateTime]
45
+ attr_accessor :created_at
46
+
47
+ # Date-time that asset is set to expire.
48
+ # @return [DateTime]
49
+ attr_accessor :expires_at
50
+
51
+ # Custom data to attach as a pass through for the voucher.
52
+ # **No sensative data should ever be passed in custom fields.**
53
+ # > Note: These properties are not used by CellPoint Digital for any payment
54
+ # processing and will not be passed to any acquirers.
55
+ # @return [Hash[String, String]]
56
+ attr_accessor :custom
57
+
58
+ # Indicates whether this voucher is currently valid and can be used for
59
+ # payment or refund operations.
60
+ # This reflects the usability of the voucher at the time of the request
61
+ # considering issuer status,
62
+ # activation, expiration and any other business rules.
63
+ # @return [TrueClass | FalseClass]
64
+ attr_accessor :is_valid
65
+
66
+ # A mapping from model property names to API property names.
67
+ def self.names
68
+ @_hash = {} if @_hash.nil?
69
+ @_hash['id'] = 'id'
70
+ @_hash['merchant_order_reference'] = 'merchantOrderReference'
71
+ @_hash['issuer'] = 'issuer'
72
+ @_hash['number'] = 'number'
73
+ @_hash['type'] = 'type'
74
+ @_hash['owner'] = 'owner'
75
+ @_hash['amount'] = 'amount'
76
+ @_hash['created_at'] = 'createdAt'
77
+ @_hash['expires_at'] = 'expiresAt'
78
+ @_hash['custom'] = 'custom'
79
+ @_hash['is_valid'] = 'isValid'
80
+ @_hash
81
+ end
82
+
83
+ # An array for optional fields
84
+ def self.optionals
85
+ %w[
86
+ merchant_order_reference
87
+ number
88
+ type
89
+ owner
90
+ amount
91
+ created_at
92
+ expires_at
93
+ custom
94
+ is_valid
95
+ ]
96
+ end
97
+
98
+ # An array for nullable fields
99
+ def self.nullables
100
+ []
101
+ end
102
+
103
+ def initialize(id:, merchant_order_reference: SKIP, number: SKIP,
104
+ type: SKIP, owner: SKIP, amount: SKIP, created_at: SKIP,
105
+ expires_at: SKIP, custom: SKIP, is_valid: SKIP,
106
+ additional_properties: nil)
107
+ # Add additional model properties to the instance
108
+ additional_properties = {} if additional_properties.nil?
109
+
110
+ @id = id
111
+ @merchant_order_reference = merchant_order_reference unless merchant_order_reference == SKIP
112
+ @issuer = 'SWAV_PAYMENT_GATEWAY'
113
+ @number = number unless number == SKIP
114
+ @type = type unless type == SKIP
115
+ @owner = owner unless owner == SKIP
116
+ @amount = amount unless amount == SKIP
117
+ @created_at = created_at unless created_at == SKIP
118
+ @expires_at = expires_at unless expires_at == SKIP
119
+ @custom = custom unless custom == SKIP
120
+ @is_valid = is_valid unless is_valid == SKIP
121
+ @additional_properties = additional_properties
122
+ end
123
+
124
+ # Creates an instance of the object from a hash.
125
+ def self.from_hash(hash)
126
+ return nil unless hash
127
+
128
+ # Extract variables from the hash.
129
+ id = hash.key?('id') ? hash['id'] : nil
130
+ merchant_order_reference =
131
+ hash.key?('merchantOrderReference') ? hash['merchantOrderReference'] : SKIP
132
+ number = hash.key?('number') ? hash['number'] : SKIP
133
+ type = hash.key?('type') ? hash['type'] : SKIP
134
+ owner = Owner.from_hash(hash['owner']) if hash['owner']
135
+ amount = NonNegativeAmount.from_hash(hash['amount']) if hash['amount']
136
+ created_at = if hash.key?('createdAt')
137
+ (DateTimeHelper.from_rfc3339(hash['createdAt']) if hash['createdAt'])
138
+ else
139
+ SKIP
140
+ end
141
+ expires_at = if hash.key?('expiresAt')
142
+ (DateTimeHelper.from_rfc3339(hash['expiresAt']) if hash['expiresAt'])
143
+ else
144
+ SKIP
145
+ end
146
+ custom = hash.key?('custom') ? hash['custom'] : SKIP
147
+ is_valid = hash.key?('isValid') ? hash['isValid'] : SKIP
148
+
149
+ # Create a new hash for additional properties, removing known properties.
150
+ new_hash = hash.reject { |k, _| names.value?(k) }
151
+
152
+ additional_properties = APIHelper.get_additional_properties(
153
+ new_hash, proc { |value| value }
154
+ )
155
+
156
+ # Create object from extracted values.
157
+ VoucherPaymentInstrumentNode.new(id: id,
158
+ merchant_order_reference: merchant_order_reference,
159
+ number: number,
160
+ type: type,
161
+ owner: owner,
162
+ amount: amount,
163
+ created_at: created_at,
164
+ expires_at: expires_at,
165
+ custom: custom,
166
+ is_valid: is_valid,
167
+ additional_properties: additional_properties)
168
+ end
169
+
170
+ def to_custom_created_at
171
+ DateTimeHelper.to_rfc3339(created_at)
172
+ end
173
+
174
+ def to_custom_expires_at
175
+ DateTimeHelper.to_rfc3339(expires_at)
176
+ end
177
+
178
+ # Provides a human-readable string representation of the object.
179
+ def to_s
180
+ class_name = self.class.name.split('::').last
181
+ "<#{class_name} id: #{@id}, merchant_order_reference: #{@merchant_order_reference}, issuer:"\
182
+ " #{@issuer}, number: #{@number}, type: #{@type}, owner: #{@owner}, amount: #{@amount},"\
183
+ " created_at: #{@created_at}, expires_at: #{@expires_at}, custom: #{@custom}, is_valid:"\
184
+ " #{@is_valid}, additional_properties: #{@additional_properties}>"
185
+ end
186
+
187
+ # Provides a debugging-friendly string with detailed object information.
188
+ def inspect
189
+ class_name = self.class.name.split('::').last
190
+ "<#{class_name} id: #{@id.inspect}, merchant_order_reference:"\
191
+ " #{@merchant_order_reference.inspect}, issuer: #{@issuer.inspect}, number:"\
192
+ " #{@number.inspect}, type: #{@type.inspect}, owner: #{@owner.inspect}, amount:"\
193
+ " #{@amount.inspect}, created_at: #{@created_at.inspect}, expires_at:"\
194
+ " #{@expires_at.inspect}, custom: #{@custom.inspect}, is_valid: #{@is_valid.inspect},"\
195
+ " additional_properties: #{@additional_properties}>"
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,36 @@
1
+ # cell_point_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module CellPointApi
7
+ # Type of voucher
8
+ class VoucherType
9
+ VOUCHER_TYPE = [
10
+ # TODO: Write general description for VTC
11
+ VTC = 'VTC'.freeze,
12
+
13
+ # TODO: Write general description for RTF
14
+ RTF = 'RTF'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ VOUCHER_TYPE.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = VTC)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'vtc' then VTC
30
+ when 'rtf' then RTF
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end