first_data_gateway 1.2.0 → 1.3.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 (654) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +1 -1
  4. data/docs/AVSResponse.md +10 -0
  5. data/docs/AccessTokenResponse.md +11 -0
  6. data/docs/AccountUpdaterResponse.md +13 -0
  7. data/docs/AdditionalAmountRate.md +10 -0
  8. data/docs/AdditionalDetails.md +11 -0
  9. data/docs/AdditionalTransactionDetails.md +15 -0
  10. data/docs/Address.md +15 -0
  11. data/docs/Airline.md +24 -2
  12. data/docs/AirlineAncillaryServiceCategory.md +9 -0
  13. data/docs/AirlineTravelRoute.md +17 -0
  14. data/docs/AliPay.md +13 -1
  15. data/docs/AliPayPaymentMethod.md +9 -0
  16. data/docs/AliPayPaymentMethodAllOf.md +17 -0
  17. data/docs/AliPaySaleTransaction.md +9 -6
  18. data/docs/AliPaySaleTransactionAllOf.md +17 -0
  19. data/docs/Amount.md +11 -0
  20. data/docs/AmountComponents.md +14 -0
  21. data/docs/Authentication.md +9 -0
  22. data/docs/AuthenticationApi.md +7 -5
  23. data/docs/AuthenticationRedirect.md +11 -0
  24. data/docs/AuthenticationRedirectParams.md +11 -0
  25. data/docs/AuthenticationVerificationRequest.md +12 -0
  26. data/docs/BasicResponse.md +11 -0
  27. data/docs/Billing.md +13 -0
  28. data/docs/BillingAddress.md +18 -0
  29. data/docs/BillingAddressPhone.md +10 -0
  30. data/docs/CarRental.md +17 -1
  31. data/docs/CarRentalExtraCharges.md +9 -0
  32. data/docs/Card.md +16 -0
  33. data/docs/CardFunction.md +9 -0
  34. data/docs/CardInfo.md +14 -0
  35. data/docs/CardInfoLookupApi.md +7 -5
  36. data/docs/CardInfoLookupRequest.md +10 -0
  37. data/docs/CardInfoLookupResponse.md +13 -0
  38. data/docs/CardVerificationApi.md +7 -5
  39. data/docs/CardVerificationRequest.md +11 -0
  40. data/docs/ChinaDomestic.md +17 -1
  41. data/docs/ChinaDomesticPaymentMethod.md +10 -0
  42. data/docs/ChinaDomesticPaymentMethodAllOf.md +19 -0
  43. data/docs/ChinaPnRSaleTransaction.md +9 -6
  44. data/docs/ChinaPnRSaleTransactionAllOf.md +17 -0
  45. data/docs/ClientLocale.md +10 -0
  46. data/docs/Contact.md +12 -0
  47. data/docs/CreatePaymentToken.md +13 -2
  48. data/docs/CurrencyConversion.md +10 -0
  49. data/docs/CurrencyConversionApi.md +7 -5
  50. data/docs/Customer.md +20 -0
  51. data/docs/CustomerAddress.md +15 -0
  52. data/docs/CustomerAddressPhone.md +10 -0
  53. data/docs/DCCExchangeRateRequest.md +9 -3
  54. data/docs/DCCExchangeRateRequestAllOf.md +17 -0
  55. data/docs/Dcc.md +10 -3
  56. data/docs/DccAllOf.md +17 -0
  57. data/docs/Device.md +22 -2
  58. data/docs/DeviceNetworks.md +22 -0
  59. data/docs/Disbursement.md +21 -0
  60. data/docs/DisbursementTransactionType.md +16 -0
  61. data/docs/Document.md +10 -0
  62. data/docs/DynamicPricing.md +10 -2
  63. data/docs/DynamicPricingAllOf.md +19 -0
  64. data/docs/DynamicPricingExchangeRateRequest.md +9 -3
  65. data/docs/DynamicPricingExchangeRateRequestAllOf.md +17 -0
  66. data/docs/EncryptedApplePay.md +27 -0
  67. data/docs/EncryptedApplePayHeader.md +23 -0
  68. data/docs/EncryptedApplePayWalletPaymentMethod.md +17 -0
  69. data/docs/EncryptedApplePayWalletPaymentMethodAllOf.md +17 -0
  70. data/docs/EncryptedGooglePay.md +21 -0
  71. data/docs/EncryptedGooglePayData.md +21 -0
  72. data/docs/EncryptedGooglePayWalletPaymentMethod.md +17 -0
  73. data/docs/EncryptedGooglePayWalletPaymentMethodAllOf.md +17 -0
  74. data/docs/Error.md +11 -0
  75. data/docs/ErrorDetails.md +10 -0
  76. data/docs/ErrorResponse.md +12 -0
  77. data/docs/ExchangeRateRequest.md +11 -0
  78. data/docs/ExchangeRateResponse.md +22 -0
  79. data/docs/Expiration.md +10 -0
  80. data/docs/FraudDetectApi.md +7 -5
  81. data/docs/FraudOrder.md +11 -0
  82. data/docs/FraudOrderItems.md +16 -0
  83. data/docs/FraudOrderShipToAddress.md +15 -0
  84. data/docs/Frequency.md +10 -0
  85. data/docs/FundingTransactionType.md +16 -0
  86. data/docs/IndustrySpecificExtensions.md +11 -0
  87. data/docs/InstallmentOptions.md +15 -2
  88. data/docs/Lodging.md +14 -1
  89. data/docs/LodgingExtraCharges.md +9 -0
  90. data/docs/Loyalty.md +11 -0
  91. data/docs/Merchant.md +12 -0
  92. data/docs/MerchantLocation.md +13 -0
  93. data/docs/MerchantLocationMerchantAddress.md +14 -0
  94. data/docs/Order.md +16 -0
  95. data/docs/OrderApi.md +12 -8
  96. data/docs/OrderErrorResponse.md +19 -0
  97. data/docs/OrderResponse.md +18 -0
  98. data/docs/PayPal.md +9 -0
  99. data/docs/PayPalPaymentMethod.md +9 -0
  100. data/docs/PayPalPaymentMethodAllOf.md +17 -0
  101. data/docs/Payment.md +20 -1
  102. data/docs/PaymentApi.md +25 -17
  103. data/docs/PaymentCard.md +17 -0
  104. data/docs/PaymentCardCreditTransaction.md +10 -6
  105. data/docs/PaymentCardDisbursementTransaction.md +23 -0
  106. data/docs/PaymentCardDisbursementTransactionAllOf.md +23 -0
  107. data/docs/PaymentCardForcedTicketTransaction.md +10 -6
  108. data/docs/PaymentCardForcedTicketTransactionAllOf.md +19 -0
  109. data/docs/PaymentCardPayerAuthTransaction.md +10 -6
  110. data/docs/PaymentCardPayerAuthTransactionAllOf.md +19 -0
  111. data/docs/PaymentCardPaymentMethod.md +10 -0
  112. data/docs/PaymentCardPaymentMethodAllOf.md +19 -0
  113. data/docs/PaymentCardPaymentTokenizationRequest.md +9 -5
  114. data/docs/PaymentCardPaymentTokenizationRequestAllOf.md +17 -0
  115. data/docs/PaymentCardPreAuthTransaction.md +13 -6
  116. data/docs/PaymentCardPreAuthTransactionAllOf.md +25 -0
  117. data/docs/PaymentCardSaleTransaction.md +13 -6
  118. data/docs/PaymentCardSaleTransactionAllOf.md +25 -0
  119. data/docs/PaymentFacilitator.md +13 -0
  120. data/docs/PaymentIssuerResponse.md +11 -0
  121. data/docs/PaymentMethodDetails.md +10 -0
  122. data/docs/PaymentMethodPaymentSchedulesRequest.md +9 -16
  123. data/docs/PaymentMethodPaymentSchedulesRequestAllOf.md +17 -0
  124. data/docs/PaymentMethodType.md +9 -0
  125. data/docs/PaymentPayMethod.md +14 -0
  126. data/docs/PaymentSchedulesApi.md +23 -17
  127. data/docs/PaymentSchedulesErrorResponse.md +15 -0
  128. data/docs/PaymentSchedulesRequest.md +24 -0
  129. data/docs/PaymentSchedulesResponse.md +14 -0
  130. data/docs/PaymentTokenApi.md +12 -8
  131. data/docs/PaymentTokenCreditTransaction.md +10 -6
  132. data/docs/PaymentTokenCreditTransactionAllOf.md +19 -0
  133. data/docs/PaymentTokenDetails.md +18 -3
  134. data/docs/PaymentTokenDetailsAllOf.md +23 -0
  135. data/docs/PaymentTokenDisbursementTransaction.md +21 -0
  136. data/docs/PaymentTokenDisbursementTransactionAllOf.md +21 -0
  137. data/docs/PaymentTokenPaymentMethod.md +10 -0
  138. data/docs/PaymentTokenPaymentMethodAllOf.md +19 -0
  139. data/docs/PaymentTokenPreAuthTransaction.md +12 -6
  140. data/docs/PaymentTokenPreAuthTransactionAllOf.md +23 -0
  141. data/docs/PaymentTokenSaleTransaction.md +12 -6
  142. data/docs/PaymentTokenSaleTransactionAllOf.md +23 -0
  143. data/docs/PaymentTokenizationErrorResponse.md +22 -2
  144. data/docs/PaymentTokenizationRequest.md +14 -1
  145. data/docs/PaymentTokenizationResponse.md +21 -2
  146. data/docs/PaymentURLApi.md +7 -5
  147. data/docs/PaymentUrlErrorResponse.md +16 -0
  148. data/docs/PaymentUrlRequest.md +26 -2
  149. data/docs/PaymentUrlResponse.md +15 -0
  150. data/docs/PaymentVerification3ds.md +11 -0
  151. data/docs/PaymentVerificationAvs.md +11 -0
  152. data/docs/PaymentVerificationCvv.md +11 -0
  153. data/docs/PaypalCreditTransaction.md +9 -6
  154. data/docs/PaypalCreditTransactionAllOf.md +17 -0
  155. data/docs/PostAuthTransaction.md +12 -3
  156. data/docs/PostAuthTransactionAllOf.md +23 -0
  157. data/docs/PrimaryTransaction.md +15 -1
  158. data/docs/ProcessorData.md +17 -0
  159. data/docs/PurchaseCards.md +10 -0
  160. data/docs/PurchaseCardsLevel2.md +13 -0
  161. data/docs/PurchaseCardsLevel3.md +9 -0
  162. data/docs/PurchaseCardsLevel3LineItems.md +17 -0
  163. data/docs/ReceiverInfo.md +33 -0
  164. data/docs/RecurringPaymentDetails.md +21 -0
  165. data/docs/RecurringPaymentDetailsResponse.md +19 -0
  166. data/docs/ReferencedOrderPaymentSchedulesRequest.md +9 -16
  167. data/docs/ReferencedOrderPaymentSchedulesRequestAllOf.md +17 -0
  168. data/docs/ReferencedOrderPaymentTokenizationRequest.md +9 -5
  169. data/docs/ReferencedOrderPaymentTokenizationRequestAllOf.md +17 -0
  170. data/docs/ResponseAmountComponents.md +15 -0
  171. data/docs/ResponseAmountComponentsAllOf.md +17 -0
  172. data/docs/ResponseType.md +9 -0
  173. data/docs/ReturnTransaction.md +11 -3
  174. data/docs/ReturnTransactionAllOf.md +21 -0
  175. data/docs/ScoreOnlyRequest.md +22 -0
  176. data/docs/ScoreOnlyResponse.md +14 -0
  177. data/docs/ScoreOnlyResponseFraudScore.md +11 -0
  178. data/docs/ScoreOnlyResponseFraudScoreExplanations.md +11 -0
  179. data/docs/SecondaryTransaction.md +11 -0
  180. data/docs/Secure3D10AuthenticationResult.md +23 -0
  181. data/docs/Secure3D10AuthenticationResultAllOf.md +23 -0
  182. data/docs/Secure3D21AuthenticationResult.md +25 -0
  183. data/docs/Secure3D21AuthenticationResultAllOf.md +25 -0
  184. data/docs/Secure3dAuthenticationRequest.md +9 -1
  185. data/docs/Secure3dAuthenticationVerificationRequest.md +10 -4
  186. data/docs/Secure3dAuthenticationVerificationRequestAllOf.md +19 -0
  187. data/docs/Secure3dResponse.md +9 -0
  188. data/docs/SenderInfo.md +35 -0
  189. data/docs/Sepa.md +13 -0
  190. data/docs/SepaMandate.md +12 -0
  191. data/docs/SepaPaymentMethod.md +9 -0
  192. data/docs/SepaPaymentMethodAllOf.md +17 -0
  193. data/docs/SepaSaleTransaction.md +9 -6
  194. data/docs/SepaSaleTransactionAllOf.md +17 -0
  195. data/docs/Shipping.md +11 -0
  196. data/docs/SoftDescriptor.md +10 -0
  197. data/docs/SplitShipment.md +11 -1
  198. data/docs/StoredCredential.md +13 -1
  199. data/docs/SubMerchantData.md +14 -0
  200. data/docs/SubMerchantSplit.md +10 -0
  201. data/docs/Transaction.md +20 -0
  202. data/docs/TransactionErrorResponse.md +32 -0
  203. data/docs/TransactionOrigin.md +9 -0
  204. data/docs/TransactionResponse.md +31 -0
  205. data/docs/TransactionType.md +9 -0
  206. data/docs/UnionPayAuthenticationRequest.md +9 -1
  207. data/docs/UnionPayAuthenticationRequestAllOf.md +17 -0
  208. data/docs/UnionPayAuthenticationVerificationRequest.md +9 -4
  209. data/docs/UnionPayAuthenticationVerificationRequestAllOf.md +17 -0
  210. data/docs/UsePaymentToken.md +11 -0
  211. data/docs/VoidTransaction.md +9 -3
  212. data/docs/WalletPaymentMethod.md +17 -0
  213. data/docs/WalletPreAuthTransaction.md +21 -0
  214. data/docs/WalletPreAuthTransactionAllOf.md +21 -0
  215. data/docs/WalletSaleTransaction.md +19 -0
  216. data/docs/WalletSaleTransactionAllOf.md +19 -0
  217. data/lib/openapi_client/api/.DS_Store +0 -0
  218. data/lib/openapi_client/api/authentication_api.rb +28 -20
  219. data/lib/openapi_client/api/card_info_lookup_api.rb +29 -21
  220. data/lib/openapi_client/api/card_verification_api.rb +29 -21
  221. data/lib/openapi_client/api/currency_conversion_api.rb +29 -21
  222. data/lib/openapi_client/api/fraud_detect_api.rb +31 -22
  223. data/lib/openapi_client/api/order_api.rb +59 -42
  224. data/lib/openapi_client/api/payment_api.rb +119 -84
  225. data/lib/openapi_client/api/payment_schedules_api.rb +118 -84
  226. data/lib/openapi_client/api/payment_token_api.rb +57 -40
  227. data/lib/openapi_client/api/payment_url_api.rb +29 -21
  228. data/lib/openapi_client/api_client.rb +11 -13
  229. data/lib/openapi_client/api_error.rb +20 -1
  230. data/lib/openapi_client/configuration.rb +3 -3
  231. data/lib/openapi_client/models/access_token_response.rb +31 -18
  232. data/lib/openapi_client/models/account_updater_response.rb +32 -19
  233. data/lib/openapi_client/models/additional_amount_rate.rb +24 -11
  234. data/lib/openapi_client/models/additional_details.rb +27 -14
  235. data/lib/openapi_client/models/additional_transaction_details.rb +97 -18
  236. data/lib/openapi_client/models/address.rb +30 -17
  237. data/lib/openapi_client/models/airline.rb +54 -41
  238. data/lib/openapi_client/models/airline_ancillary_service_category.rb +27 -14
  239. data/lib/openapi_client/models/airline_travel_route.rb +41 -28
  240. data/lib/openapi_client/models/ali_pay.rb +68 -22
  241. data/lib/openapi_client/models/ali_pay_payment_method.rb +32 -11
  242. data/lib/openapi_client/models/ali_pay_payment_method_all_of.rb +201 -0
  243. data/lib/openapi_client/models/ali_pay_sale_transaction.rb +54 -33
  244. data/lib/openapi_client/models/ali_pay_sale_transaction_all_of.rb +201 -0
  245. data/lib/openapi_client/models/amount.rb +46 -12
  246. data/lib/openapi_client/models/amount_components.rb +30 -17
  247. data/lib/openapi_client/models/authentication.rb +29 -11
  248. data/lib/openapi_client/models/authentication_redirect.rb +29 -16
  249. data/lib/openapi_client/models/authentication_redirect_params.rb +28 -15
  250. data/lib/openapi_client/models/authentication_verification_request.rb +35 -17
  251. data/lib/openapi_client/models/avs_response.rb +32 -19
  252. data/lib/openapi_client/models/basic_response.rb +28 -15
  253. data/lib/openapi_client/models/billing.rb +29 -16
  254. data/lib/openapi_client/models/billing_address.rb +58 -24
  255. data/lib/openapi_client/models/billing_address_phone.rb +24 -11
  256. data/lib/openapi_client/models/car_rental.rb +39 -26
  257. data/lib/openapi_client/models/car_rental_extra_charges.rb +27 -14
  258. data/lib/openapi_client/models/card.rb +36 -23
  259. data/lib/openapi_client/models/card_function.rb +13 -7
  260. data/lib/openapi_client/models/card_info.rb +36 -23
  261. data/lib/openapi_client/models/card_info_lookup_request.rb +26 -13
  262. data/lib/openapi_client/models/card_info_lookup_response.rb +42 -22
  263. data/lib/openapi_client/models/card_verification_request.rb +28 -15
  264. data/lib/openapi_client/models/china_domestic.rb +72 -26
  265. data/lib/openapi_client/models/china_domestic_payment_method.rb +36 -15
  266. data/lib/openapi_client/models/china_domestic_payment_method_all_of.rb +249 -0
  267. data/lib/openapi_client/models/china_pn_r_sale_transaction.rb +54 -33
  268. data/lib/openapi_client/models/china_pn_r_sale_transaction_all_of.rb +201 -0
  269. data/lib/openapi_client/models/client_locale.rb +66 -11
  270. data/lib/openapi_client/models/contact.rb +27 -14
  271. data/lib/openapi_client/models/create_payment_token.rb +28 -15
  272. data/lib/openapi_client/models/currency_conversion.rb +52 -13
  273. data/lib/openapi_client/models/customer.rb +65 -31
  274. data/lib/openapi_client/models/customer_address.rb +94 -18
  275. data/lib/openapi_client/models/customer_address_phone.rb +24 -11
  276. data/lib/openapi_client/models/dcc.rb +58 -16
  277. data/lib/openapi_client/models/dcc_all_of.rb +202 -0
  278. data/lib/openapi_client/models/dcc_exchange_rate_request.rb +43 -20
  279. data/lib/openapi_client/models/dcc_exchange_rate_request_all_of.rb +232 -0
  280. data/lib/openapi_client/models/device.rb +65 -31
  281. data/lib/openapi_client/models/device_networks.rb +48 -35
  282. data/lib/openapi_client/models/disbursement.rb +236 -0
  283. data/lib/openapi_client/models/disbursement_transaction_type.rb +238 -0
  284. data/lib/openapi_client/models/document.rb +38 -14
  285. data/lib/openapi_client/models/dynamic_pricing.rb +95 -20
  286. data/lib/openapi_client/models/dynamic_pricing_all_of.rb +250 -0
  287. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request.rb +44 -21
  288. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request_all_of.rb +232 -0
  289. data/lib/openapi_client/models/encrypted_apple_pay.rb +364 -0
  290. data/lib/openapi_client/models/encrypted_apple_pay_header.rb +306 -0
  291. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method.rb +225 -0
  292. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method_all_of.rb +201 -0
  293. data/lib/openapi_client/models/encrypted_google_pay.rb +274 -0
  294. data/lib/openapi_client/models/encrypted_google_pay_data.rb +296 -0
  295. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method.rb +225 -0
  296. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method_all_of.rb +201 -0
  297. data/lib/openapi_client/models/error.rb +25 -12
  298. data/lib/openapi_client/models/error_details.rb +24 -11
  299. data/lib/openapi_client/models/error_response.rb +36 -16
  300. data/lib/openapi_client/models/exchange_rate_request.rb +33 -15
  301. data/lib/openapi_client/models/exchange_rate_response.rb +57 -37
  302. data/lib/openapi_client/models/expiration.rb +66 -11
  303. data/lib/openapi_client/models/fraud_order.rb +27 -14
  304. data/lib/openapi_client/models/fraud_order_items.rb +33 -20
  305. data/lib/openapi_client/models/fraud_order_ship_to_address.rb +29 -16
  306. data/lib/openapi_client/models/frequency.rb +27 -14
  307. data/lib/openapi_client/models/funding_transaction_type.rb +238 -0
  308. data/lib/openapi_client/models/industry_specific_extensions.rb +26 -13
  309. data/lib/openapi_client/models/installment_options.rb +37 -24
  310. data/lib/openapi_client/models/lodging.rb +33 -20
  311. data/lib/openapi_client/models/lodging_extra_charges.rb +27 -14
  312. data/lib/openapi_client/models/loyalty.rb +25 -12
  313. data/lib/openapi_client/models/merchant.rb +49 -15
  314. data/lib/openapi_client/models/merchant_location.rb +31 -18
  315. data/lib/openapi_client/models/merchant_location_merchant_address.rb +93 -17
  316. data/lib/openapi_client/models/order.rb +36 -23
  317. data/lib/openapi_client/models/order_error_response.rb +45 -25
  318. data/lib/openapi_client/models/order_response.rb +44 -24
  319. data/lib/openapi_client/models/pay_pal.rb +35 -11
  320. data/lib/openapi_client/models/pay_pal_payment_method.rb +32 -11
  321. data/lib/openapi_client/models/pay_pal_payment_method_all_of.rb +201 -0
  322. data/lib/openapi_client/models/payment.rb +50 -37
  323. data/lib/openapi_client/models/payment_card.rb +41 -44
  324. data/lib/openapi_client/models/payment_card_credit_transaction.rb +56 -35
  325. data/lib/openapi_client/models/payment_card_disbursement_transaction.rb +339 -0
  326. data/lib/openapi_client/models/payment_card_disbursement_transaction_all_of.rb +233 -0
  327. data/lib/openapi_client/models/payment_card_forced_ticket_transaction.rb +67 -35
  328. data/lib/openapi_client/models/payment_card_forced_ticket_transaction_all_of.rb +246 -0
  329. data/lib/openapi_client/models/payment_card_payer_auth_transaction.rb +56 -35
  330. data/lib/openapi_client/models/payment_card_payer_auth_transaction_all_of.rb +210 -0
  331. data/lib/openapi_client/models/payment_card_payment_method.rb +34 -13
  332. data/lib/openapi_client/models/payment_card_payment_method_all_of.rb +210 -0
  333. data/lib/openapi_client/models/payment_card_payment_tokenization_request.rb +43 -22
  334. data/lib/openapi_client/models/payment_card_payment_tokenization_request_all_of.rb +201 -0
  335. data/lib/openapi_client/models/payment_card_pre_auth_transaction.rb +62 -41
  336. data/lib/openapi_client/models/payment_card_pre_auth_transaction_all_of.rb +240 -0
  337. data/lib/openapi_client/models/payment_card_sale_transaction.rb +62 -41
  338. data/lib/openapi_client/models/payment_card_sale_transaction_all_of.rb +240 -0
  339. data/lib/openapi_client/models/payment_facilitator.rb +75 -26
  340. data/lib/openapi_client/models/payment_issuer_response.rb +70 -15
  341. data/lib/openapi_client/models/payment_method_details.rb +26 -13
  342. data/lib/openapi_client/models/payment_method_payment_schedules_request.rb +60 -39
  343. data/lib/openapi_client/models/payment_method_payment_schedules_request_all_of.rb +201 -0
  344. data/lib/openapi_client/models/payment_method_type.rb +27 -21
  345. data/lib/openapi_client/models/payment_pay_method.rb +35 -22
  346. data/lib/openapi_client/models/payment_schedules_error_response.rb +45 -25
  347. data/lib/openapi_client/models/payment_schedules_request.rb +55 -37
  348. data/lib/openapi_client/models/payment_schedules_response.rb +44 -24
  349. data/lib/openapi_client/models/payment_token_credit_transaction.rb +56 -35
  350. data/lib/openapi_client/models/payment_token_credit_transaction_all_of.rb +210 -0
  351. data/lib/openapi_client/models/payment_token_details.rb +42 -21
  352. data/lib/openapi_client/models/payment_token_details_all_of.rb +227 -0
  353. data/lib/openapi_client/models/payment_token_disbursement_transaction.rb +330 -0
  354. data/lib/openapi_client/models/payment_token_disbursement_transaction_all_of.rb +224 -0
  355. data/lib/openapi_client/models/payment_token_payment_method.rb +34 -13
  356. data/lib/openapi_client/models/payment_token_payment_method_all_of.rb +210 -0
  357. data/lib/openapi_client/models/payment_token_pre_auth_transaction.rb +60 -39
  358. data/lib/openapi_client/models/payment_token_pre_auth_transaction_all_of.rb +231 -0
  359. data/lib/openapi_client/models/payment_token_sale_transaction.rb +60 -39
  360. data/lib/openapi_client/models/payment_token_sale_transaction_all_of.rb +231 -0
  361. data/lib/openapi_client/models/payment_tokenization_error_response.rb +67 -47
  362. data/lib/openapi_client/models/payment_tokenization_request.rb +38 -20
  363. data/lib/openapi_client/models/payment_tokenization_response.rb +69 -49
  364. data/lib/openapi_client/models/payment_url_error_response.rb +47 -27
  365. data/lib/openapi_client/models/payment_url_request.rb +78 -35
  366. data/lib/openapi_client/models/payment_url_response.rb +46 -26
  367. data/lib/openapi_client/models/payment_verification3ds.rb +67 -12
  368. data/lib/openapi_client/models/payment_verification_avs.rb +67 -12
  369. data/lib/openapi_client/models/payment_verification_cvv.rb +67 -12
  370. data/lib/openapi_client/models/paypal_credit_transaction.rb +54 -33
  371. data/lib/openapi_client/models/paypal_credit_transaction_all_of.rb +201 -0
  372. data/lib/openapi_client/models/post_auth_transaction.rb +43 -22
  373. data/lib/openapi_client/models/post_auth_transaction_all_of.rb +228 -0
  374. data/lib/openapi_client/models/primary_transaction.rb +49 -31
  375. data/lib/openapi_client/models/processor_data.rb +48 -33
  376. data/lib/openapi_client/models/purchase_cards.rb +26 -13
  377. data/lib/openapi_client/models/purchase_cards_level2.rb +32 -19
  378. data/lib/openapi_client/models/purchase_cards_level3.rb +24 -11
  379. data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +38 -25
  380. data/lib/openapi_client/models/receiver_info.rb +548 -0
  381. data/lib/openapi_client/models/recurring_payment_details.rb +48 -35
  382. data/lib/openapi_client/models/recurring_payment_details_response.rb +46 -26
  383. data/lib/openapi_client/models/referenced_order_payment_schedules_request.rb +81 -39
  384. data/lib/openapi_client/models/referenced_order_payment_schedules_request_all_of.rb +223 -0
  385. data/lib/openapi_client/models/referenced_order_payment_tokenization_request.rb +64 -22
  386. data/lib/openapi_client/models/referenced_order_payment_tokenization_request_all_of.rb +223 -0
  387. data/lib/openapi_client/models/response_amount_components.rb +40 -19
  388. data/lib/openapi_client/models/response_amount_components_all_of.rb +197 -0
  389. data/lib/openapi_client/models/response_type.rb +18 -11
  390. data/lib/openapi_client/models/return_transaction.rb +41 -20
  391. data/lib/openapi_client/models/return_transaction_all_of.rb +219 -0
  392. data/lib/openapi_client/models/score_only_request.rb +112 -36
  393. data/lib/openapi_client/models/score_only_response.rb +37 -24
  394. data/lib/openapi_client/models/score_only_response_fraud_score.rb +25 -12
  395. data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +25 -12
  396. data/lib/openapi_client/models/secondary_transaction.rb +32 -14
  397. data/lib/openapi_client/models/{secure3d_authentication_result.rb → secure3_d10_authentication_result.rb} +65 -44
  398. data/lib/openapi_client/models/secure3_d10_authentication_result_all_of.rb +321 -0
  399. data/lib/openapi_client/models/secure3_d21_authentication_result.rb +355 -0
  400. data/lib/openapi_client/models/secure3_d21_authentication_result_all_of.rb +331 -0
  401. data/lib/openapi_client/models/secure3d_authentication_request.rb +31 -11
  402. data/lib/openapi_client/models/secure3d_authentication_verification_request.rb +84 -21
  403. data/lib/openapi_client/models/secure3d_authentication_verification_request_all_of.rb +259 -0
  404. data/lib/openapi_client/models/secure3d_response.rb +24 -11
  405. data/lib/openapi_client/models/sender_info.rb +584 -0
  406. data/lib/openapi_client/models/sepa.rb +60 -14
  407. data/lib/openapi_client/models/sepa_mandate.rb +47 -21
  408. data/lib/openapi_client/models/sepa_payment_method.rb +31 -10
  409. data/lib/openapi_client/models/{payment_method.rb → sepa_payment_method_all_of.rb} +39 -13
  410. data/lib/openapi_client/models/sepa_sale_transaction.rb +54 -33
  411. data/lib/openapi_client/models/sepa_sale_transaction_all_of.rb +201 -0
  412. data/lib/openapi_client/models/shipping.rb +25 -12
  413. data/lib/openapi_client/models/soft_descriptor.rb +46 -12
  414. data/lib/openapi_client/models/split_shipment.rb +27 -14
  415. data/lib/openapi_client/models/stored_credential.rb +34 -21
  416. data/lib/openapi_client/models/sub_merchant_data.rb +36 -21
  417. data/lib/openapi_client/models/sub_merchant_split.rb +32 -17
  418. data/lib/openapi_client/models/transaction.rb +51 -38
  419. data/lib/openapi_client/models/transaction_error_response.rb +80 -60
  420. data/lib/openapi_client/models/transaction_origin.rb +12 -6
  421. data/lib/openapi_client/models/transaction_response.rb +79 -59
  422. data/lib/openapi_client/models/transaction_type.rb +17 -10
  423. data/lib/openapi_client/models/union_pay_authentication_request.rb +45 -13
  424. data/lib/openapi_client/models/union_pay_authentication_request_all_of.rb +232 -0
  425. data/lib/openapi_client/models/union_pay_authentication_verification_request.rb +61 -19
  426. data/lib/openapi_client/models/union_pay_authentication_verification_request_all_of.rb +223 -0
  427. data/lib/openapi_client/models/use_payment_token.rb +47 -13
  428. data/lib/openapi_client/models/void_transaction.rb +34 -14
  429. data/lib/openapi_client/models/wallet_payment_method.rb +208 -0
  430. data/lib/openapi_client/models/wallet_pre_auth_transaction.rb +325 -0
  431. data/lib/openapi_client/models/wallet_pre_auth_transaction_all_of.rb +219 -0
  432. data/lib/openapi_client/models/wallet_sale_transaction.rb +316 -0
  433. data/lib/openapi_client/models/wallet_sale_transaction_all_of.rb +210 -0
  434. data/lib/openapi_client/version.rb +1 -1
  435. data/lib/openapi_client.rb +59 -3
  436. data/spec/api/authentication_api_spec.rb +3 -3
  437. data/spec/api/card_info_lookup_api_spec.rb +3 -3
  438. data/spec/api/card_verification_api_spec.rb +3 -3
  439. data/spec/api/currency_conversion_api_spec.rb +3 -3
  440. data/spec/api/fraud_detect_api_spec.rb +3 -3
  441. data/spec/api/order_api_spec.rb +3 -3
  442. data/spec/api/payment_api_spec.rb +5 -5
  443. data/spec/api/payment_schedules_api_spec.rb +3 -4
  444. data/spec/api/payment_token_api_spec.rb +3 -3
  445. data/spec/api/payment_url_api_spec.rb +3 -3
  446. data/spec/api_client_spec.rb +1 -1
  447. data/spec/configuration_spec.rb +1 -1
  448. data/spec/models/access_token_response_spec.rb +1 -1
  449. data/spec/models/account_updater_response_spec.rb +1 -1
  450. data/spec/models/additional_amount_rate_spec.rb +1 -1
  451. data/spec/models/additional_details_spec.rb +1 -1
  452. data/spec/models/additional_transaction_details_spec.rb +21 -1
  453. data/spec/models/address_spec.rb +1 -1
  454. data/spec/models/airline_ancillary_service_category_spec.rb +1 -1
  455. data/spec/models/airline_spec.rb +1 -1
  456. data/spec/models/airline_travel_route_spec.rb +1 -1
  457. data/spec/models/ali_pay_payment_method_all_of_spec.rb +41 -0
  458. data/spec/models/ali_pay_payment_method_spec.rb +1 -1
  459. data/spec/models/ali_pay_sale_transaction_all_of_spec.rb +41 -0
  460. data/spec/models/ali_pay_sale_transaction_spec.rb +1 -37
  461. data/spec/models/ali_pay_spec.rb +1 -1
  462. data/spec/models/amount_components_spec.rb +1 -1
  463. data/spec/models/amount_spec.rb +1 -1
  464. data/spec/models/authentication_redirect_params_spec.rb +1 -1
  465. data/spec/models/authentication_redirect_spec.rb +1 -1
  466. data/spec/models/authentication_spec.rb +1 -1
  467. data/spec/models/authentication_verification_request_spec.rb +1 -1
  468. data/spec/models/avs_response_spec.rb +1 -1
  469. data/spec/models/basic_response_spec.rb +1 -1
  470. data/spec/models/billing_address_phone_spec.rb +1 -1
  471. data/spec/models/billing_address_spec.rb +1 -1
  472. data/spec/models/billing_spec.rb +1 -1
  473. data/spec/models/car_rental_extra_charges_spec.rb +1 -1
  474. data/spec/models/car_rental_spec.rb +1 -1
  475. data/spec/models/card_function_spec.rb +1 -1
  476. data/spec/models/card_info_lookup_request_spec.rb +1 -1
  477. data/spec/models/card_info_lookup_response_spec.rb +1 -1
  478. data/spec/models/card_info_spec.rb +1 -1
  479. data/spec/models/card_spec.rb +1 -1
  480. data/spec/models/card_verification_request_spec.rb +1 -1
  481. data/spec/models/china_domestic_payment_method_all_of_spec.rb +51 -0
  482. data/spec/models/china_domestic_payment_method_spec.rb +1 -1
  483. data/spec/models/china_domestic_spec.rb +1 -1
  484. data/spec/models/china_pn_r_sale_transaction_all_of_spec.rb +41 -0
  485. data/spec/models/china_pn_r_sale_transaction_spec.rb +1 -37
  486. data/spec/models/client_locale_spec.rb +1 -1
  487. data/spec/models/contact_spec.rb +1 -1
  488. data/spec/models/create_payment_token_spec.rb +1 -1
  489. data/spec/models/currency_conversion_spec.rb +1 -1
  490. data/spec/models/customer_address_phone_spec.rb +1 -1
  491. data/spec/models/customer_address_spec.rb +1 -1
  492. data/spec/models/customer_spec.rb +1 -1
  493. data/spec/models/dcc_all_of_spec.rb +41 -0
  494. data/spec/models/dcc_exchange_rate_request_all_of_spec.rb +41 -0
  495. data/spec/models/dcc_exchange_rate_request_spec.rb +1 -19
  496. data/spec/models/dcc_spec.rb +1 -13
  497. data/spec/models/device_networks_spec.rb +1 -1
  498. data/spec/models/device_spec.rb +1 -1
  499. data/spec/models/disbursement_spec.rb +53 -0
  500. data/spec/models/disbursement_transaction_type_spec.rb +35 -0
  501. data/spec/models/document_spec.rb +1 -1
  502. data/spec/models/dynamic_pricing_all_of_spec.rb +47 -0
  503. data/spec/models/dynamic_pricing_exchange_rate_request_all_of_spec.rb +41 -0
  504. data/spec/models/dynamic_pricing_exchange_rate_request_spec.rb +1 -19
  505. data/spec/models/dynamic_pricing_spec.rb +1 -13
  506. data/spec/models/encrypted_apple_pay_header_spec.rb +59 -0
  507. data/spec/models/encrypted_apple_pay_spec.rb +75 -0
  508. data/spec/models/encrypted_apple_pay_wallet_payment_method_all_of_spec.rb +41 -0
  509. data/spec/models/encrypted_apple_pay_wallet_payment_method_spec.rb +41 -0
  510. data/spec/models/encrypted_google_pay_data_spec.rb +53 -0
  511. data/spec/models/encrypted_google_pay_spec.rb +53 -0
  512. data/spec/models/encrypted_google_pay_wallet_payment_method_all_of_spec.rb +41 -0
  513. data/spec/models/encrypted_google_pay_wallet_payment_method_spec.rb +41 -0
  514. data/spec/models/error_details_spec.rb +1 -1
  515. data/spec/models/error_response_spec.rb +1 -1
  516. data/spec/models/error_spec.rb +1 -1
  517. data/spec/models/exchange_rate_request_spec.rb +1 -1
  518. data/spec/models/exchange_rate_response_spec.rb +1 -1
  519. data/spec/models/expiration_spec.rb +1 -1
  520. data/spec/models/fraud_order_items_spec.rb +1 -1
  521. data/spec/models/fraud_order_ship_to_address_spec.rb +1 -1
  522. data/spec/models/fraud_order_spec.rb +1 -1
  523. data/spec/models/frequency_spec.rb +1 -1
  524. data/spec/models/{payment_method_spec.rb → funding_transaction_type_spec.rb} +7 -7
  525. data/spec/models/industry_specific_extensions_spec.rb +1 -1
  526. data/spec/models/installment_options_spec.rb +1 -1
  527. data/spec/models/lodging_extra_charges_spec.rb +1 -1
  528. data/spec/models/lodging_spec.rb +1 -1
  529. data/spec/models/loyalty_spec.rb +1 -1
  530. data/spec/models/merchant_location_merchant_address_spec.rb +1 -1
  531. data/spec/models/merchant_location_spec.rb +1 -1
  532. data/spec/models/merchant_spec.rb +1 -1
  533. data/spec/models/order_error_response_spec.rb +1 -1
  534. data/spec/models/order_response_spec.rb +1 -1
  535. data/spec/models/order_spec.rb +1 -1
  536. data/spec/models/pay_pal_payment_method_all_of_spec.rb +41 -0
  537. data/spec/models/pay_pal_payment_method_spec.rb +1 -1
  538. data/spec/models/pay_pal_spec.rb +1 -1
  539. data/spec/models/payment_card_credit_transaction_spec.rb +1 -37
  540. data/spec/models/payment_card_disbursement_transaction_all_of_spec.rb +59 -0
  541. data/spec/models/payment_card_disbursement_transaction_spec.rb +59 -0
  542. data/spec/models/payment_card_forced_ticket_transaction_all_of_spec.rb +47 -0
  543. data/spec/models/payment_card_forced_ticket_transaction_spec.rb +1 -37
  544. data/spec/models/payment_card_payer_auth_transaction_all_of_spec.rb +47 -0
  545. data/spec/models/payment_card_payer_auth_transaction_spec.rb +1 -37
  546. data/spec/models/payment_card_payment_method_all_of_spec.rb +47 -0
  547. data/spec/models/payment_card_payment_method_spec.rb +1 -1
  548. data/spec/models/payment_card_payment_tokenization_request_all_of_spec.rb +41 -0
  549. data/spec/models/payment_card_payment_tokenization_request_spec.rb +1 -31
  550. data/spec/models/payment_card_pre_auth_transaction_all_of_spec.rb +65 -0
  551. data/spec/models/payment_card_pre_auth_transaction_spec.rb +1 -37
  552. data/spec/models/payment_card_sale_transaction_all_of_spec.rb +65 -0
  553. data/spec/models/payment_card_sale_transaction_spec.rb +1 -37
  554. data/spec/models/payment_card_spec.rb +1 -1
  555. data/spec/models/payment_facilitator_spec.rb +1 -1
  556. data/spec/models/payment_issuer_response_spec.rb +1 -1
  557. data/spec/models/payment_method_details_spec.rb +1 -1
  558. data/spec/models/payment_method_payment_schedules_request_all_of_spec.rb +41 -0
  559. data/spec/models/payment_method_payment_schedules_request_spec.rb +1 -97
  560. data/spec/models/payment_method_type_spec.rb +1 -1
  561. data/spec/models/payment_pay_method_spec.rb +1 -1
  562. data/spec/models/payment_schedules_error_response_spec.rb +1 -1
  563. data/spec/models/payment_schedules_request_spec.rb +1 -1
  564. data/spec/models/payment_schedules_response_spec.rb +1 -1
  565. data/spec/models/payment_spec.rb +1 -1
  566. data/spec/models/payment_token_credit_transaction_all_of_spec.rb +47 -0
  567. data/spec/models/payment_token_credit_transaction_spec.rb +1 -37
  568. data/spec/models/payment_token_details_all_of_spec.rb +59 -0
  569. data/spec/models/payment_token_details_spec.rb +1 -1
  570. data/spec/models/payment_token_disbursement_transaction_all_of_spec.rb +53 -0
  571. data/spec/models/payment_token_disbursement_transaction_spec.rb +53 -0
  572. data/spec/models/payment_token_payment_method_all_of_spec.rb +47 -0
  573. data/spec/models/payment_token_payment_method_spec.rb +1 -1
  574. data/spec/models/payment_token_pre_auth_transaction_all_of_spec.rb +59 -0
  575. data/spec/models/payment_token_pre_auth_transaction_spec.rb +1 -37
  576. data/spec/models/payment_token_sale_transaction_all_of_spec.rb +59 -0
  577. data/spec/models/payment_token_sale_transaction_spec.rb +1 -37
  578. data/spec/models/payment_tokenization_error_response_spec.rb +7 -7
  579. data/spec/models/payment_tokenization_request_spec.rb +1 -1
  580. data/spec/models/payment_tokenization_response_spec.rb +7 -7
  581. data/spec/models/payment_url_error_response_spec.rb +1 -1
  582. data/spec/models/payment_url_request_spec.rb +7 -1
  583. data/spec/models/payment_url_response_spec.rb +1 -1
  584. data/spec/models/payment_verification3ds_spec.rb +1 -1
  585. data/spec/models/payment_verification_avs_spec.rb +1 -1
  586. data/spec/models/payment_verification_cvv_spec.rb +1 -1
  587. data/spec/models/paypal_credit_transaction_all_of_spec.rb +41 -0
  588. data/spec/models/paypal_credit_transaction_spec.rb +1 -37
  589. data/spec/models/post_auth_transaction_all_of_spec.rb +59 -0
  590. data/spec/models/post_auth_transaction_spec.rb +1 -19
  591. data/spec/models/primary_transaction_spec.rb +4 -4
  592. data/spec/models/processor_data_spec.rb +1 -1
  593. data/spec/models/purchase_cards_level2_spec.rb +1 -1
  594. data/spec/models/purchase_cards_level3_line_items_spec.rb +1 -1
  595. data/spec/models/purchase_cards_level3_spec.rb +1 -1
  596. data/spec/models/purchase_cards_spec.rb +1 -1
  597. data/spec/models/receiver_info_spec.rb +89 -0
  598. data/spec/models/recurring_payment_details_response_spec.rb +1 -1
  599. data/spec/models/recurring_payment_details_spec.rb +1 -1
  600. data/spec/models/referenced_order_payment_schedules_request_all_of_spec.rb +41 -0
  601. data/spec/models/referenced_order_payment_schedules_request_spec.rb +1 -97
  602. data/spec/models/referenced_order_payment_tokenization_request_all_of_spec.rb +41 -0
  603. data/spec/models/referenced_order_payment_tokenization_request_spec.rb +1 -31
  604. data/spec/models/response_amount_components_all_of_spec.rb +41 -0
  605. data/spec/models/response_amount_components_spec.rb +1 -1
  606. data/spec/models/response_type_spec.rb +1 -1
  607. data/spec/models/return_transaction_all_of_spec.rb +53 -0
  608. data/spec/models/return_transaction_spec.rb +1 -19
  609. data/spec/models/score_only_request_spec.rb +1 -1
  610. data/spec/models/score_only_response_fraud_score_explanations_spec.rb +1 -1
  611. data/spec/models/score_only_response_fraud_score_spec.rb +1 -1
  612. data/spec/models/score_only_response_spec.rb +1 -1
  613. data/spec/models/secondary_transaction_spec.rb +1 -1
  614. data/spec/models/{secure3d_authentication_result_spec.rb → secure3_d10_authentication_result_all_of_spec.rb} +8 -14
  615. data/spec/models/secure3_d10_authentication_result_spec.rb +67 -0
  616. data/spec/models/secure3_d21_authentication_result_all_of_spec.rb +73 -0
  617. data/spec/models/secure3_d21_authentication_result_spec.rb +73 -0
  618. data/spec/models/secure3d_authentication_request_spec.rb +1 -7
  619. data/spec/models/secure3d_authentication_verification_request_all_of_spec.rb +47 -0
  620. data/spec/models/secure3d_authentication_verification_request_spec.rb +1 -25
  621. data/spec/models/secure3d_response_spec.rb +1 -1
  622. data/spec/models/sender_info_spec.rb +95 -0
  623. data/spec/models/sepa_mandate_spec.rb +1 -1
  624. data/spec/models/sepa_payment_method_all_of_spec.rb +41 -0
  625. data/spec/models/sepa_payment_method_spec.rb +1 -1
  626. data/spec/models/sepa_sale_transaction_all_of_spec.rb +41 -0
  627. data/spec/models/sepa_sale_transaction_spec.rb +1 -37
  628. data/spec/models/sepa_spec.rb +1 -1
  629. data/spec/models/shipping_spec.rb +1 -1
  630. data/spec/models/soft_descriptor_spec.rb +1 -1
  631. data/spec/models/split_shipment_spec.rb +1 -1
  632. data/spec/models/stored_credential_spec.rb +1 -1
  633. data/spec/models/sub_merchant_data_spec.rb +1 -1
  634. data/spec/models/sub_merchant_split_spec.rb +1 -1
  635. data/spec/models/transaction_error_response_spec.rb +1 -1
  636. data/spec/models/transaction_origin_spec.rb +1 -1
  637. data/spec/models/transaction_response_spec.rb +1 -1
  638. data/spec/models/transaction_spec.rb +1 -1
  639. data/spec/models/transaction_type_spec.rb +1 -1
  640. data/spec/models/union_pay_authentication_request_all_of_spec.rb +41 -0
  641. data/spec/models/union_pay_authentication_request_spec.rb +1 -7
  642. data/spec/models/union_pay_authentication_verification_request_all_of_spec.rb +41 -0
  643. data/spec/models/union_pay_authentication_verification_request_spec.rb +1 -25
  644. data/spec/models/use_payment_token_spec.rb +1 -1
  645. data/spec/models/void_transaction_spec.rb +1 -19
  646. data/spec/models/wallet_payment_method_spec.rb +41 -0
  647. data/spec/models/wallet_pre_auth_transaction_all_of_spec.rb +53 -0
  648. data/spec/models/wallet_pre_auth_transaction_spec.rb +53 -0
  649. data/spec/models/wallet_sale_transaction_all_of_spec.rb +47 -0
  650. data/spec/models/wallet_sale_transaction_spec.rb +47 -0
  651. data/spec/spec_helper.rb +1 -1
  652. metadata +235 -10
  653. data/docs/PaymentMethod.md +0 -7
  654. data/docs/Secure3dAuthenticationResult.md +0 -12
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
5
 
6
- OpenAPI spec version: 6.6.0.20190329.001
6
+ The version of the OpenAPI document: 6.6.0.20190507.002
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -97,45 +97,52 @@ module OpenapiClient
97
97
  # Initializes the object
98
98
  # @param [Hash] attributes Model attributes in the form of hash
99
99
  def initialize(attributes = {})
100
- return unless attributes.is_a?(Hash)
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::AirlineTravelRoute` initialize method"
102
+ end
101
103
 
102
- # convert string to symbol for hash key
103
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ attributes = attributes.each_with_object({}) { |(k, v), h|
106
+ if (!self.class.attribute_map.key?(k.to_sym))
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::AirlineTravelRoute`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ end
109
+ h[k.to_sym] = v
110
+ }
104
111
 
105
- if attributes.has_key?(:'departureDate')
106
- self.departure_date = attributes[:'departureDate']
112
+ if attributes.key?(:'departure_date')
113
+ self.departure_date = attributes[:'departure_date']
107
114
  end
108
115
 
109
- if attributes.has_key?(:'origin')
116
+ if attributes.key?(:'origin')
110
117
  self.origin = attributes[:'origin']
111
118
  end
112
119
 
113
- if attributes.has_key?(:'destination')
120
+ if attributes.key?(:'destination')
114
121
  self.destination = attributes[:'destination']
115
122
  end
116
123
 
117
- if attributes.has_key?(:'carrierCode')
118
- self.carrier_code = attributes[:'carrierCode']
124
+ if attributes.key?(:'carrier_code')
125
+ self.carrier_code = attributes[:'carrier_code']
119
126
  end
120
127
 
121
- if attributes.has_key?(:'serviceClass')
122
- self.service_class = attributes[:'serviceClass']
128
+ if attributes.key?(:'service_class')
129
+ self.service_class = attributes[:'service_class']
123
130
  end
124
131
 
125
- if attributes.has_key?(:'stopoverType')
126
- self.stopover_type = attributes[:'stopoverType']
132
+ if attributes.key?(:'stopover_type')
133
+ self.stopover_type = attributes[:'stopover_type']
127
134
  end
128
135
 
129
- if attributes.has_key?(:'fareBasisCode')
130
- self.fare_basis_code = attributes[:'fareBasisCode']
136
+ if attributes.key?(:'fare_basis_code')
137
+ self.fare_basis_code = attributes[:'fare_basis_code']
131
138
  end
132
139
 
133
- if attributes.has_key?(:'departureTax')
134
- self.departure_tax = attributes[:'departureTax']
140
+ if attributes.key?(:'departure_tax')
141
+ self.departure_tax = attributes[:'departure_tax']
135
142
  end
136
143
 
137
- if attributes.has_key?(:'flightNumber')
138
- self.flight_number = attributes[:'flightNumber']
144
+ if attributes.key?(:'flight_number')
145
+ self.flight_number = attributes[:'flight_number']
139
146
  end
140
147
  end
141
148
 
@@ -181,7 +188,7 @@ module OpenapiClient
181
188
  return false if !@destination.nil? && @destination.to_s.length > 3
182
189
  return false if !@carrier_code.nil? && @carrier_code.to_s.length > 2
183
190
  return false if !@service_class.nil? && @service_class.to_s.length > 1
184
- stopover_type_validator = EnumAttributeValidator.new('String', ['DIRECT', 'STOPOVER'])
191
+ stopover_type_validator = EnumAttributeValidator.new('String', ["DIRECT", "STOPOVER"])
185
192
  return false unless stopover_type_validator.valid?(@stopover_type)
186
193
  return false if !@fare_basis_code.nil? && @fare_basis_code.to_s.length > 2
187
194
  return false if !@departure_tax.nil? && @departure_tax > 999999999999
@@ -232,9 +239,9 @@ module OpenapiClient
232
239
  # Custom attribute writer method checking allowed values (enum).
233
240
  # @param [Object] stopover_type Object to be assigned
234
241
  def stopover_type=(stopover_type)
235
- validator = EnumAttributeValidator.new('String', ['DIRECT', 'STOPOVER'])
242
+ validator = EnumAttributeValidator.new('String', ["DIRECT", "STOPOVER"])
236
243
  unless validator.valid?(stopover_type)
237
- fail ArgumentError, 'invalid value for "stopover_type", must be one of #{validator.allowable_values}.'
244
+ fail ArgumentError, "invalid value for \"stopover_type\", must be one of #{validator.allowable_values}."
238
245
  end
239
246
  @stopover_type = stopover_type
240
247
  end
@@ -292,11 +299,18 @@ module OpenapiClient
292
299
  end
293
300
 
294
301
  # Calculates hash code according to all attributes.
295
- # @return [Fixnum] Hash code
302
+ # @return [Integer] Hash code
296
303
  def hash
297
304
  [departure_date, origin, destination, carrier_code, service_class, stopover_type, fare_basis_code, departure_tax, flight_number].hash
298
305
  end
299
306
 
307
+ # Builds the object from hash
308
+ # @param [Hash] attributes Model attributes in the form of hash
309
+ # @return [Object] Returns the model itself
310
+ def self.build_from_hash(attributes)
311
+ new.build_from_hash(attributes)
312
+ end
313
+
300
314
  # Builds the object from hash
301
315
  # @param [Hash] attributes Model attributes in the form of hash
302
316
  # @return [Object] Returns the model itself
@@ -304,7 +318,7 @@ module OpenapiClient
304
318
  return nil unless attributes.is_a?(Hash)
305
319
  self.class.openapi_types.each_pair do |key, type|
306
320
  if type =~ /\AArray<(.*)>/i
307
- # check to ensure the input is an array given that the the attribute
321
+ # check to ensure the input is an array given that the attribute
308
322
  # is documented as an array but the input is not
309
323
  if attributes[self.class.attribute_map[key]].is_a?(Array)
310
324
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -333,7 +347,7 @@ module OpenapiClient
333
347
  value.to_i
334
348
  when :Float
335
349
  value.to_f
336
- when :BOOLEAN
350
+ when :Boolean
337
351
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
338
352
  true
339
353
  else
@@ -354,8 +368,7 @@ module OpenapiClient
354
368
  end
355
369
  end
356
370
  else # model
357
- temp_model = OpenapiClient.const_get(type).new
358
- temp_model.build_from_hash(value)
371
+ OpenapiClient.const_get(type).build_from_hash(value)
359
372
  end
360
373
  end
361
374
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
5
 
6
- OpenAPI spec version: 6.6.0.20190329.001
6
+ The version of the OpenAPI document: 6.6.0.20190507.002
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -13,12 +13,12 @@ OpenAPI Generator version: unset
13
13
  require 'date'
14
14
 
15
15
  module OpenapiClient
16
- # The payment object for AliPay transactions. Use this to populate Alipay payment method details.
16
+ # The payment object for AliPay transactions. Use this to populate AliPay payment method details.
17
17
  class AliPay
18
18
  # Use this to indicate the type of machine-readable payment data for scanning.
19
19
  attr_accessor :payment_data_type
20
20
 
21
- # Use this to send payment related information, such as customer identity ID.
21
+ # Use this to send payment-related information, such as customer identity ID.
22
22
  attr_accessor :payment_data
23
23
 
24
24
  # Use this to send an order title that shows up in the statement.
@@ -72,25 +72,32 @@ module OpenapiClient
72
72
  # Initializes the object
73
73
  # @param [Hash] attributes Model attributes in the form of hash
74
74
  def initialize(attributes = {})
75
- return unless attributes.is_a?(Hash)
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::AliPay` initialize method"
77
+ end
76
78
 
77
- # convert string to symbol for hash key
78
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::AliPay`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
+ end
84
+ h[k.to_sym] = v
85
+ }
79
86
 
80
- if attributes.has_key?(:'paymentDataType')
81
- self.payment_data_type = attributes[:'paymentDataType']
87
+ if attributes.key?(:'payment_data_type')
88
+ self.payment_data_type = attributes[:'payment_data_type']
82
89
  end
83
90
 
84
- if attributes.has_key?(:'paymentData')
85
- self.payment_data = attributes[:'paymentData']
91
+ if attributes.key?(:'payment_data')
92
+ self.payment_data = attributes[:'payment_data']
86
93
  end
87
94
 
88
- if attributes.has_key?(:'orderTitle')
89
- self.order_title = attributes[:'orderTitle']
95
+ if attributes.key?(:'order_title')
96
+ self.order_title = attributes[:'order_title']
90
97
  end
91
98
 
92
- if attributes.has_key?(:'orderDetails')
93
- self.order_details = attributes[:'orderDetails']
99
+ if attributes.key?(:'order_details')
100
+ self.order_details = attributes[:'order_details']
94
101
  end
95
102
  end
96
103
 
@@ -110,6 +117,11 @@ module OpenapiClient
110
117
  invalid_properties.push('invalid value for "payment_data", the character length must be smaller than or equal to 100.')
111
118
  end
112
119
 
120
+ pattern = Regexp.new(/^(?!\s*$).+/)
121
+ if @payment_data !~ pattern
122
+ invalid_properties.push("invalid value for \"payment_data\", must conform to the pattern #{pattern}.")
123
+ end
124
+
113
125
  if @order_title.nil?
114
126
  invalid_properties.push('invalid value for "order_title", order_title cannot be nil.')
115
127
  end
@@ -118,6 +130,11 @@ module OpenapiClient
118
130
  invalid_properties.push('invalid value for "order_title", the character length must be smaller than or equal to 100.')
119
131
  end
120
132
 
133
+ pattern = Regexp.new(/^(?!\s*$).+/)
134
+ if @order_title !~ pattern
135
+ invalid_properties.push("invalid value for \"order_title\", must conform to the pattern #{pattern}.")
136
+ end
137
+
121
138
  if @order_details.nil?
122
139
  invalid_properties.push('invalid value for "order_details", order_details cannot be nil.')
123
140
  end
@@ -126,6 +143,11 @@ module OpenapiClient
126
143
  invalid_properties.push('invalid value for "order_details", the character length must be smaller than or equal to 1024.')
127
144
  end
128
145
 
146
+ pattern = Regexp.new(/^(?!\s*$).+/)
147
+ if @order_details !~ pattern
148
+ invalid_properties.push("invalid value for \"order_details\", must conform to the pattern #{pattern}.")
149
+ end
150
+
129
151
  invalid_properties
130
152
  end
131
153
 
@@ -133,23 +155,26 @@ module OpenapiClient
133
155
  # @return true if the model is valid
134
156
  def valid?
135
157
  return false if @payment_data_type.nil?
136
- payment_data_type_validator = EnumAttributeValidator.new('String', ['BARCODE', 'QRCODE'])
158
+ payment_data_type_validator = EnumAttributeValidator.new('String', ["BARCODE", "QRCODE"])
137
159
  return false unless payment_data_type_validator.valid?(@payment_data_type)
138
160
  return false if @payment_data.nil?
139
161
  return false if @payment_data.to_s.length > 100
162
+ return false if @payment_data !~ Regexp.new(/^(?!\s*$).+/)
140
163
  return false if @order_title.nil?
141
164
  return false if @order_title.to_s.length > 100
165
+ return false if @order_title !~ Regexp.new(/^(?!\s*$).+/)
142
166
  return false if @order_details.nil?
143
167
  return false if @order_details.to_s.length > 1024
168
+ return false if @order_details !~ Regexp.new(/^(?!\s*$).+/)
144
169
  true
145
170
  end
146
171
 
147
172
  # Custom attribute writer method checking allowed values (enum).
148
173
  # @param [Object] payment_data_type Object to be assigned
149
174
  def payment_data_type=(payment_data_type)
150
- validator = EnumAttributeValidator.new('String', ['BARCODE', 'QRCODE'])
175
+ validator = EnumAttributeValidator.new('String', ["BARCODE", "QRCODE"])
151
176
  unless validator.valid?(payment_data_type)
152
- fail ArgumentError, 'invalid value for "payment_data_type", must be one of #{validator.allowable_values}.'
177
+ fail ArgumentError, "invalid value for \"payment_data_type\", must be one of #{validator.allowable_values}."
153
178
  end
154
179
  @payment_data_type = payment_data_type
155
180
  end
@@ -165,6 +190,11 @@ module OpenapiClient
165
190
  fail ArgumentError, 'invalid value for "payment_data", the character length must be smaller than or equal to 100.'
166
191
  end
167
192
 
193
+ pattern = Regexp.new(/^(?!\s*$).+/)
194
+ if payment_data !~ pattern
195
+ fail ArgumentError, "invalid value for \"payment_data\", must conform to the pattern #{pattern}."
196
+ end
197
+
168
198
  @payment_data = payment_data
169
199
  end
170
200
 
@@ -179,6 +209,11 @@ module OpenapiClient
179
209
  fail ArgumentError, 'invalid value for "order_title", the character length must be smaller than or equal to 100.'
180
210
  end
181
211
 
212
+ pattern = Regexp.new(/^(?!\s*$).+/)
213
+ if order_title !~ pattern
214
+ fail ArgumentError, "invalid value for \"order_title\", must conform to the pattern #{pattern}."
215
+ end
216
+
182
217
  @order_title = order_title
183
218
  end
184
219
 
@@ -193,6 +228,11 @@ module OpenapiClient
193
228
  fail ArgumentError, 'invalid value for "order_details", the character length must be smaller than or equal to 1024.'
194
229
  end
195
230
 
231
+ pattern = Regexp.new(/^(?!\s*$).+/)
232
+ if order_details !~ pattern
233
+ fail ArgumentError, "invalid value for \"order_details\", must conform to the pattern #{pattern}."
234
+ end
235
+
196
236
  @order_details = order_details
197
237
  end
198
238
 
@@ -214,11 +254,18 @@ module OpenapiClient
214
254
  end
215
255
 
216
256
  # Calculates hash code according to all attributes.
217
- # @return [Fixnum] Hash code
257
+ # @return [Integer] Hash code
218
258
  def hash
219
259
  [payment_data_type, payment_data, order_title, order_details].hash
220
260
  end
221
261
 
262
+ # Builds the object from hash
263
+ # @param [Hash] attributes Model attributes in the form of hash
264
+ # @return [Object] Returns the model itself
265
+ def self.build_from_hash(attributes)
266
+ new.build_from_hash(attributes)
267
+ end
268
+
222
269
  # Builds the object from hash
223
270
  # @param [Hash] attributes Model attributes in the form of hash
224
271
  # @return [Object] Returns the model itself
@@ -226,7 +273,7 @@ module OpenapiClient
226
273
  return nil unless attributes.is_a?(Hash)
227
274
  self.class.openapi_types.each_pair do |key, type|
228
275
  if type =~ /\AArray<(.*)>/i
229
- # check to ensure the input is an array given that the the attribute
276
+ # check to ensure the input is an array given that the attribute
230
277
  # is documented as an array but the input is not
231
278
  if attributes[self.class.attribute_map[key]].is_a?(Array)
232
279
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -255,7 +302,7 @@ module OpenapiClient
255
302
  value.to_i
256
303
  when :Float
257
304
  value.to_f
258
- when :BOOLEAN
305
+ when :Boolean
259
306
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
260
307
  true
261
308
  else
@@ -276,8 +323,7 @@ module OpenapiClient
276
323
  end
277
324
  end
278
325
  else # model
279
- temp_model = OpenapiClient.const_get(type).new
280
- temp_model.build_from_hash(value)
326
+ OpenapiClient.const_get(type).build_from_hash(value)
281
327
  end
282
328
  end
283
329
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
5
 
6
- OpenAPI spec version: 6.6.0.20190329.001
6
+ The version of the OpenAPI document: 6.6.0.20190507.002
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -31,16 +31,31 @@ module OpenapiClient
31
31
  }
32
32
  end
33
33
 
34
+ # List of class defined in allOf (OpenAPI v3)
35
+ def self.openapi_all_of
36
+ [
37
+ :'AliPayPaymentMethodAllOf',
38
+ :'PaymentMethod'
39
+ ]
40
+ end
41
+
34
42
  # Initializes the object
35
43
  # @param [Hash] attributes Model attributes in the form of hash
36
44
  def initialize(attributes = {})
37
- return unless attributes.is_a?(Hash)
45
+ if (!attributes.is_a?(Hash))
46
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::AliPayPaymentMethod` initialize method"
47
+ end
38
48
 
39
- # convert string to symbol for hash key
40
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
49
+ # check to see if the attribute exists and convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h|
51
+ if (!self.class.attribute_map.key?(k.to_sym))
52
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::AliPayPaymentMethod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
53
+ end
54
+ h[k.to_sym] = v
55
+ }
41
56
 
42
- if attributes.has_key?(:'aliPay')
43
- self.ali_pay = attributes[:'aliPay']
57
+ if attributes.key?(:'ali_pay')
58
+ self.ali_pay = attributes[:'ali_pay']
44
59
  end
45
60
  end
46
61
 
@@ -77,11 +92,18 @@ module OpenapiClient
77
92
  end
78
93
 
79
94
  # Calculates hash code according to all attributes.
80
- # @return [Fixnum] Hash code
95
+ # @return [Integer] Hash code
81
96
  def hash
82
97
  [ali_pay].hash
83
98
  end
84
99
 
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def self.build_from_hash(attributes)
104
+ new.build_from_hash(attributes)
105
+ end
106
+
85
107
  # Builds the object from hash
86
108
  # @param [Hash] attributes Model attributes in the form of hash
87
109
  # @return [Object] Returns the model itself
@@ -89,7 +111,7 @@ module OpenapiClient
89
111
  return nil unless attributes.is_a?(Hash)
90
112
  self.class.openapi_types.each_pair do |key, type|
91
113
  if type =~ /\AArray<(.*)>/i
92
- # check to ensure the input is an array given that the the attribute
114
+ # check to ensure the input is an array given that the attribute
93
115
  # is documented as an array but the input is not
94
116
  if attributes[self.class.attribute_map[key]].is_a?(Array)
95
117
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -118,7 +140,7 @@ module OpenapiClient
118
140
  value.to_i
119
141
  when :Float
120
142
  value.to_f
121
- when :BOOLEAN
143
+ when :Boolean
122
144
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
123
145
  true
124
146
  else
@@ -139,8 +161,7 @@ module OpenapiClient
139
161
  end
140
162
  end
141
163
  else # model
142
- temp_model = OpenapiClient.const_get(type).new
143
- temp_model.build_from_hash(value)
164
+ OpenapiClient.const_get(type).build_from_hash(value)
144
165
  end
145
166
  end
146
167
 
@@ -0,0 +1,201 @@
1
+ =begin
2
+ #Payment Gateway API Specification.
3
+
4
+ #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
+
6
+ The version of the OpenAPI document: 6.6.0.20190507.002
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OpenapiClient
16
+ class AliPayPaymentMethodAllOf
17
+ attr_accessor :ali_pay
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'ali_pay' => :'aliPay'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.openapi_types
28
+ {
29
+ :'ali_pay' => :'AliPay'
30
+ }
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ if (!attributes.is_a?(Hash))
37
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::AliPayPaymentMethodAllOf` initialize method"
38
+ end
39
+
40
+ # check to see if the attribute exists and convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h|
42
+ if (!self.class.attribute_map.key?(k.to_sym))
43
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::AliPayPaymentMethodAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
44
+ end
45
+ h[k.to_sym] = v
46
+ }
47
+
48
+ if attributes.key?(:'ali_pay')
49
+ self.ali_pay = attributes[:'ali_pay']
50
+ end
51
+ end
52
+
53
+ # Show invalid properties with the reasons. Usually used together with valid?
54
+ # @return Array for valid properties with the reasons
55
+ def list_invalid_properties
56
+ invalid_properties = Array.new
57
+ if @ali_pay.nil?
58
+ invalid_properties.push('invalid value for "ali_pay", ali_pay cannot be nil.')
59
+ end
60
+
61
+ invalid_properties
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ def valid?
67
+ return false if @ali_pay.nil?
68
+ true
69
+ end
70
+
71
+ # Checks equality by comparing each attribute.
72
+ # @param [Object] Object to be compared
73
+ def ==(o)
74
+ return true if self.equal?(o)
75
+ self.class == o.class &&
76
+ ali_pay == o.ali_pay
77
+ end
78
+
79
+ # @see the `==` method
80
+ # @param [Object] Object to be compared
81
+ def eql?(o)
82
+ self == o
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ def hash
88
+ [ali_pay].hash
89
+ end
90
+
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def self.build_from_hash(attributes)
95
+ new.build_from_hash(attributes)
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.openapi_types.each_pair do |key, type|
104
+ if type =~ /\AArray<(.*)>/i
105
+ # check to ensure the input is an array given that the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Deserializes the data based on type
119
+ # @param string type Data type
120
+ # @param string value Value to be deserialized
121
+ # @return [Object] Deserialized data
122
+ def _deserialize(type, value)
123
+ case type.to_sym
124
+ when :DateTime
125
+ DateTime.parse(value)
126
+ when :Date
127
+ Date.parse(value)
128
+ when :String
129
+ value.to_s
130
+ when :Integer
131
+ value.to_i
132
+ when :Float
133
+ value.to_f
134
+ when :Boolean
135
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
136
+ true
137
+ else
138
+ false
139
+ end
140
+ when :Object
141
+ # generic object (usually a Hash), return directly
142
+ value
143
+ when /\AArray<(?<inner_type>.+)>\z/
144
+ inner_type = Regexp.last_match[:inner_type]
145
+ value.map { |v| _deserialize(inner_type, v) }
146
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
147
+ k_type = Regexp.last_match[:k_type]
148
+ v_type = Regexp.last_match[:v_type]
149
+ {}.tap do |hash|
150
+ value.each do |k, v|
151
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
152
+ end
153
+ end
154
+ else # model
155
+ OpenapiClient.const_get(type).build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ # Outputs non-array value in the form of hash
184
+ # For object, use to_hash. Otherwise, just return the value
185
+ # @param [Object] value Any valid value
186
+ # @return [Hash] Returns the value in the form of hash
187
+ def _to_hash(value)
188
+ if value.is_a?(Array)
189
+ value.compact.map { |v| _to_hash(v) }
190
+ elsif value.is_a?(Hash)
191
+ {}.tap do |hash|
192
+ value.each { |k, v| hash[k] = _to_hash(v) }
193
+ end
194
+ elsif value.respond_to? :to_hash
195
+ value.to_hash
196
+ else
197
+ value
198
+ end
199
+ end
200
+ end
201
+ end