yapstone-payments 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (310) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +79 -0
  4. data/README.md +203 -0
  5. data/Rakefile +10 -0
  6. data/docs/APM.md +29 -0
  7. data/docs/APMSpecInParameters.md +19 -0
  8. data/docs/Action.md +16 -0
  9. data/docs/Address.md +29 -0
  10. data/docs/Amount.md +21 -0
  11. data/docs/AuthResponse.md +19 -0
  12. data/docs/AuthTokenRequest.md +19 -0
  13. data/docs/AuthTokenResponse.md +17 -0
  14. data/docs/AuthenticationApi.md +58 -0
  15. data/docs/BankAccount.md +37 -0
  16. data/docs/BillingAddress.md +29 -0
  17. data/docs/BookingInfo.md +31 -0
  18. data/docs/CapturePaymentRequest.md +21 -0
  19. data/docs/Card.md +27 -0
  20. data/docs/CardResponse.md +21 -0
  21. data/docs/Consent.md +21 -0
  22. data/docs/CreditCardAuthResponse.md +25 -0
  23. data/docs/Customer.md +29 -0
  24. data/docs/CustomerData.md +19 -0
  25. data/docs/CustomerDetails.md +23 -0
  26. data/docs/Deposit.md +23 -0
  27. data/docs/DepositDetails.md +17 -0
  28. data/docs/DisburseLineItemsReq.md +19 -0
  29. data/docs/DisburseTransaction.md +19 -0
  30. data/docs/DisburseTransactionReq.md +17 -0
  31. data/docs/Disbursement.md +17 -0
  32. data/docs/DisbursementAllOf.md +17 -0
  33. data/docs/DisbursementDetails.md +17 -0
  34. data/docs/DisbursementRequest.md +16 -0
  35. data/docs/DisbursementRequests.md +17 -0
  36. data/docs/DisbursementResponse.md +17 -0
  37. data/docs/DisbursementsApi.md +138 -0
  38. data/docs/Error.md +25 -0
  39. data/docs/ErrorResponse.md +19 -0
  40. data/docs/Fields.md +17 -0
  41. data/docs/GovIdentification.md +29 -0
  42. data/docs/Guest.md +29 -0
  43. data/docs/GuestInfoResponse.md +19 -0
  44. data/docs/Href.md +17 -0
  45. data/docs/InlineResponse200.md +25 -0
  46. data/docs/InstallmentPlan.md +19 -0
  47. data/docs/Instrument.md +21 -0
  48. data/docs/InstrumentVerificationResponse.md +31 -0
  49. data/docs/KYC.md +21 -0
  50. data/docs/LeaseInfo.md +21 -0
  51. data/docs/LineItemDetails.md +25 -0
  52. data/docs/MarketplaceData.md +23 -0
  53. data/docs/Merketplace.md +17 -0
  54. data/docs/Money.md +19 -0
  55. data/docs/Name.md +27 -0
  56. data/docs/OfferingDetails.md +21 -0
  57. data/docs/OrderTransactions.md +25 -0
  58. data/docs/Payment.md +21 -0
  59. data/docs/PaymentCancelResponse.md +23 -0
  60. data/docs/PaymentCancelTransactionResponse.md +21 -0
  61. data/docs/PaymentDetails.md +29 -0
  62. data/docs/PaymentInstrument.md +27 -0
  63. data/docs/PaymentInstrumentCard.md +19 -0
  64. data/docs/PaymentInstrumentResponse.md +19 -0
  65. data/docs/PaymentPayment.md +27 -0
  66. data/docs/PaymentPaymentAllOf.md +27 -0
  67. data/docs/PaymentResponse.md +33 -0
  68. data/docs/PaymentsApi.md +447 -0
  69. data/docs/Phone.md +21 -0
  70. data/docs/ProcessPayment.md +29 -0
  71. data/docs/PropertyInfo.md +21 -0
  72. data/docs/PropertyInfoResponse.md +19 -0
  73. data/docs/RefundAction.md +16 -0
  74. data/docs/RefundCancelResponse.md +21 -0
  75. data/docs/RefundCancelTransactionResponse.md +19 -0
  76. data/docs/RefundRequest.md +25 -0
  77. data/docs/RefundResponse.md +29 -0
  78. data/docs/RefundStatus.md +16 -0
  79. data/docs/RefundTransactions.md +27 -0
  80. data/docs/RefundsApi.md +378 -0
  81. data/docs/RentalInfo.md +21 -0
  82. data/docs/Renter.md +29 -0
  83. data/docs/Resolution.md +17 -0
  84. data/docs/Result.md +21 -0
  85. data/docs/RiskStatus.md +17 -0
  86. data/docs/SanctionedEntities.md +19 -0
  87. data/docs/SearchApi.md +132 -0
  88. data/docs/SearchPaymentResponse.md +17 -0
  89. data/docs/StackTraceElement.md +25 -0
  90. data/docs/Status.md +16 -0
  91. data/docs/Throwable.md +21 -0
  92. data/docs/ToEntityRef.md +19 -0
  93. data/docs/Token.md +19 -0
  94. data/docs/TokenApi.md +134 -0
  95. data/docs/TokenReq.md +19 -0
  96. data/docs/TokenRequest.md +17 -0
  97. data/docs/TokenResponse.md +17 -0
  98. data/docs/Transaction.md +21 -0
  99. data/docs/TransactionResponse.md +27 -0
  100. data/docs/Triggers.md +21 -0
  101. data/docs/VacationRentalInfo.md +19 -0
  102. data/docs/VacationRentalInfoRequest.md +21 -0
  103. data/docs/VerifyInstrumentRequest.md +21 -0
  104. data/git_push.sh +55 -0
  105. data/lib/yapstone-payments.rb +137 -0
  106. data/lib/yapstone-payments/api/authentication_api.rb +92 -0
  107. data/lib/yapstone-payments/api/disbursements_api.rb +202 -0
  108. data/lib/yapstone-payments/api/payments_api.rb +598 -0
  109. data/lib/yapstone-payments/api/refunds_api.rb +507 -0
  110. data/lib/yapstone-payments/api/search_api.rb +187 -0
  111. data/lib/yapstone-payments/api/token_api.rb +182 -0
  112. data/lib/yapstone-payments/api_client.rb +386 -0
  113. data/lib/yapstone-payments/api_error.rb +57 -0
  114. data/lib/yapstone-payments/configuration.rb +249 -0
  115. data/lib/yapstone-payments/models/action.rb +39 -0
  116. data/lib/yapstone-payments/models/address.rb +258 -0
  117. data/lib/yapstone-payments/models/amount.rb +218 -0
  118. data/lib/yapstone-payments/models/apm.rb +292 -0
  119. data/lib/yapstone-payments/models/apm_spec_in_parameters.rb +208 -0
  120. data/lib/yapstone-payments/models/auth_response.rb +217 -0
  121. data/lib/yapstone-payments/models/auth_token_request.rb +205 -0
  122. data/lib/yapstone-payments/models/auth_token_response.rb +196 -0
  123. data/lib/yapstone-payments/models/bank_account.rb +347 -0
  124. data/lib/yapstone-payments/models/billing_address.rb +258 -0
  125. data/lib/yapstone-payments/models/booking_info.rb +266 -0
  126. data/lib/yapstone-payments/models/capture_payment_request.rb +252 -0
  127. data/lib/yapstone-payments/models/card.rb +247 -0
  128. data/lib/yapstone-payments/models/card_response.rb +217 -0
  129. data/lib/yapstone-payments/models/consent.rb +248 -0
  130. data/lib/yapstone-payments/models/credit_card_auth_response.rb +267 -0
  131. data/lib/yapstone-payments/models/customer.rb +256 -0
  132. data/lib/yapstone-payments/models/customer_data.rb +208 -0
  133. data/lib/yapstone-payments/models/customer_details.rb +226 -0
  134. data/lib/yapstone-payments/models/deposit.rb +228 -0
  135. data/lib/yapstone-payments/models/deposit_details.rb +199 -0
  136. data/lib/yapstone-payments/models/disburse_line_items_req.rb +208 -0
  137. data/lib/yapstone-payments/models/disburse_transaction.rb +208 -0
  138. data/lib/yapstone-payments/models/disburse_transaction_req.rb +199 -0
  139. data/lib/yapstone-payments/models/disbursement.rb +203 -0
  140. data/lib/yapstone-payments/models/disbursement_all_of.rb +197 -0
  141. data/lib/yapstone-payments/models/disbursement_details.rb +200 -0
  142. data/lib/yapstone-payments/models/disbursement_request.rb +187 -0
  143. data/lib/yapstone-payments/models/disbursement_requests.rb +198 -0
  144. data/lib/yapstone-payments/models/disbursement_response.rb +198 -0
  145. data/lib/yapstone-payments/models/error.rb +241 -0
  146. data/lib/yapstone-payments/models/error_response.rb +218 -0
  147. data/lib/yapstone-payments/models/fields.rb +196 -0
  148. data/lib/yapstone-payments/models/gov_identification.rb +292 -0
  149. data/lib/yapstone-payments/models/guest.rb +257 -0
  150. data/lib/yapstone-payments/models/guest_info_response.rb +208 -0
  151. data/lib/yapstone-payments/models/href.rb +196 -0
  152. data/lib/yapstone-payments/models/inline_response200.rb +232 -0
  153. data/lib/yapstone-payments/models/installment_plan.rb +208 -0
  154. data/lib/yapstone-payments/models/instrument.rb +250 -0
  155. data/lib/yapstone-payments/models/instrument_verification_response.rb +260 -0
  156. data/lib/yapstone-payments/models/kyc.rb +215 -0
  157. data/lib/yapstone-payments/models/lease_info.rb +218 -0
  158. data/lib/yapstone-payments/models/line_item_details.rb +236 -0
  159. data/lib/yapstone-payments/models/marketplace_data.rb +260 -0
  160. data/lib/yapstone-payments/models/merketplace.rb +197 -0
  161. data/lib/yapstone-payments/models/money.rb +207 -0
  162. data/lib/yapstone-payments/models/name.rb +248 -0
  163. data/lib/yapstone-payments/models/offering_details.rb +216 -0
  164. data/lib/yapstone-payments/models/order_transactions.rb +235 -0
  165. data/lib/yapstone-payments/models/payment.rb +216 -0
  166. data/lib/yapstone-payments/models/payment_cancel_response.rb +227 -0
  167. data/lib/yapstone-payments/models/payment_cancel_transaction_response.rb +218 -0
  168. data/lib/yapstone-payments/models/payment_details.rb +319 -0
  169. data/lib/yapstone-payments/models/payment_instrument.rb +277 -0
  170. data/lib/yapstone-payments/models/payment_instrument_card.rb +241 -0
  171. data/lib/yapstone-payments/models/payment_instrument_response.rb +205 -0
  172. data/lib/yapstone-payments/models/payment_payment.rb +257 -0
  173. data/lib/yapstone-payments/models/payment_payment_all_of.rb +250 -0
  174. data/lib/yapstone-payments/models/payment_response.rb +275 -0
  175. data/lib/yapstone-payments/models/phone.rb +218 -0
  176. data/lib/yapstone-payments/models/process_payment.rb +304 -0
  177. data/lib/yapstone-payments/models/property_info.rb +216 -0
  178. data/lib/yapstone-payments/models/property_info_response.rb +207 -0
  179. data/lib/yapstone-payments/models/refund_action.rb +35 -0
  180. data/lib/yapstone-payments/models/refund_cancel_response.rb +217 -0
  181. data/lib/yapstone-payments/models/refund_cancel_transaction_response.rb +207 -0
  182. data/lib/yapstone-payments/models/refund_request.rb +285 -0
  183. data/lib/yapstone-payments/models/refund_response.rb +253 -0
  184. data/lib/yapstone-payments/models/refund_status.rb +90 -0
  185. data/lib/yapstone-payments/models/refund_transactions.rb +245 -0
  186. data/lib/yapstone-payments/models/rental_info.rb +215 -0
  187. data/lib/yapstone-payments/models/renter.rb +254 -0
  188. data/lib/yapstone-payments/models/resolution.rb +196 -0
  189. data/lib/yapstone-payments/models/result.rb +218 -0
  190. data/lib/yapstone-payments/models/risk_status.rb +196 -0
  191. data/lib/yapstone-payments/models/sanctioned_entities.rb +207 -0
  192. data/lib/yapstone-payments/models/search_payment_response.rb +196 -0
  193. data/lib/yapstone-payments/models/stack_trace_element.rb +238 -0
  194. data/lib/yapstone-payments/models/status.rb +91 -0
  195. data/lib/yapstone-payments/models/throwable.rb +220 -0
  196. data/lib/yapstone-payments/models/to_entity_ref.rb +207 -0
  197. data/lib/yapstone-payments/models/token.rb +207 -0
  198. data/lib/yapstone-payments/models/token_req.rb +206 -0
  199. data/lib/yapstone-payments/models/token_request.rb +196 -0
  200. data/lib/yapstone-payments/models/token_response.rb +196 -0
  201. data/lib/yapstone-payments/models/transaction.rb +218 -0
  202. data/lib/yapstone-payments/models/transaction_response.rb +248 -0
  203. data/lib/yapstone-payments/models/triggers.rb +216 -0
  204. data/lib/yapstone-payments/models/vacation_rental_info.rb +205 -0
  205. data/lib/yapstone-payments/models/vacation_rental_info_request.rb +215 -0
  206. data/lib/yapstone-payments/models/verify_instrument_request.rb +215 -0
  207. data/lib/yapstone-payments/version.rb +15 -0
  208. data/spec/api/authentication_api_spec.rb +48 -0
  209. data/spec/api/disbursements_api_spec.rb +69 -0
  210. data/spec/api/payments_api_spec.rb +146 -0
  211. data/spec/api/refunds_api_spec.rb +127 -0
  212. data/spec/api/search_api_spec.rb +66 -0
  213. data/spec/api/token_api_spec.rb +67 -0
  214. data/spec/api_client_spec.rb +226 -0
  215. data/spec/configuration_spec.rb +42 -0
  216. data/spec/models/action_spec.rb +35 -0
  217. data/spec/models/address_spec.rb +77 -0
  218. data/spec/models/amount_spec.rb +53 -0
  219. data/spec/models/apm_spec.rb +81 -0
  220. data/spec/models/apm_spec_in_parameters_spec.rb +47 -0
  221. data/spec/models/auth_response_spec.rb +47 -0
  222. data/spec/models/auth_token_request_spec.rb +47 -0
  223. data/spec/models/auth_token_response_spec.rb +41 -0
  224. data/spec/models/bank_account_spec.rb +105 -0
  225. data/spec/models/billing_address_spec.rb +77 -0
  226. data/spec/models/booking_info_spec.rb +83 -0
  227. data/spec/models/capture_payment_request_spec.rb +57 -0
  228. data/spec/models/card_response_spec.rb +53 -0
  229. data/spec/models/card_spec.rb +71 -0
  230. data/spec/models/consent_spec.rb +57 -0
  231. data/spec/models/credit_card_auth_response_spec.rb +69 -0
  232. data/spec/models/customer_data_spec.rb +47 -0
  233. data/spec/models/customer_details_spec.rb +59 -0
  234. data/spec/models/customer_spec.rb +77 -0
  235. data/spec/models/deposit_details_spec.rb +41 -0
  236. data/spec/models/deposit_spec.rb +59 -0
  237. data/spec/models/disburse_line_items_req_spec.rb +47 -0
  238. data/spec/models/disburse_transaction_req_spec.rb +41 -0
  239. data/spec/models/disburse_transaction_spec.rb +47 -0
  240. data/spec/models/disbursement_all_of_spec.rb +41 -0
  241. data/spec/models/disbursement_details_spec.rb +41 -0
  242. data/spec/models/disbursement_request_spec.rb +35 -0
  243. data/spec/models/disbursement_requests_spec.rb +41 -0
  244. data/spec/models/disbursement_response_spec.rb +41 -0
  245. data/spec/models/disbursement_spec.rb +41 -0
  246. data/spec/models/error_response_spec.rb +47 -0
  247. data/spec/models/error_spec.rb +65 -0
  248. data/spec/models/fields_spec.rb +41 -0
  249. data/spec/models/gov_identification_spec.rb +81 -0
  250. data/spec/models/guest_info_response_spec.rb +47 -0
  251. data/spec/models/guest_spec.rb +77 -0
  252. data/spec/models/href_spec.rb +41 -0
  253. data/spec/models/inline_response200_spec.rb +65 -0
  254. data/spec/models/installment_plan_spec.rb +47 -0
  255. data/spec/models/instrument_spec.rb +57 -0
  256. data/spec/models/instrument_verification_response_spec.rb +83 -0
  257. data/spec/models/kyc_spec.rb +53 -0
  258. data/spec/models/lease_info_spec.rb +53 -0
  259. data/spec/models/line_item_details_spec.rb +65 -0
  260. data/spec/models/marketplace_data_spec.rb +63 -0
  261. data/spec/models/merketplace_spec.rb +41 -0
  262. data/spec/models/money_spec.rb +47 -0
  263. data/spec/models/name_spec.rb +71 -0
  264. data/spec/models/offering_details_spec.rb +53 -0
  265. data/spec/models/order_transactions_spec.rb +65 -0
  266. data/spec/models/payment_cancel_response_spec.rb +59 -0
  267. data/spec/models/payment_cancel_transaction_response_spec.rb +53 -0
  268. data/spec/models/payment_details_spec.rb +81 -0
  269. data/spec/models/payment_instrument_card_spec.rb +51 -0
  270. data/spec/models/payment_instrument_response_spec.rb +47 -0
  271. data/spec/models/payment_instrument_spec.rb +75 -0
  272. data/spec/models/payment_payment_all_of_spec.rb +71 -0
  273. data/spec/models/payment_payment_spec.rb +71 -0
  274. data/spec/models/payment_response_spec.rb +89 -0
  275. data/spec/models/payment_spec.rb +53 -0
  276. data/spec/models/phone_spec.rb +53 -0
  277. data/spec/models/process_payment_spec.rb +77 -0
  278. data/spec/models/property_info_response_spec.rb +47 -0
  279. data/spec/models/property_info_spec.rb +53 -0
  280. data/spec/models/refund_action_spec.rb +35 -0
  281. data/spec/models/refund_cancel_response_spec.rb +53 -0
  282. data/spec/models/refund_cancel_transaction_response_spec.rb +47 -0
  283. data/spec/models/refund_request_spec.rb +65 -0
  284. data/spec/models/refund_response_spec.rb +77 -0
  285. data/spec/models/refund_status_spec.rb +35 -0
  286. data/spec/models/refund_transactions_spec.rb +71 -0
  287. data/spec/models/rental_info_spec.rb +53 -0
  288. data/spec/models/renter_spec.rb +77 -0
  289. data/spec/models/resolution_spec.rb +41 -0
  290. data/spec/models/result_spec.rb +53 -0
  291. data/spec/models/risk_status_spec.rb +41 -0
  292. data/spec/models/sanctioned_entities_spec.rb +47 -0
  293. data/spec/models/search_payment_response_spec.rb +41 -0
  294. data/spec/models/stack_trace_element_spec.rb +65 -0
  295. data/spec/models/status_spec.rb +35 -0
  296. data/spec/models/throwable_spec.rb +53 -0
  297. data/spec/models/to_entity_ref_spec.rb +47 -0
  298. data/spec/models/token_req_spec.rb +47 -0
  299. data/spec/models/token_request_spec.rb +41 -0
  300. data/spec/models/token_response_spec.rb +41 -0
  301. data/spec/models/token_spec.rb +47 -0
  302. data/spec/models/transaction_response_spec.rb +71 -0
  303. data/spec/models/transaction_spec.rb +53 -0
  304. data/spec/models/triggers_spec.rb +53 -0
  305. data/spec/models/vacation_rental_info_request_spec.rb +53 -0
  306. data/spec/models/vacation_rental_info_spec.rb +47 -0
  307. data/spec/models/verify_instrument_request_spec.rb +53 -0
  308. data/spec/spec_helper.rb +111 -0
  309. data/yapstone-payments.gemspec +45 -0
  310. metadata +633 -0
@@ -0,0 +1,218 @@
1
+ =begin
2
+ #Payments Orchestrator
3
+
4
+ #\"REST API for Payments Orchestrator\"
5
+
6
+ The version of the OpenAPI document: 1.6.4-SNAPSHOT
7
+ Contact: test@yapstone.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.1.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Yapstone
16
+ # Amount object
17
+ class Amount
18
+ # ISO 4217 currency code. This currency code represents the country and currency. It must be combined with the correct exponent.
19
+ attr_accessor :currency
20
+
21
+ # The exponent associated with the three letter ISO currency code.
22
+ attr_accessor :exponent
23
+
24
+ # ISO 4217 major units.
25
+ attr_accessor :value
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'currency' => :'currency',
31
+ :'exponent' => :'exponent',
32
+ :'value' => :'value'
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'currency' => :'String',
40
+ :'exponent' => :'Integer',
41
+ :'value' => :'Integer'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Yapstone::Amount` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Yapstone::Amount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'currency')
61
+ self.currency = attributes[:'currency']
62
+ end
63
+
64
+ if attributes.key?(:'exponent')
65
+ self.exponent = attributes[:'exponent']
66
+ end
67
+
68
+ if attributes.key?(:'value')
69
+ self.value = attributes[:'value']
70
+ end
71
+ end
72
+
73
+ # Show invalid properties with the reasons. Usually used together with valid?
74
+ # @return Array for valid properties with the reasons
75
+ def list_invalid_properties
76
+ invalid_properties = Array.new
77
+ invalid_properties
78
+ end
79
+
80
+ # Check to see if the all the properties in the model are valid
81
+ # @return true if the model is valid
82
+ def valid?
83
+ true
84
+ end
85
+
86
+ # Checks equality by comparing each attribute.
87
+ # @param [Object] Object to be compared
88
+ def ==(o)
89
+ return true if self.equal?(o)
90
+ self.class == o.class &&
91
+ currency == o.currency &&
92
+ exponent == o.exponent &&
93
+ value == o.value
94
+ end
95
+
96
+ # @see the `==` method
97
+ # @param [Object] Object to be compared
98
+ def eql?(o)
99
+ self == o
100
+ end
101
+
102
+ # Calculates hash code according to all attributes.
103
+ # @return [Integer] Hash code
104
+ def hash
105
+ [currency, exponent, value].hash
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def self.build_from_hash(attributes)
112
+ new.build_from_hash(attributes)
113
+ end
114
+
115
+ # Builds the object from hash
116
+ # @param [Hash] attributes Model attributes in the form of hash
117
+ # @return [Object] Returns the model itself
118
+ def build_from_hash(attributes)
119
+ return nil unless attributes.is_a?(Hash)
120
+ self.class.openapi_types.each_pair do |key, type|
121
+ if type =~ /\AArray<(.*)>/i
122
+ # check to ensure the input is an array given that the attribute
123
+ # is documented as an array but the input is not
124
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
125
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
126
+ end
127
+ elsif !attributes[self.class.attribute_map[key]].nil?
128
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
129
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
130
+ end
131
+
132
+ self
133
+ end
134
+
135
+ # Deserializes the data based on type
136
+ # @param string type Data type
137
+ # @param string value Value to be deserialized
138
+ # @return [Object] Deserialized data
139
+ def _deserialize(type, value)
140
+ case type.to_sym
141
+ when :DateTime
142
+ DateTime.parse(value)
143
+ when :Date
144
+ Date.parse(value)
145
+ when :String
146
+ value.to_s
147
+ when :Integer
148
+ value.to_i
149
+ when :Float
150
+ value.to_f
151
+ when :Boolean
152
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
153
+ true
154
+ else
155
+ false
156
+ end
157
+ when :Object
158
+ # generic object (usually a Hash), return directly
159
+ value
160
+ when /\AArray<(?<inner_type>.+)>\z/
161
+ inner_type = Regexp.last_match[:inner_type]
162
+ value.map { |v| _deserialize(inner_type, v) }
163
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
164
+ k_type = Regexp.last_match[:k_type]
165
+ v_type = Regexp.last_match[:v_type]
166
+ {}.tap do |hash|
167
+ value.each do |k, v|
168
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
169
+ end
170
+ end
171
+ else # model
172
+ Yapstone.const_get(type).build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ next if value.nil?
195
+ hash[param] = _to_hash(value)
196
+ end
197
+ hash
198
+ end
199
+
200
+ # Outputs non-array value in the form of hash
201
+ # For object, use to_hash. Otherwise, just return the value
202
+ # @param [Object] value Any valid value
203
+ # @return [Hash] Returns the value in the form of hash
204
+ def _to_hash(value)
205
+ if value.is_a?(Array)
206
+ value.compact.map { |v| _to_hash(v) }
207
+ elsif value.is_a?(Hash)
208
+ {}.tap do |hash|
209
+ value.each { |k, v| hash[k] = _to_hash(v) }
210
+ end
211
+ elsif value.respond_to? :to_hash
212
+ value.to_hash
213
+ else
214
+ value
215
+ end
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,292 @@
1
+ =begin
2
+ #Payments Orchestrator
3
+
4
+ #\"REST API for Payments Orchestrator\"
5
+
6
+ The version of the OpenAPI document: 1.6.4-SNAPSHOT
7
+ Contact: test@yapstone.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.1.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Yapstone
16
+ class APM
17
+ # Alternative payment models are typically used for medical reimbursement where the model provides additional compensation as an incentive for delivery of higher quality and more cost-efficient health care by providers.
18
+ attr_accessor :merchant_redirect_url
19
+
20
+ # Used to create a listener page on a website that Yapstone payments can post event information to - typically about the outcome of transactions.
21
+ attr_accessor :notification_url
22
+
23
+ # Partner RedirectionURL
24
+ attr_accessor :partner_redirection_url
25
+
26
+ # Provider information
27
+ attr_accessor :provider
28
+
29
+ # specIn parameter details
30
+ attr_accessor :spec_in_parameters
31
+
32
+ # Transaction type. SOFORT is a real-time online banking payment service available to customers with bank accounts in Germany, Austria, Belgium, or the Netherlands. GIROPAY is an internet payment system in Germany, based on online banking. Alipay is a third party mobile and online payment platform that's used in China. IDEAL is an e-commerce payment system used in the Netherlands. WECHATPAY is a Chinese multi-purpose messaging, social media, and mobile payment application.
33
+ attr_accessor :transaction_type
34
+
35
+ attr_accessor :name_on_account
36
+
37
+ class EnumAttributeValidator
38
+ attr_reader :datatype
39
+ attr_reader :allowable_values
40
+
41
+ def initialize(datatype, allowable_values)
42
+ @allowable_values = allowable_values.map do |value|
43
+ case datatype.to_s
44
+ when /Integer/i
45
+ value.to_i
46
+ when /Float/i
47
+ value.to_f
48
+ else
49
+ value
50
+ end
51
+ end
52
+ end
53
+
54
+ def valid?(value)
55
+ !value || allowable_values.include?(value)
56
+ end
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'merchant_redirect_url' => :'merchantRedirectURL',
63
+ :'notification_url' => :'notificationURL',
64
+ :'partner_redirection_url' => :'partnerRedirectionURL',
65
+ :'provider' => :'provider',
66
+ :'spec_in_parameters' => :'specInParameters',
67
+ :'transaction_type' => :'transactionType',
68
+ :'name_on_account' => :'nameOnAccount'
69
+ }
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.openapi_types
74
+ {
75
+ :'merchant_redirect_url' => :'String',
76
+ :'notification_url' => :'String',
77
+ :'partner_redirection_url' => :'String',
78
+ :'provider' => :'String',
79
+ :'spec_in_parameters' => :'Array<APMSpecInParameters>',
80
+ :'transaction_type' => :'String',
81
+ :'name_on_account' => :'String'
82
+ }
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Yapstone::APM` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Yapstone::APM`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+ if attributes.key?(:'merchant_redirect_url')
101
+ self.merchant_redirect_url = attributes[:'merchant_redirect_url']
102
+ end
103
+
104
+ if attributes.key?(:'notification_url')
105
+ self.notification_url = attributes[:'notification_url']
106
+ end
107
+
108
+ if attributes.key?(:'partner_redirection_url')
109
+ self.partner_redirection_url = attributes[:'partner_redirection_url']
110
+ end
111
+
112
+ if attributes.key?(:'provider')
113
+ self.provider = attributes[:'provider']
114
+ end
115
+
116
+ if attributes.key?(:'spec_in_parameters')
117
+ if (value = attributes[:'spec_in_parameters']).is_a?(Array)
118
+ self.spec_in_parameters = value
119
+ end
120
+ end
121
+
122
+ if attributes.key?(:'transaction_type')
123
+ self.transaction_type = attributes[:'transaction_type']
124
+ end
125
+
126
+ if attributes.key?(:'name_on_account')
127
+ self.name_on_account = attributes[:'name_on_account']
128
+ end
129
+ end
130
+
131
+ # Show invalid properties with the reasons. Usually used together with valid?
132
+ # @return Array for valid properties with the reasons
133
+ def list_invalid_properties
134
+ invalid_properties = Array.new
135
+ invalid_properties
136
+ end
137
+
138
+ # Check to see if the all the properties in the model are valid
139
+ # @return true if the model is valid
140
+ def valid?
141
+ transaction_type_validator = EnumAttributeValidator.new('String', ["SOFORT", "GIROPAY", "ALIPAY", "IDEAL", "WECHATPAY"])
142
+ return false unless transaction_type_validator.valid?(@transaction_type)
143
+ true
144
+ end
145
+
146
+ # Custom attribute writer method checking allowed values (enum).
147
+ # @param [Object] transaction_type Object to be assigned
148
+ def transaction_type=(transaction_type)
149
+ validator = EnumAttributeValidator.new('String', ["SOFORT", "GIROPAY", "ALIPAY", "IDEAL", "WECHATPAY"])
150
+ unless validator.valid?(transaction_type)
151
+ fail ArgumentError, "invalid value for \"transaction_type\", must be one of #{validator.allowable_values}."
152
+ end
153
+ @transaction_type = transaction_type
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ merchant_redirect_url == o.merchant_redirect_url &&
162
+ notification_url == o.notification_url &&
163
+ partner_redirection_url == o.partner_redirection_url &&
164
+ provider == o.provider &&
165
+ spec_in_parameters == o.spec_in_parameters &&
166
+ transaction_type == o.transaction_type &&
167
+ name_on_account == o.name_on_account
168
+ end
169
+
170
+ # @see the `==` method
171
+ # @param [Object] Object to be compared
172
+ def eql?(o)
173
+ self == o
174
+ end
175
+
176
+ # Calculates hash code according to all attributes.
177
+ # @return [Integer] Hash code
178
+ def hash
179
+ [merchant_redirect_url, notification_url, partner_redirection_url, provider, spec_in_parameters, transaction_type, name_on_account].hash
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def self.build_from_hash(attributes)
186
+ new.build_from_hash(attributes)
187
+ end
188
+
189
+ # Builds the object from hash
190
+ # @param [Hash] attributes Model attributes in the form of hash
191
+ # @return [Object] Returns the model itself
192
+ def build_from_hash(attributes)
193
+ return nil unless attributes.is_a?(Hash)
194
+ self.class.openapi_types.each_pair do |key, type|
195
+ if type =~ /\AArray<(.*)>/i
196
+ # check to ensure the input is an array given that the attribute
197
+ # is documented as an array but the input is not
198
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
199
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
200
+ end
201
+ elsif !attributes[self.class.attribute_map[key]].nil?
202
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
203
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
204
+ end
205
+
206
+ self
207
+ end
208
+
209
+ # Deserializes the data based on type
210
+ # @param string type Data type
211
+ # @param string value Value to be deserialized
212
+ # @return [Object] Deserialized data
213
+ def _deserialize(type, value)
214
+ case type.to_sym
215
+ when :DateTime
216
+ DateTime.parse(value)
217
+ when :Date
218
+ Date.parse(value)
219
+ when :String
220
+ value.to_s
221
+ when :Integer
222
+ value.to_i
223
+ when :Float
224
+ value.to_f
225
+ when :Boolean
226
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
227
+ true
228
+ else
229
+ false
230
+ end
231
+ when :Object
232
+ # generic object (usually a Hash), return directly
233
+ value
234
+ when /\AArray<(?<inner_type>.+)>\z/
235
+ inner_type = Regexp.last_match[:inner_type]
236
+ value.map { |v| _deserialize(inner_type, v) }
237
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
238
+ k_type = Regexp.last_match[:k_type]
239
+ v_type = Regexp.last_match[:v_type]
240
+ {}.tap do |hash|
241
+ value.each do |k, v|
242
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
243
+ end
244
+ end
245
+ else # model
246
+ Yapstone.const_get(type).build_from_hash(value)
247
+ end
248
+ end
249
+
250
+ # Returns the string representation of the object
251
+ # @return [String] String presentation of the object
252
+ def to_s
253
+ to_hash.to_s
254
+ end
255
+
256
+ # to_body is an alias to to_hash (backward compatibility)
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_body
259
+ to_hash
260
+ end
261
+
262
+ # Returns the object in the form of hash
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_hash
265
+ hash = {}
266
+ self.class.attribute_map.each_pair do |attr, param|
267
+ value = self.send(attr)
268
+ next if value.nil?
269
+ hash[param] = _to_hash(value)
270
+ end
271
+ hash
272
+ end
273
+
274
+ # Outputs non-array value in the form of hash
275
+ # For object, use to_hash. Otherwise, just return the value
276
+ # @param [Object] value Any valid value
277
+ # @return [Hash] Returns the value in the form of hash
278
+ def _to_hash(value)
279
+ if value.is_a?(Array)
280
+ value.compact.map { |v| _to_hash(v) }
281
+ elsif value.is_a?(Hash)
282
+ {}.tap do |hash|
283
+ value.each { |k, v| hash[k] = _to_hash(v) }
284
+ end
285
+ elsif value.respond_to? :to_hash
286
+ value.to_hash
287
+ else
288
+ value
289
+ end
290
+ end
291
+ end
292
+ end