conekta 2.5.0 → 6.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 (576) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS.md +28 -0
  3. data/CHANGELOG.md +13 -0
  4. data/CODE_OF_CONDUCT.md +77 -0
  5. data/CONTRIBUTING.md +19 -0
  6. data/Gemfile +5 -9
  7. data/{LICENSE.txt → LICENSE} +1 -1
  8. data/Makefile +2 -0
  9. data/README.md +367 -150
  10. data/Rakefile +9 -0
  11. data/VERSION +1 -0
  12. data/conekta.gemspec +38 -28
  13. data/conekta.png +0 -0
  14. data/docs/AntifraudApi.md +443 -0
  15. data/docs/ApiKeyCreateResponse.md +40 -0
  16. data/docs/ApiKeyCreateResponseAllOf.md +18 -0
  17. data/docs/ApiKeyRequest.md +20 -0
  18. data/docs/ApiKeyResponse.md +38 -0
  19. data/docs/ApiKeyResponseOnDelete.md +34 -0
  20. data/docs/ApiKeyUpdateRequest.md +20 -0
  21. data/docs/ApiKeysApi.md +391 -0
  22. data/docs/BalanceCommonField.md +20 -0
  23. data/docs/BalanceResponse.md +36 -0
  24. data/docs/BalancesApi.md +79 -0
  25. data/docs/BlacklistRuleResponse.md +24 -0
  26. data/docs/ChargeDataPaymentMethodBankTransferResponse.md +48 -0
  27. data/docs/ChargeDataPaymentMethodCardResponse.md +38 -0
  28. data/docs/ChargeDataPaymentMethodCashResponse.md +32 -0
  29. data/docs/ChargeOrderResponse.md +56 -0
  30. data/docs/ChargeOrderResponsePaymentMethod.md +82 -0
  31. data/docs/ChargeRequest.md +24 -0
  32. data/docs/ChargeRequestPaymentMethod.md +26 -0
  33. data/docs/ChargeResponse.md +54 -0
  34. data/docs/ChargeResponseChannel.md +24 -0
  35. data/docs/ChargeResponsePaymentMethod.md +82 -0
  36. data/docs/ChargeResponseRefunds.md +26 -0
  37. data/docs/ChargeResponseRefundsAllOf.md +18 -0
  38. data/docs/ChargeResponseRefundsData.md +30 -0
  39. data/docs/ChargesApi.md +165 -0
  40. data/docs/ChargesDataResponse.md +54 -0
  41. data/docs/Checkout.md +38 -0
  42. data/docs/CheckoutOrderTemplate.md +24 -0
  43. data/docs/CheckoutOrderTemplateCustomerInfo.md +49 -0
  44. data/docs/CheckoutRequest.md +34 -0
  45. data/docs/CheckoutResponse.md +66 -0
  46. data/docs/CheckoutsResponse.md +26 -0
  47. data/docs/CheckoutsResponseAllOf.md +18 -0
  48. data/docs/CompaniesApi.md +159 -0
  49. data/docs/CompanyFiscalInfoAddressResponse.md +34 -0
  50. data/docs/CompanyFiscalInfoResponse.md +30 -0
  51. data/docs/CompanyPayoutDestinationResponse.md +28 -0
  52. data/docs/CompanyResponse.md +32 -0
  53. data/docs/CreateCustomerFiscalEntitiesResponse.md +38 -0
  54. data/docs/CreateCustomerFiscalEntitiesResponseAllOf.md +26 -0
  55. data/docs/CreateCustomerPaymentMethodsRequest.md +51 -0
  56. data/docs/CreateCustomerPaymentMethodsResponse.md +83 -0
  57. data/docs/CreateRiskRulesData.md +22 -0
  58. data/docs/Customer.md +44 -0
  59. data/docs/CustomerAddress.md +32 -0
  60. data/docs/CustomerAntifraudInfo.md +20 -0
  61. data/docs/CustomerAntifraudInfoResponse.md +20 -0
  62. data/docs/CustomerFiscalEntitiesDataResponse.md +38 -0
  63. data/docs/CustomerFiscalEntitiesRequest.md +28 -0
  64. data/docs/CustomerFiscalEntitiesRequestAddress.md +32 -0
  65. data/docs/CustomerFiscalEntitiesResponse.md +22 -0
  66. data/docs/CustomerFiscalEntitiesResponseAllOf.md +18 -0
  67. data/docs/CustomerInfo.md +26 -0
  68. data/docs/CustomerInfoJustCustomerId.md +18 -0
  69. data/docs/CustomerInfoJustCustomerIdResponse.md +18 -0
  70. data/docs/CustomerInfoResponse.md +26 -0
  71. data/docs/CustomerPaymentMethodRequest.md +18 -0
  72. data/docs/CustomerPaymentMethods.md +18 -0
  73. data/docs/CustomerPaymentMethodsData.md +83 -0
  74. data/docs/CustomerPaymentMethodsRequest.md +51 -0
  75. data/docs/CustomerPaymentMethodsResponse.md +26 -0
  76. data/docs/CustomerResponse.md +50 -0
  77. data/docs/CustomerResponseShippingContacts.md +22 -0
  78. data/docs/CustomerResponseShippingContactsAllOf.md +18 -0
  79. data/docs/CustomerShippingContacts.md +30 -0
  80. data/docs/CustomerShippingContactsAddress.md +30 -0
  81. data/docs/CustomerShippingContactsDataResponse.md +36 -0
  82. data/docs/CustomerShippingContactsDataResponseAllOf.md +22 -0
  83. data/docs/CustomerShippingContactsResponse.md +36 -0
  84. data/docs/CustomerShippingContactsResponseAddress.md +32 -0
  85. data/docs/CustomerUpdateFiscalEntitiesRequest.md +28 -0
  86. data/docs/CustomerUpdateShippingContacts.md +30 -0
  87. data/docs/CustomersApi.md +553 -0
  88. data/docs/CustomersResponse.md +26 -0
  89. data/docs/CustomersResponseAllOf.md +18 -0
  90. data/docs/DeleteApiKeysResponse.md +34 -0
  91. data/docs/DeleteApiKeysResponseAllOf.md +18 -0
  92. data/docs/DeletedBlacklistRuleResponse.md +24 -0
  93. data/docs/DeletedWhitelistRuleResponse.md +24 -0
  94. data/docs/Details.md +18 -0
  95. data/docs/DetailsError.md +24 -0
  96. data/docs/DiscountLinesDataResponse.md +28 -0
  97. data/docs/DiscountLinesResponse.md +28 -0
  98. data/docs/DiscountLinesResponseAllOf.md +22 -0
  99. data/docs/DiscountsApi.md +405 -0
  100. data/docs/EmailCheckoutRequest.md +18 -0
  101. data/docs/Error.md +24 -0
  102. data/docs/ErrorAllOf.md +22 -0
  103. data/docs/EventResponse.md +32 -0
  104. data/docs/EventsApi.md +239 -0
  105. data/docs/EventsResendResponse.md +28 -0
  106. data/docs/GetApiKeysResponse.md +26 -0
  107. data/docs/GetApiKeysResponseAllOf.md +18 -0
  108. data/docs/GetChargesResponse.md +26 -0
  109. data/docs/GetChargesResponseAllOf.md +18 -0
  110. data/docs/GetCompaniesResponse.md +26 -0
  111. data/docs/GetCompaniesResponseAllOf.md +18 -0
  112. data/docs/GetCustomerPaymentMethodDataResponse.md +83 -0
  113. data/docs/GetEventsResponse.md +26 -0
  114. data/docs/GetEventsResponseAllOf.md +18 -0
  115. data/docs/GetOrderDiscountLinesResponse.md +26 -0
  116. data/docs/GetOrderDiscountLinesResponseAllOf.md +18 -0
  117. data/docs/GetOrdersResponse.md +26 -0
  118. data/docs/GetPaymentMethodResponse.md +26 -0
  119. data/docs/GetPaymentMethodResponseAllOf.md +18 -0
  120. data/docs/GetPlansResponse.md +26 -0
  121. data/docs/GetPlansResponseAllOf.md +18 -0
  122. data/docs/GetTransactionsResponse.md +26 -0
  123. data/docs/GetTransactionsResponseAllOf.md +18 -0
  124. data/docs/GetTransfersResponse.md +26 -0
  125. data/docs/GetTransfersResponseAllOf.md +18 -0
  126. data/docs/GetWebhookKeysResponse.md +26 -0
  127. data/docs/GetWebhookKeysResponseAllOf.md +18 -0
  128. data/docs/GetWebhooksResponse.md +26 -0
  129. data/docs/GetWebhooksResponseAllOf.md +18 -0
  130. data/docs/LogResponse.md +56 -0
  131. data/docs/LogsApi.md +165 -0
  132. data/docs/LogsResponse.md +26 -0
  133. data/docs/LogsResponseData.md +56 -0
  134. data/docs/OrderCaptureRequest.md +18 -0
  135. data/docs/OrderDiscountLinesRequest.md +22 -0
  136. data/docs/OrderRefundRequest.md +22 -0
  137. data/docs/OrderRequest.md +42 -0
  138. data/docs/OrderRequestCustomerInfo.md +49 -0
  139. data/docs/OrderResponse.md +56 -0
  140. data/docs/OrderResponseCharges.md +22 -0
  141. data/docs/OrderResponseChargesAllOf.md +18 -0
  142. data/docs/OrderResponseCheckout.md +68 -0
  143. data/docs/OrderResponseCustomerInfo.md +28 -0
  144. data/docs/OrderResponseCustomerInfoAllOf.md +18 -0
  145. data/docs/OrderResponseDiscountLines.md +22 -0
  146. data/docs/OrderResponseDiscountLinesAllOf.md +18 -0
  147. data/docs/OrderResponseFiscalEntity.md +24 -0
  148. data/docs/OrderResponseFiscalEntityAddress.md +34 -0
  149. data/docs/OrderResponseFiscalEntityAddressAllOf.md +18 -0
  150. data/docs/OrderResponseProducts.md +26 -0
  151. data/docs/OrderResponseProductsAllOf.md +18 -0
  152. data/docs/OrderResponseShippingContact.md +36 -0
  153. data/docs/OrderResponseShippingContactAllOf.md +22 -0
  154. data/docs/OrderTaxRequest.md +22 -0
  155. data/docs/OrderUpdateRequest.md +38 -0
  156. data/docs/OrderUpdateRequestCustomerInfo.md +49 -0
  157. data/docs/OrdersApi.md +627 -0
  158. data/docs/OrdersResponse.md +18 -0
  159. data/docs/Page.md +20 -0
  160. data/docs/Pagination.md +20 -0
  161. data/docs/PaymentLinkApi.md +463 -0
  162. data/docs/PaymentMethod.md +20 -0
  163. data/docs/PaymentMethodBankTransfer.md +52 -0
  164. data/docs/PaymentMethodCard.md +42 -0
  165. data/docs/PaymentMethodCardRequest.md +20 -0
  166. data/docs/PaymentMethodCardRequestAllOf.md +18 -0
  167. data/docs/PaymentMethodCardResponse.md +46 -0
  168. data/docs/PaymentMethodCardResponseAllOf.md +36 -0
  169. data/docs/PaymentMethodCash.md +36 -0
  170. data/docs/PaymentMethodCashRequest.md +20 -0
  171. data/docs/PaymentMethodCashRequestAllOf.md +18 -0
  172. data/docs/PaymentMethodCashResponse.md +36 -0
  173. data/docs/PaymentMethodCashResponseAllOf.md +26 -0
  174. data/docs/PaymentMethodResponse.md +26 -0
  175. data/docs/PaymentMethodSpeiRecurrent.md +30 -0
  176. data/docs/PaymentMethodSpeiRecurrentAllOf.md +20 -0
  177. data/docs/PaymentMethodSpeiRequest.md +20 -0
  178. data/docs/PaymentMethodsApi.md +327 -0
  179. data/docs/PlanRequest.md +32 -0
  180. data/docs/PlanResponse.md +38 -0
  181. data/docs/PlanUpdateRequest.md +24 -0
  182. data/docs/PlansApi.md +385 -0
  183. data/docs/Product.md +34 -0
  184. data/docs/ProductDataResponse.md +40 -0
  185. data/docs/ProductDataResponseAllOf.md +22 -0
  186. data/docs/ProductOrderResponse.md +40 -0
  187. data/docs/ProductOrderResponseAllOf.md +22 -0
  188. data/docs/ProductsApi.md +243 -0
  189. data/docs/RiskRules.md +18 -0
  190. data/docs/RiskRulesData.md +30 -0
  191. data/docs/RiskRulesList.md +26 -0
  192. data/docs/ShippingContactsApi.md +243 -0
  193. data/docs/ShippingOrderResponse.md +32 -0
  194. data/docs/ShippingRequest.md +26 -0
  195. data/docs/ShippingsApi.md +243 -0
  196. data/docs/SmsCheckoutRequest.md +18 -0
  197. data/docs/SubscriptionEventsResponse.md +26 -0
  198. data/docs/SubscriptionRequest.md +22 -0
  199. data/docs/SubscriptionResponse.md +50 -0
  200. data/docs/SubscriptionUpdateRequest.md +22 -0
  201. data/docs/SubscriptionsApi.md +539 -0
  202. data/docs/TaxesApi.md +243 -0
  203. data/docs/Token.md +20 -0
  204. data/docs/TokenCard.md +28 -0
  205. data/docs/TokenCheckout.md +18 -0
  206. data/docs/TokenResponse.md +26 -0
  207. data/docs/TokenResponseCheckout.md +62 -0
  208. data/docs/TokensApi.md +81 -0
  209. data/docs/TransactionResponse.md +38 -0
  210. data/docs/TransactionsApi.md +165 -0
  211. data/docs/TransferDestinationResponse.md +32 -0
  212. data/docs/TransferMethodResponse.md +32 -0
  213. data/docs/TransferResponse.md +36 -0
  214. data/docs/TransfersApi.md +165 -0
  215. data/docs/TransfersResponse.md +36 -0
  216. data/docs/UpdateCustomer.md +44 -0
  217. data/docs/UpdateCustomerAntifraudInfo.md +20 -0
  218. data/docs/UpdateCustomerFiscalEntitiesResponse.md +38 -0
  219. data/docs/UpdateCustomerFiscalEntitiesResponseAllOf.md +26 -0
  220. data/docs/UpdateCustomerPaymentMethodsResponse.md +83 -0
  221. data/docs/UpdateOrderDiscountLinesRequest.md +22 -0
  222. data/docs/UpdateOrderTaxRequest.md +22 -0
  223. data/docs/UpdateOrderTaxResponse.md +28 -0
  224. data/docs/UpdateOrderTaxResponseAllOf.md +22 -0
  225. data/docs/UpdatePaymentMethods.md +18 -0
  226. data/docs/UpdateProduct.md +34 -0
  227. data/docs/WebhookKeyCreateResponse.md +28 -0
  228. data/docs/WebhookKeyDeleteResponse.md +28 -0
  229. data/docs/WebhookKeyRequest.md +18 -0
  230. data/docs/WebhookKeyResponse.md +30 -0
  231. data/docs/WebhookKeyUpdateRequest.md +18 -0
  232. data/docs/WebhookKeysApi.md +385 -0
  233. data/docs/WebhookLog.md +30 -0
  234. data/docs/WebhookRequest.md +20 -0
  235. data/docs/WebhookResponse.md +36 -0
  236. data/docs/WebhookUpdateRequest.md +22 -0
  237. data/docs/WebhooksApi.md +461 -0
  238. data/docs/WhitelistlistRuleResponse.md +24 -0
  239. data/lib/conekta/api/antifraud_api.rb +434 -0
  240. data/lib/conekta/api/api_keys_api.rb +407 -0
  241. data/lib/conekta/api/balances_api.rb +86 -0
  242. data/lib/conekta/api/charges_api.rb +191 -0
  243. data/lib/conekta/api/companies_api.rb +174 -0
  244. data/lib/conekta/api/customers_api.rb +591 -0
  245. data/lib/conekta/api/discounts_api.rb +447 -0
  246. data/lib/conekta/api/events_api.rb +256 -0
  247. data/lib/conekta/api/logs_api.rb +182 -0
  248. data/lib/conekta/api/orders_api.rb +657 -0
  249. data/lib/conekta/api/payment_link_api.rb +491 -0
  250. data/lib/conekta/api/payment_methods_api.rb +368 -0
  251. data/lib/conekta/api/plans_api.rb +406 -0
  252. data/lib/conekta/api/products_api.rb +275 -0
  253. data/lib/conekta/api/shipping_contacts_api.rb +275 -0
  254. data/lib/conekta/api/shippings_api.rb +275 -0
  255. data/lib/conekta/api/subscriptions_api.rb +550 -0
  256. data/lib/conekta/api/taxes_api.rb +275 -0
  257. data/lib/conekta/api/tokens_api.rb +97 -0
  258. data/lib/conekta/api/transactions_api.rb +182 -0
  259. data/lib/conekta/api/transfers_api.rb +182 -0
  260. data/lib/conekta/api/webhook_keys_api.rb +396 -0
  261. data/lib/conekta/api/webhooks_api.rb +477 -0
  262. data/lib/conekta/api_client.rb +439 -0
  263. data/lib/conekta/api_error.rb +58 -0
  264. data/lib/conekta/configuration.rb +379 -0
  265. data/lib/conekta/models/api_key_create_response.rb +339 -0
  266. data/lib/conekta/models/api_key_create_response_all_of.rb +220 -0
  267. data/lib/conekta/models/api_key_request.rb +234 -0
  268. data/lib/conekta/models/api_key_response.rb +322 -0
  269. data/lib/conekta/models/api_key_response_on_delete.rb +301 -0
  270. data/lib/conekta/models/api_key_update_request.rb +230 -0
  271. data/lib/conekta/models/balance_common_field.rb +231 -0
  272. data/lib/conekta/models/balance_response.rb +329 -0
  273. data/lib/conekta/models/blacklist_rule_response.rb +250 -0
  274. data/lib/conekta/models/charge_data_payment_method_bank_transfer_response.rb +367 -0
  275. data/lib/conekta/models/charge_data_payment_method_card_response.rb +337 -0
  276. data/lib/conekta/models/charge_data_payment_method_cash_response.rb +286 -0
  277. data/lib/conekta/models/charge_order_response.rb +397 -0
  278. data/lib/conekta/models/charge_order_response_payment_method.rb +57 -0
  279. data/lib/conekta/models/charge_request.rb +254 -0
  280. data/lib/conekta/models/charge_request_payment_method.rb +287 -0
  281. data/lib/conekta/models/charge_response.rb +385 -0
  282. data/lib/conekta/models/charge_response_channel.rb +246 -0
  283. data/lib/conekta/models/charge_response_payment_method.rb +57 -0
  284. data/lib/conekta/models/charge_response_refunds.rb +283 -0
  285. data/lib/conekta/models/charge_response_refunds_all_of.rb +222 -0
  286. data/lib/conekta/models/charge_response_refunds_data.rb +295 -0
  287. data/lib/conekta/models/charges_data_response.rb +392 -0
  288. data/lib/conekta/models/checkout.rb +355 -0
  289. data/lib/conekta/models/checkout_order_template.rb +298 -0
  290. data/lib/conekta/models/checkout_order_template_customer_info.rb +106 -0
  291. data/lib/conekta/models/checkout_request.rb +307 -0
  292. data/lib/conekta/models/checkout_response.rb +466 -0
  293. data/lib/conekta/models/checkouts_response.rb +282 -0
  294. data/lib/conekta/models/checkouts_response_all_of.rb +221 -0
  295. data/lib/conekta/models/company_fiscal_info_address_response.rb +335 -0
  296. data/lib/conekta/models/company_fiscal_info_response.rb +314 -0
  297. data/lib/conekta/models/company_payout_destination_response.rb +317 -0
  298. data/lib/conekta/models/company_response.rb +323 -0
  299. data/lib/conekta/models/create_customer_fiscal_entities_response.rb +339 -0
  300. data/lib/conekta/models/create_customer_fiscal_entities_response_all_of.rb +270 -0
  301. data/lib/conekta/models/create_customer_payment_methods_request.rb +107 -0
  302. data/lib/conekta/models/create_customer_payment_methods_response.rb +58 -0
  303. data/lib/conekta/models/create_risk_rules_data.rb +255 -0
  304. data/lib/conekta/models/customer.rb +388 -0
  305. data/lib/conekta/models/customer_address.rb +298 -0
  306. data/lib/conekta/models/customer_antifraud_info.rb +228 -0
  307. data/lib/conekta/models/customer_antifraud_info_response.rb +228 -0
  308. data/lib/conekta/models/customer_fiscal_entities_data_response.rb +339 -0
  309. data/lib/conekta/models/customer_fiscal_entities_request.rb +271 -0
  310. data/lib/conekta/models/customer_fiscal_entities_request_address.rb +305 -0
  311. data/lib/conekta/models/customer_fiscal_entities_response.rb +259 -0
  312. data/lib/conekta/models/customer_fiscal_entities_response_all_of.rb +221 -0
  313. data/lib/conekta/models/customer_info.rb +270 -0
  314. data/lib/conekta/models/customer_info_just_customer_id.rb +224 -0
  315. data/lib/conekta/models/customer_info_just_customer_id_response.rb +219 -0
  316. data/lib/conekta/models/customer_info_response.rb +257 -0
  317. data/lib/conekta/models/customer_payment_method_request.rb +226 -0
  318. data/lib/conekta/models/customer_payment_methods.rb +221 -0
  319. data/lib/conekta/models/customer_payment_methods_data.rb +58 -0
  320. data/lib/conekta/models/customer_payment_methods_request.rb +106 -0
  321. data/lib/conekta/models/customer_payment_methods_response.rb +282 -0
  322. data/lib/conekta/models/customer_response.rb +387 -0
  323. data/lib/conekta/models/customer_response_shipping_contacts.rb +259 -0
  324. data/lib/conekta/models/customer_response_shipping_contacts_all_of.rb +221 -0
  325. data/lib/conekta/models/customer_shipping_contacts.rb +284 -0
  326. data/lib/conekta/models/customer_shipping_contacts_address.rb +276 -0
  327. data/lib/conekta/models/customer_shipping_contacts_data_response.rb +333 -0
  328. data/lib/conekta/models/customer_shipping_contacts_data_response_all_of.rb +252 -0
  329. data/lib/conekta/models/customer_shipping_contacts_response.rb +302 -0
  330. data/lib/conekta/models/customer_shipping_contacts_response_address.rb +282 -0
  331. data/lib/conekta/models/customer_update_fiscal_entities_request.rb +266 -0
  332. data/lib/conekta/models/customer_update_shipping_contacts.rb +279 -0
  333. data/lib/conekta/models/customers_response.rb +282 -0
  334. data/lib/conekta/models/customers_response_all_of.rb +221 -0
  335. data/lib/conekta/models/delete_api_keys_response.rb +307 -0
  336. data/lib/conekta/models/delete_api_keys_response_all_of.rb +219 -0
  337. data/lib/conekta/models/deleted_blacklist_rule_response.rb +250 -0
  338. data/lib/conekta/models/deleted_whitelist_rule_response.rb +250 -0
  339. data/lib/conekta/models/details.rb +221 -0
  340. data/lib/conekta/models/details_error.rb +247 -0
  341. data/lib/conekta/models/discount_lines_data_response.rb +326 -0
  342. data/lib/conekta/models/discount_lines_response.rb +327 -0
  343. data/lib/conekta/models/discount_lines_response_all_of.rb +255 -0
  344. data/lib/conekta/models/email_checkout_request.rb +224 -0
  345. data/lib/conekta/models/error.rb +259 -0
  346. data/lib/conekta/models/error_all_of.rb +239 -0
  347. data/lib/conekta/models/event_response.rb +302 -0
  348. data/lib/conekta/models/events_resend_response.rb +282 -0
  349. data/lib/conekta/models/get_api_keys_response.rb +282 -0
  350. data/lib/conekta/models/get_api_keys_response_all_of.rb +221 -0
  351. data/lib/conekta/models/get_charges_response.rb +282 -0
  352. data/lib/conekta/models/get_charges_response_all_of.rb +221 -0
  353. data/lib/conekta/models/get_companies_response.rb +282 -0
  354. data/lib/conekta/models/get_companies_response_all_of.rb +221 -0
  355. data/lib/conekta/models/get_customer_payment_method_data_response.rb +58 -0
  356. data/lib/conekta/models/get_events_response.rb +282 -0
  357. data/lib/conekta/models/get_events_response_all_of.rb +221 -0
  358. data/lib/conekta/models/get_order_discount_lines_response.rb +282 -0
  359. data/lib/conekta/models/get_order_discount_lines_response_all_of.rb +221 -0
  360. data/lib/conekta/models/get_orders_response.rb +287 -0
  361. data/lib/conekta/models/get_payment_method_response.rb +282 -0
  362. data/lib/conekta/models/get_payment_method_response_all_of.rb +221 -0
  363. data/lib/conekta/models/get_plans_response.rb +282 -0
  364. data/lib/conekta/models/get_plans_response_all_of.rb +221 -0
  365. data/lib/conekta/models/get_transactions_response.rb +283 -0
  366. data/lib/conekta/models/get_transactions_response_all_of.rb +222 -0
  367. data/lib/conekta/models/get_transfers_response.rb +283 -0
  368. data/lib/conekta/models/get_transfers_response_all_of.rb +222 -0
  369. data/lib/conekta/models/get_webhook_keys_response.rb +282 -0
  370. data/lib/conekta/models/get_webhook_keys_response_all_of.rb +221 -0
  371. data/lib/conekta/models/get_webhooks_response.rb +282 -0
  372. data/lib/conekta/models/get_webhooks_response_all_of.rb +221 -0
  373. data/lib/conekta/models/log_response.rb +417 -0
  374. data/lib/conekta/models/logs_response.rb +266 -0
  375. data/lib/conekta/models/logs_response_data.rb +401 -0
  376. data/lib/conekta/models/order_capture_request.rb +244 -0
  377. data/lib/conekta/models/order_discount_lines_request.rb +275 -0
  378. data/lib/conekta/models/order_refund_request.rb +248 -0
  379. data/lib/conekta/models/order_request.rb +401 -0
  380. data/lib/conekta/models/order_request_customer_info.rb +106 -0
  381. data/lib/conekta/models/order_response.rb +418 -0
  382. data/lib/conekta/models/order_response_charges.rb +260 -0
  383. data/lib/conekta/models/order_response_charges_all_of.rb +221 -0
  384. data/lib/conekta/models/order_response_checkout.rb +468 -0
  385. data/lib/conekta/models/order_response_customer_info.rb +275 -0
  386. data/lib/conekta/models/order_response_customer_info_all_of.rb +219 -0
  387. data/lib/conekta/models/order_response_discount_lines.rb +259 -0
  388. data/lib/conekta/models/order_response_discount_lines_all_of.rb +221 -0
  389. data/lib/conekta/models/order_response_fiscal_entity.rb +246 -0
  390. data/lib/conekta/models/order_response_fiscal_entity_address.rb +315 -0
  391. data/lib/conekta/models/order_response_fiscal_entity_address_all_of.rb +219 -0
  392. data/lib/conekta/models/order_response_products.rb +282 -0
  393. data/lib/conekta/models/order_response_products_all_of.rb +221 -0
  394. data/lib/conekta/models/order_response_shipping_contact.rb +309 -0
  395. data/lib/conekta/models/order_response_shipping_contact_all_of.rb +237 -0
  396. data/lib/conekta/models/order_tax_request.rb +305 -0
  397. data/lib/conekta/models/order_update_request.rb +344 -0
  398. data/lib/conekta/models/order_update_request_customer_info.rb +105 -0
  399. data/lib/conekta/models/orders_response.rb +226 -0
  400. data/lib/conekta/models/page.rb +233 -0
  401. data/lib/conekta/models/pagination.rb +241 -0
  402. data/lib/conekta/models/payment_method.rb +233 -0
  403. data/lib/conekta/models/payment_method_bank_transfer.rb +397 -0
  404. data/lib/conekta/models/payment_method_card.rb +367 -0
  405. data/lib/conekta/models/payment_method_card_request.rb +248 -0
  406. data/lib/conekta/models/payment_method_card_request_all_of.rb +220 -0
  407. data/lib/conekta/models/payment_method_card_response.rb +373 -0
  408. data/lib/conekta/models/payment_method_card_response_all_of.rb +301 -0
  409. data/lib/conekta/models/payment_method_cash.rb +316 -0
  410. data/lib/conekta/models/payment_method_cash_request.rb +242 -0
  411. data/lib/conekta/models/payment_method_cash_request_all_of.rb +219 -0
  412. data/lib/conekta/models/payment_method_cash_response.rb +328 -0
  413. data/lib/conekta/models/payment_method_cash_response_all_of.rb +256 -0
  414. data/lib/conekta/models/payment_method_response.rb +275 -0
  415. data/lib/conekta/models/payment_method_spei_recurrent.rb +301 -0
  416. data/lib/conekta/models/payment_method_spei_recurrent_all_of.rb +229 -0
  417. data/lib/conekta/models/payment_method_spei_request.rb +242 -0
  418. data/lib/conekta/models/plan_request.rb +398 -0
  419. data/lib/conekta/models/plan_response.rb +327 -0
  420. data/lib/conekta/models/plan_update_request.rb +281 -0
  421. data/lib/conekta/models/product.rb +388 -0
  422. data/lib/conekta/models/product_data_response.rb +423 -0
  423. data/lib/conekta/models/product_data_response_all_of.rb +237 -0
  424. data/lib/conekta/models/product_order_response.rb +423 -0
  425. data/lib/conekta/models/product_order_response_all_of.rb +237 -0
  426. data/lib/conekta/models/risk_rules.rb +221 -0
  427. data/lib/conekta/models/risk_rules_data.rb +280 -0
  428. data/lib/conekta/models/risk_rules_list.rb +282 -0
  429. data/lib/conekta/models/shipping_order_response.rb +336 -0
  430. data/lib/conekta/models/shipping_request.rb +301 -0
  431. data/lib/conekta/models/sms_checkout_request.rb +224 -0
  432. data/lib/conekta/models/subscription_events_response.rb +282 -0
  433. data/lib/conekta/models/subscription_request.rb +243 -0
  434. data/lib/conekta/models/subscription_response.rb +371 -0
  435. data/lib/conekta/models/subscription_update_request.rb +238 -0
  436. data/lib/conekta/models/token.rb +231 -0
  437. data/lib/conekta/models/token_card.rb +352 -0
  438. data/lib/conekta/models/token_checkout.rb +220 -0
  439. data/lib/conekta/models/token_response.rb +281 -0
  440. data/lib/conekta/models/token_response_checkout.rb +439 -0
  441. data/lib/conekta/models/transaction_response.rb +395 -0
  442. data/lib/conekta/models/transfer_destination_response.rb +291 -0
  443. data/lib/conekta/models/transfer_method_response.rb +291 -0
  444. data/lib/conekta/models/transfer_response.rb +325 -0
  445. data/lib/conekta/models/transfers_response.rb +325 -0
  446. data/lib/conekta/models/update_customer.rb +373 -0
  447. data/lib/conekta/models/update_customer_antifraud_info.rb +228 -0
  448. data/lib/conekta/models/update_customer_fiscal_entities_response.rb +339 -0
  449. data/lib/conekta/models/update_customer_fiscal_entities_response_all_of.rb +270 -0
  450. data/lib/conekta/models/update_customer_payment_methods_response.rb +58 -0
  451. data/lib/conekta/models/update_order_discount_lines_request.rb +254 -0
  452. data/lib/conekta/models/update_order_tax_request.rb +287 -0
  453. data/lib/conekta/models/update_order_tax_response.rb +345 -0
  454. data/lib/conekta/models/update_order_tax_response_all_of.rb +237 -0
  455. data/lib/conekta/models/update_payment_methods.rb +219 -0
  456. data/lib/conekta/models/update_product.rb +342 -0
  457. data/lib/conekta/models/webhook_key_create_response.rb +271 -0
  458. data/lib/conekta/models/webhook_key_delete_response.rb +271 -0
  459. data/lib/conekta/models/webhook_key_request.rb +222 -0
  460. data/lib/conekta/models/webhook_key_response.rb +282 -0
  461. data/lib/conekta/models/webhook_key_update_request.rb +222 -0
  462. data/lib/conekta/models/webhook_log.rb +290 -0
  463. data/lib/conekta/models/webhook_request.rb +264 -0
  464. data/lib/conekta/models/webhook_response.rb +304 -0
  465. data/lib/conekta/models/webhook_update_request.rb +270 -0
  466. data/lib/conekta/models/whitelistlist_rule_response.rb +250 -0
  467. data/lib/conekta/version.rb +13 -1
  468. data/lib/conekta.rb +255 -93
  469. data/lib/ssl_data/ca_bundle.crt +84 -0
  470. data/spec/api/antifraud_api_spec.rb +166 -0
  471. data/spec/api/api_keys_api_spec.rb +151 -0
  472. data/spec/api/balances_api_spec.rb +56 -0
  473. data/spec/api/base_test.rb +9 -0
  474. data/spec/api/charges_api_spec.rb +140 -0
  475. data/spec/api/companies_api_spec.rb +71 -0
  476. data/spec/api/customers_api_spec.rb +305 -0
  477. data/spec/api/discounts_api_spec.rb +153 -0
  478. data/spec/api/events_api_spec.rb +96 -0
  479. data/spec/api/logs_api_spec.rb +78 -0
  480. data/spec/api/orders_api_spec.rb +362 -0
  481. data/spec/api/payment_link_api_spec.rb +192 -0
  482. data/spec/api/payment_methods_api_spec.rb +134 -0
  483. data/spec/api/plans_api_spec.rb +139 -0
  484. data/spec/api/products_api_spec.rb +106 -0
  485. data/spec/api/shipping_contacts_api_spec.rb +117 -0
  486. data/spec/api/shippings_api_spec.rb +108 -0
  487. data/spec/api/subscriptions_api_spec.rb +177 -0
  488. data/spec/api/taxes_api_spec.rb +110 -0
  489. data/spec/api/tokens_api_spec.rb +76 -0
  490. data/spec/api/transactions_api_spec.rb +82 -0
  491. data/spec/api/transfers_api_spec.rb +96 -0
  492. data/spec/api/webhook_keys_api_spec.rb +146 -0
  493. data/spec/api/webhooks_api_spec.rb +152 -0
  494. data/spec/api_client_spec.rb +223 -0
  495. data/spec/configuration_spec.rb +82 -0
  496. data/spec/spec_helper.rb +114 -10
  497. metadata +534 -173
  498. data/.gitignore +0 -23
  499. data/.rspec +0 -1
  500. data/Dockerfile +0 -44
  501. data/lib/conekta/address.rb +0 -5
  502. data/lib/conekta/card.rb +0 -21
  503. data/lib/conekta/charge.rb +0 -25
  504. data/lib/conekta/checkout.rb +0 -35
  505. data/lib/conekta/conekta_object.rb +0 -109
  506. data/lib/conekta/customer.rb +0 -82
  507. data/lib/conekta/customer_info.rb +0 -5
  508. data/lib/conekta/destination.rb +0 -17
  509. data/lib/conekta/details.rb +0 -5
  510. data/lib/conekta/discount_line.rb +0 -19
  511. data/lib/conekta/error.rb +0 -100
  512. data/lib/conekta/error_details.rb +0 -14
  513. data/lib/conekta/event.rb +0 -9
  514. data/lib/conekta/line_item.rb +0 -21
  515. data/lib/conekta/list.rb +0 -59
  516. data/lib/conekta/log.rb +0 -10
  517. data/lib/conekta/method.rb +0 -4
  518. data/lib/conekta/operations/create.rb +0 -18
  519. data/lib/conekta/operations/create_member.rb +0 -40
  520. data/lib/conekta/operations/custom_action.rb +0 -13
  521. data/lib/conekta/operations/delete.rb +0 -45
  522. data/lib/conekta/operations/find.rb +0 -20
  523. data/lib/conekta/operations/update.rb +0 -11
  524. data/lib/conekta/operations/where.rb +0 -30
  525. data/lib/conekta/order.rb +0 -86
  526. data/lib/conekta/payee.rb +0 -66
  527. data/lib/conekta/payment_method.rb +0 -4
  528. data/lib/conekta/payment_source.rb +0 -17
  529. data/lib/conekta/payout.rb +0 -7
  530. data/lib/conekta/payout_method.rb +0 -17
  531. data/lib/conekta/plan.rb +0 -16
  532. data/lib/conekta/refund.rb +0 -6
  533. data/lib/conekta/requestor.rb +0 -76
  534. data/lib/conekta/resource.rb +0 -55
  535. data/lib/conekta/return.rb +0 -12
  536. data/lib/conekta/shipping_contact.rb +0 -19
  537. data/lib/conekta/shipping_line.rb +0 -20
  538. data/lib/conekta/subscription.rb +0 -25
  539. data/lib/conekta/tax_line.rb +0 -19
  540. data/lib/conekta/token.rb +0 -8
  541. data/lib/conekta/transfer.rb +0 -7
  542. data/lib/conekta/util.rb +0 -137
  543. data/lib/conekta/webhook.rb +0 -12
  544. data/lib/conekta/webhook_log.rb +0 -4
  545. data/locales/en.yml +0 -9
  546. data/locales/es.yml +0 -10
  547. data/readme_files/banner.png +0 -0
  548. data/readme_files/conekta-badge.png +0 -0
  549. data/readme_files/ruby-badge.png +0 -0
  550. data/spec/conekta/1.0.0/.DS_Store +0 -0
  551. data/spec/conekta/1.0.0/card_spec.rb +0 -40
  552. data/spec/conekta/1.0.0/charge_spec.rb +0 -152
  553. data/spec/conekta/1.0.0/customer_spec.rb +0 -147
  554. data/spec/conekta/1.0.0/error_spec.rb +0 -69
  555. data/spec/conekta/1.0.0/event_spec.rb +0 -26
  556. data/spec/conekta/1.0.0/log_spec.rb +0 -20
  557. data/spec/conekta/1.0.0/payout_spec.rb +0 -60
  558. data/spec/conekta/1.0.0/plan_spec.rb +0 -53
  559. data/spec/conekta/1.0.0/token_spec.rb +0 -5
  560. data/spec/conekta/1.0.0/webhook_spec.rb +0 -36
  561. data/spec/conekta/2.0.0/checkout_spec.rb +0 -224
  562. data/spec/conekta/2.0.0/customer_spec.rb +0 -77
  563. data/spec/conekta/2.0.0/discount_line_spec.rb +0 -49
  564. data/spec/conekta/2.0.0/error_spec.rb +0 -61
  565. data/spec/conekta/2.0.0/line_item_spec.rb +0 -53
  566. data/spec/conekta/2.0.0/list_spec.rb +0 -29
  567. data/spec/conekta/2.0.0/order_spec.rb +0 -376
  568. data/spec/conekta/2.0.0/payee_spec.rb +0 -55
  569. data/spec/conekta/2.0.0/shipping_contact_spec.rb +0 -60
  570. data/spec/conekta/2.0.0/shipping_line_spec.rb +0 -53
  571. data/spec/conekta/2.0.0/source_spec.rb +0 -31
  572. data/spec/conekta/2.0.0/tax_line_spec.rb +0 -44
  573. data/spec/conekta/2.0.0/transfer_spec.rb +0 -59
  574. data/spec/conekta_spec.rb +0 -29
  575. data/spec/support/fixtures/orders.json +0 -1127
  576. data/spec/support/shared_context.rb +0 -49
@@ -0,0 +1,244 @@
1
+ =begin
2
+ #Conekta API
3
+
4
+ #Conekta sdk
5
+
6
+ The version of the OpenAPI document: 2.1.0
7
+ Contact: engineering@conekta.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.6.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Conekta
17
+ class OrderCaptureRequest
18
+ # Amount to capture
19
+ attr_accessor :amount
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'amount' => :'amount'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'amount' => :'Integer'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Conekta::OrderCaptureRequest` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Conekta::OrderCaptureRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'amount')
62
+ self.amount = attributes[:'amount']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ invalid_properties = Array.new
70
+ if @amount.nil?
71
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
72
+ end
73
+
74
+ if @amount < 1
75
+ invalid_properties.push('invalid value for "amount", must be greater than or equal to 1.')
76
+ end
77
+
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ return false if @amount.nil?
85
+ return false if @amount < 1
86
+ true
87
+ end
88
+
89
+ # Custom attribute writer method with validation
90
+ # @param [Object] amount Value to be assigned
91
+ def amount=(amount)
92
+ if amount.nil?
93
+ fail ArgumentError, 'amount cannot be nil'
94
+ end
95
+
96
+ if amount < 1
97
+ fail ArgumentError, 'invalid value for "amount", must be greater than or equal to 1.'
98
+ end
99
+
100
+ @amount = amount
101
+ end
102
+
103
+ # Checks equality by comparing each attribute.
104
+ # @param [Object] Object to be compared
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ amount == o.amount
109
+ end
110
+
111
+ # @see the `==` method
112
+ # @param [Object] Object to be compared
113
+ def eql?(o)
114
+ self == o
115
+ end
116
+
117
+ # Calculates hash code according to all attributes.
118
+ # @return [Integer] Hash code
119
+ def hash
120
+ [amount].hash
121
+ end
122
+
123
+ # Builds the object from hash
124
+ # @param [Hash] attributes Model attributes in the form of hash
125
+ # @return [Object] Returns the model itself
126
+ def self.build_from_hash(attributes)
127
+ new.build_from_hash(attributes)
128
+ end
129
+
130
+ # Builds the object from hash
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ # @return [Object] Returns the model itself
133
+ def build_from_hash(attributes)
134
+ return nil unless attributes.is_a?(Hash)
135
+ attributes = attributes.transform_keys(&:to_sym)
136
+ self.class.openapi_types.each_pair do |key, type|
137
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
138
+ self.send("#{key}=", nil)
139
+ elsif type =~ /\AArray<(.*)>/i
140
+ # check to ensure the input is an array given that the attribute
141
+ # is documented as an array but the input is not
142
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
143
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
144
+ end
145
+ elsif !attributes[self.class.attribute_map[key]].nil?
146
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
147
+ end
148
+ end
149
+
150
+ self
151
+ end
152
+
153
+ # Deserializes the data based on type
154
+ # @param string type Data type
155
+ # @param string value Value to be deserialized
156
+ # @return [Object] Deserialized data
157
+ def _deserialize(type, value)
158
+ case type.to_sym
159
+ when :Time
160
+ Time.parse(value)
161
+ when :Date
162
+ Date.parse(value)
163
+ when :String
164
+ value.to_s
165
+ when :Integer
166
+ value.to_i
167
+ when :Float
168
+ value.to_f
169
+ when :Boolean
170
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
171
+ true
172
+ else
173
+ false
174
+ end
175
+ when :Object
176
+ # generic object (usually a Hash), return directly
177
+ value
178
+ when /\AArray<(?<inner_type>.+)>\z/
179
+ inner_type = Regexp.last_match[:inner_type]
180
+ value.map { |v| _deserialize(inner_type, v) }
181
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
182
+ k_type = Regexp.last_match[:k_type]
183
+ v_type = Regexp.last_match[:v_type]
184
+ {}.tap do |hash|
185
+ value.each do |k, v|
186
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
187
+ end
188
+ end
189
+ else # model
190
+ # models (e.g. Pet) or oneOf
191
+ klass = Conekta.const_get(type)
192
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
193
+ end
194
+ end
195
+
196
+ # Returns the string representation of the object
197
+ # @return [String] String presentation of the object
198
+ def to_s
199
+ to_hash.to_s
200
+ end
201
+
202
+ # to_body is an alias to to_hash (backward compatibility)
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_body
205
+ to_hash
206
+ end
207
+
208
+ # Returns the object in the form of hash
209
+ # @return [Hash] Returns the object in the form of hash
210
+ def to_hash
211
+ hash = {}
212
+ self.class.attribute_map.each_pair do |attr, param|
213
+ value = self.send(attr)
214
+ if value.nil?
215
+ is_nullable = self.class.openapi_nullable.include?(attr)
216
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
217
+ end
218
+
219
+ hash[param] = _to_hash(value)
220
+ end
221
+ hash
222
+ end
223
+
224
+ # Outputs non-array value in the form of hash
225
+ # For object, use to_hash. Otherwise, just return the value
226
+ # @param [Object] value Any valid value
227
+ # @return [Hash] Returns the value in the form of hash
228
+ def _to_hash(value)
229
+ if value.is_a?(Array)
230
+ value.compact.map { |v| _to_hash(v) }
231
+ elsif value.is_a?(Hash)
232
+ {}.tap do |hash|
233
+ value.each { |k, v| hash[k] = _to_hash(v) }
234
+ end
235
+ elsif value.respond_to? :to_hash
236
+ value.to_hash
237
+ else
238
+ value
239
+ end
240
+ end
241
+
242
+ end
243
+
244
+ end
@@ -0,0 +1,275 @@
1
+ =begin
2
+ #Conekta API
3
+
4
+ #Conekta sdk
5
+
6
+ The version of the OpenAPI document: 2.1.0
7
+ Contact: engineering@conekta.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.6.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Conekta
17
+ # List of discounts that apply to the order.
18
+ class OrderDiscountLinesRequest
19
+ # The amount to be deducted from the total sum of all payments, in cents.
20
+ attr_accessor :amount
21
+
22
+ # Discount code.
23
+ attr_accessor :code
24
+
25
+ # It can be 'loyalty', 'campaign', 'coupon' o 'sign'
26
+ attr_accessor :type
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'amount' => :'amount',
32
+ :'code' => :'code',
33
+ :'type' => :'type'
34
+ }
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'amount' => :'Integer',
46
+ :'code' => :'String',
47
+ :'type' => :'String'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Conekta::OrderDiscountLinesRequest` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Conekta::OrderDiscountLinesRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'amount')
73
+ self.amount = attributes[:'amount']
74
+ end
75
+
76
+ if attributes.key?(:'code')
77
+ self.code = attributes[:'code']
78
+ end
79
+
80
+ if attributes.key?(:'type')
81
+ self.type = attributes[:'type']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ if @amount.nil?
90
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
91
+ end
92
+
93
+ if @amount < 0
94
+ invalid_properties.push('invalid value for "amount", must be greater than or equal to 0.')
95
+ end
96
+
97
+ if @code.nil?
98
+ invalid_properties.push('invalid value for "code", code cannot be nil.')
99
+ end
100
+
101
+ if @type.nil?
102
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ return false if @amount.nil?
112
+ return false if @amount < 0
113
+ return false if @code.nil?
114
+ return false if @type.nil?
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method with validation
119
+ # @param [Object] amount Value to be assigned
120
+ def amount=(amount)
121
+ if amount.nil?
122
+ fail ArgumentError, 'amount cannot be nil'
123
+ end
124
+
125
+ if amount < 0
126
+ fail ArgumentError, 'invalid value for "amount", must be greater than or equal to 0.'
127
+ end
128
+
129
+ @amount = amount
130
+ end
131
+
132
+ # Checks equality by comparing each attribute.
133
+ # @param [Object] Object to be compared
134
+ def ==(o)
135
+ return true if self.equal?(o)
136
+ self.class == o.class &&
137
+ amount == o.amount &&
138
+ code == o.code &&
139
+ type == o.type
140
+ end
141
+
142
+ # @see the `==` method
143
+ # @param [Object] Object to be compared
144
+ def eql?(o)
145
+ self == o
146
+ end
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Integer] Hash code
150
+ def hash
151
+ [amount, code, type].hash
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def self.build_from_hash(attributes)
158
+ new.build_from_hash(attributes)
159
+ end
160
+
161
+ # Builds the object from hash
162
+ # @param [Hash] attributes Model attributes in the form of hash
163
+ # @return [Object] Returns the model itself
164
+ def build_from_hash(attributes)
165
+ return nil unless attributes.is_a?(Hash)
166
+ attributes = attributes.transform_keys(&:to_sym)
167
+ self.class.openapi_types.each_pair do |key, type|
168
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
169
+ self.send("#{key}=", nil)
170
+ elsif type =~ /\AArray<(.*)>/i
171
+ # check to ensure the input is an array given that the attribute
172
+ # is documented as an array but the input is not
173
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
174
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
175
+ end
176
+ elsif !attributes[self.class.attribute_map[key]].nil?
177
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
178
+ end
179
+ end
180
+
181
+ self
182
+ end
183
+
184
+ # Deserializes the data based on type
185
+ # @param string type Data type
186
+ # @param string value Value to be deserialized
187
+ # @return [Object] Deserialized data
188
+ def _deserialize(type, value)
189
+ case type.to_sym
190
+ when :Time
191
+ Time.parse(value)
192
+ when :Date
193
+ Date.parse(value)
194
+ when :String
195
+ value.to_s
196
+ when :Integer
197
+ value.to_i
198
+ when :Float
199
+ value.to_f
200
+ when :Boolean
201
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
202
+ true
203
+ else
204
+ false
205
+ end
206
+ when :Object
207
+ # generic object (usually a Hash), return directly
208
+ value
209
+ when /\AArray<(?<inner_type>.+)>\z/
210
+ inner_type = Regexp.last_match[:inner_type]
211
+ value.map { |v| _deserialize(inner_type, v) }
212
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
213
+ k_type = Regexp.last_match[:k_type]
214
+ v_type = Regexp.last_match[:v_type]
215
+ {}.tap do |hash|
216
+ value.each do |k, v|
217
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
218
+ end
219
+ end
220
+ else # model
221
+ # models (e.g. Pet) or oneOf
222
+ klass = Conekta.const_get(type)
223
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
224
+ end
225
+ end
226
+
227
+ # Returns the string representation of the object
228
+ # @return [String] String presentation of the object
229
+ def to_s
230
+ to_hash.to_s
231
+ end
232
+
233
+ # to_body is an alias to to_hash (backward compatibility)
234
+ # @return [Hash] Returns the object in the form of hash
235
+ def to_body
236
+ to_hash
237
+ end
238
+
239
+ # Returns the object in the form of hash
240
+ # @return [Hash] Returns the object in the form of hash
241
+ def to_hash
242
+ hash = {}
243
+ self.class.attribute_map.each_pair do |attr, param|
244
+ value = self.send(attr)
245
+ if value.nil?
246
+ is_nullable = self.class.openapi_nullable.include?(attr)
247
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
248
+ end
249
+
250
+ hash[param] = _to_hash(value)
251
+ end
252
+ hash
253
+ end
254
+
255
+ # Outputs non-array value in the form of hash
256
+ # For object, use to_hash. Otherwise, just return the value
257
+ # @param [Object] value Any valid value
258
+ # @return [Hash] Returns the value in the form of hash
259
+ def _to_hash(value)
260
+ if value.is_a?(Array)
261
+ value.compact.map { |v| _to_hash(v) }
262
+ elsif value.is_a?(Hash)
263
+ {}.tap do |hash|
264
+ value.each { |k, v| hash[k] = _to_hash(v) }
265
+ end
266
+ elsif value.respond_to? :to_hash
267
+ value.to_hash
268
+ else
269
+ value
270
+ end
271
+ end
272
+
273
+ end
274
+
275
+ end