first_data_gateway 1.5.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (909) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +260 -25
  4. data/docs/ACSResponse.md +17 -0
  5. data/docs/AVSResponse.md +3 -1
  6. data/docs/AccessTokenRequest.md +21 -0
  7. data/docs/AccessTokenResponse.md +13 -5
  8. data/docs/AccountInfoLookupRequest.md +19 -0
  9. data/docs/AccountVerificationRequest.md +25 -0
  10. data/docs/AchCreditTransaction.md +17 -0
  11. data/docs/AchPostAuthTransaction.md +17 -0
  12. data/docs/AchPostAuthTransactionAllOf.md +17 -0
  13. data/docs/AchPreAuthTransaction.md +17 -0
  14. data/docs/AchPreAuthTransactionAllOf.md +17 -0
  15. data/docs/{Secure3dAuthenticationRequest.md → AchRecurringType.md} +2 -2
  16. data/docs/AchResponse.md +25 -0
  17. data/docs/AchReturnTransaction.md +17 -0
  18. data/docs/AchSaleTransaction.md +17 -0
  19. data/docs/AchVoidTransaction.md +17 -0
  20. data/docs/AdditionalDetails.md +15 -1
  21. data/docs/AdditionalTransactionDetails.md +3 -1
  22. data/docs/Amount.md +1 -1
  23. data/docs/AmountComponents.md +2 -2
  24. data/docs/AuthenticationApi.md +5 -3
  25. data/docs/AuthenticationRequest.md +17 -0
  26. data/docs/AuthenticationResult.md +17 -0
  27. data/docs/AuthenticationUpdateRequest.md +21 -0
  28. data/docs/Background.md +23 -0
  29. data/docs/BackgroundColor.md +21 -0
  30. data/docs/Body.md +17 -0
  31. data/docs/Borders.md +17 -0
  32. data/docs/BrandingStyleConfigurationRequest.md +17 -0
  33. data/docs/BrandingStyleConfigurationResponse.md +23 -0
  34. data/docs/BrandingStyleConfigurationResult.md +19 -0
  35. data/docs/Button.md +19 -0
  36. data/docs/ChinaDomestic.md +3 -1
  37. data/docs/ClassicMode.md +35 -0
  38. data/docs/ClearingDetails.md +25 -0
  39. data/docs/ClearingElement.md +21 -0
  40. data/docs/CombinedMode.md +23 -0
  41. data/docs/ConnectMode.md +16 -0
  42. data/docs/Content.md +17 -0
  43. data/docs/CurrencyConversionResponse.md +19 -0
  44. data/docs/DCCExchangeRateRequest.md +1 -1
  45. data/docs/DCCExchangeRateRequestAllOf.md +1 -1
  46. data/docs/DecryptedApplePay.md +2 -6
  47. data/docs/DecryptedGooglePay.md +2 -6
  48. data/docs/DecryptedSamsungPay.md +2 -6
  49. data/docs/DeleteBrandingStyleConfigurationResponse.md +25 -0
  50. data/docs/EmailNotificationData.md +25 -0
  51. data/docs/EndpointResponse.md +21 -0
  52. data/docs/ExchangeRateDetails.md +33 -0
  53. data/docs/ExchangeRateResponse.md +4 -20
  54. data/docs/Expiration.md +1 -1
  55. data/docs/FontFace.md +16 -0
  56. data/docs/FontProperties.md +23 -0
  57. data/docs/FontWeight.md +16 -0
  58. data/docs/Footer.md +17 -0
  59. data/docs/FraudOrder.md +3 -1
  60. data/docs/FraudOrderItems.md +4 -4
  61. data/docs/Header.md +17 -0
  62. data/docs/Hover.md +17 -0
  63. data/docs/IdInfo.md +19 -0
  64. data/docs/IndustrySpecificExtensions.md +3 -1
  65. data/docs/InformationLookupApi.md +132 -0
  66. data/docs/InitiateClearingResponse.md +27 -0
  67. data/docs/InitiateClearingResponseAllOf.md +21 -0
  68. data/docs/Logo.md +21 -0
  69. data/docs/MasterpassWalletPaymentMethod.md +19 -0
  70. data/docs/MasterpassWalletPaymentMethodAllOf.md +19 -0
  71. data/docs/Mcc6012.md +27 -0
  72. data/docs/Mobile.md +19 -0
  73. data/docs/MobileHeaderArea.md +17 -0
  74. data/docs/OrderApi.md +2 -2
  75. data/docs/PaymentApi.md +14 -14
  76. data/docs/PaymentCard.md +0 -2
  77. data/docs/PaymentCardInfoLookupRequest.md +17 -0
  78. data/docs/PaymentCardInfoLookupRequestAllOf.md +17 -0
  79. data/docs/PaymentCardPaymentTokenUpdateRequest.md +21 -0
  80. data/docs/PaymentCardPreAuthTransaction.md +7 -1
  81. data/docs/PaymentCardPreAuthTransactionAllOf.md +7 -1
  82. data/docs/PaymentCardSaleTransaction.md +5 -1
  83. data/docs/PaymentCardSaleTransactionAllOf.md +5 -1
  84. data/docs/PaymentCardVerificationRequest.md +17 -0
  85. data/docs/PaymentCardVerificationRequestAllOf.md +17 -0
  86. data/docs/PaymentDevicePreAuthTransaction.md +3 -1
  87. data/docs/PaymentDevicePreAuthTransactionAllOf.md +3 -1
  88. data/docs/PaymentTokenApi.md +130 -0
  89. data/docs/PaymentTokenInfoLookupRequest.md +17 -0
  90. data/docs/PaymentTokenInfoLookupRequestAllOf.md +17 -0
  91. data/docs/PaymentTokenPreAuthTransaction.md +7 -1
  92. data/docs/PaymentTokenPreAuthTransactionAllOf.md +7 -1
  93. data/docs/PaymentTokenSaleTransaction.md +5 -1
  94. data/docs/PaymentTokenSaleTransactionAllOf.md +5 -1
  95. data/docs/PaymentTokenUpdateResponse.md +27 -0
  96. data/docs/PaymentTokenVerificationRequest.md +17 -0
  97. data/docs/PaymentTokenVerificationRequestAllOf.md +17 -0
  98. data/docs/PaymentTokenizationErrorResponse.md +4 -0
  99. data/docs/PaymentTokenizationRequest.md +5 -1
  100. data/docs/PaymentTokenizationResponse.md +5 -1
  101. data/docs/PaymentURLApi.md +2 -2
  102. data/docs/PaymentUrlRequest.md +1 -1
  103. data/docs/Primary.md +17 -0
  104. data/docs/ProcessorData.md +3 -1
  105. data/docs/Properties.md +25 -0
  106. data/docs/Receipt.md +19 -0
  107. data/docs/ReceiptRequestInfo.md +21 -0
  108. data/docs/ResponseAmountComponents.md +2 -2
  109. data/docs/ScoreOnlyResponse.md +3 -5
  110. data/docs/ScoreOnlyResponseFraudScore.md +3 -1
  111. data/docs/SecondaryTransaction.md +5 -1
  112. data/docs/Secure3D10AuthenticationRequest.md +16 -0
  113. data/docs/{Secure3dAuthenticationVerificationRequest.md → Secure3D10AuthenticationUpdateRequest.md} +5 -3
  114. data/docs/{Secure3dAuthenticationVerificationRequestAllOf.md → Secure3D10AuthenticationUpdateRequestAllOf.md} +5 -3
  115. data/docs/Secure3D21AuthenticationRequest.md +23 -0
  116. data/docs/Secure3D21AuthenticationRequestAllOf.md +23 -0
  117. data/docs/Secure3D21AuthenticationResult.md +2 -2
  118. data/docs/Secure3D21AuthenticationResultAllOf.md +2 -2
  119. data/docs/Secure3D21AuthenticationUpdateRequest.md +19 -0
  120. data/docs/Secure3D21AuthenticationUpdateRequestAllOf.md +19 -0
  121. data/docs/Secure3DAuthenticationResponse.md +23 -0
  122. data/docs/Secure3DAuthenticationResponseParams.md +27 -0
  123. data/docs/Secure3DAuthenticationResponseSecure3dMethod.md +35 -0
  124. data/docs/SoftDescriptor.md +5 -1
  125. data/docs/StoreBrandingStyleConfiguration.md +21 -0
  126. data/docs/StoreEmailSettings.md +19 -0
  127. data/docs/StoreEmailSettingsResult.md +19 -0
  128. data/docs/StoredCredential.md +1 -1
  129. data/docs/TeleCheckAchPaymentMethod.md +53 -0
  130. data/docs/TeleCheckAchPaymentMethodAchBillTo.md +35 -0
  131. data/docs/TeleCheckCBPPaymentMethod.md +16 -0
  132. data/docs/TeleCheckICAPaymentMethod.md +21 -0
  133. data/docs/TeleCheckICAPaymentMethodAllOf.md +21 -0
  134. data/docs/Text.md +19 -0
  135. data/docs/Title.md +17 -0
  136. data/docs/TopBar.md +17 -0
  137. data/docs/TransactionErrorResponse.md +10 -4
  138. data/docs/TransactionResponse.md +11 -5
  139. data/docs/UnionPayAuthenticationUpdateRequest.md +19 -0
  140. data/docs/UnionPayAuthenticationUpdateRequestAllOf.md +19 -0
  141. data/docs/UpdateEmailSettingsRequest.md +17 -0
  142. data/docs/UpdateEmailSettingsResponse.md +23 -0
  143. data/docs/UpdatePaymentToken.md +23 -0
  144. data/docs/VerificationApi.md +132 -0
  145. data/docs/VoidPreAuthTransactions.md +16 -0
  146. data/docs/WalletPreAuthTransaction.md +3 -1
  147. data/docs/WalletPreAuthTransactionAllOf.md +3 -1
  148. data/first_data_gateway.gemspec +6 -7
  149. data/git_push.sh +10 -7
  150. data/lib/openapi_client.rb +96 -13
  151. data/lib/openapi_client/.DS_Store +0 -0
  152. data/lib/openapi_client/api/authentication_api.rb +17 -9
  153. data/lib/openapi_client/api/currency_conversion_api.rb +6 -6
  154. data/lib/openapi_client/api/fraud_detect_api.rb +14 -20
  155. data/lib/openapi_client/api/information_lookup_api.rb +228 -0
  156. data/lib/openapi_client/api/order_api.rb +11 -12
  157. data/lib/openapi_client/api/payment_api.rb +36 -40
  158. data/lib/openapi_client/api/payment_schedules_api.rb +16 -17
  159. data/lib/openapi_client/api/payment_token_api.rb +222 -10
  160. data/lib/openapi_client/api/payment_url_api.rb +14 -14
  161. data/lib/openapi_client/api/verification_api.rb +228 -0
  162. data/lib/openapi_client/api_client.rb +15 -29
  163. data/lib/openapi_client/api_error.rb +2 -2
  164. data/lib/openapi_client/configuration.rb +3 -4
  165. data/lib/openapi_client/models/access_token_request.rb +242 -0
  166. data/lib/openapi_client/models/access_token_response.rb +81 -66
  167. data/lib/openapi_client/models/{authentication_verification_request.rb → account_info_lookup_request.rb} +39 -49
  168. data/lib/openapi_client/models/account_updater_response.rb +21 -12
  169. data/lib/openapi_client/models/account_verification_request.rb +285 -0
  170. data/lib/openapi_client/models/ach_credit_transaction.rb +223 -0
  171. data/lib/openapi_client/models/ach_post_auth_transaction.rb +223 -0
  172. data/lib/openapi_client/models/{funding_transaction_type_all_of.rb → ach_post_auth_transaction_all_of.rb} +36 -41
  173. data/lib/openapi_client/models/ach_pre_auth_transaction.rb +223 -0
  174. data/lib/openapi_client/models/ach_pre_auth_transaction_all_of.rb +210 -0
  175. data/lib/openapi_client/models/ach_recurring_type.rb +36 -0
  176. data/lib/openapi_client/models/ach_response.rb +307 -0
  177. data/lib/openapi_client/models/ach_return_transaction.rb +223 -0
  178. data/lib/openapi_client/models/ach_sale_transaction.rb +223 -0
  179. data/lib/openapi_client/models/ach_void_transaction.rb +223 -0
  180. data/lib/openapi_client/models/acs_response.rb +207 -0
  181. data/lib/openapi_client/models/additional_amount_rate.rb +21 -12
  182. data/lib/openapi_client/models/additional_details.rb +198 -16
  183. data/lib/openapi_client/models/additional_transaction_details.rb +39 -18
  184. data/lib/openapi_client/models/address.rb +21 -12
  185. data/lib/openapi_client/models/airline.rb +21 -12
  186. data/lib/openapi_client/models/airline_ancillary_service_category.rb +21 -12
  187. data/lib/openapi_client/models/airline_travel_route.rb +21 -12
  188. data/lib/openapi_client/models/ali_pay.rb +21 -12
  189. data/lib/openapi_client/models/ali_pay_payment_method.rb +21 -12
  190. data/lib/openapi_client/models/ali_pay_payment_method_all_of.rb +21 -12
  191. data/lib/openapi_client/models/ali_pay_sale_transaction.rb +24 -102
  192. data/lib/openapi_client/models/ali_pay_sale_transaction_all_of.rb +22 -100
  193. data/lib/openapi_client/models/amount.rb +41 -13
  194. data/lib/openapi_client/models/amount_components.rb +21 -12
  195. data/lib/openapi_client/models/authentication_request.rb +217 -0
  196. data/lib/openapi_client/models/authentication_result.rb +217 -0
  197. data/lib/openapi_client/models/authentication_update_request.rb +251 -0
  198. data/lib/openapi_client/models/avs_response.rb +35 -16
  199. data/lib/openapi_client/models/background.rb +233 -0
  200. data/lib/openapi_client/models/{authentication_redirect_params.rb → background_color.rb} +44 -38
  201. data/lib/openapi_client/models/bancontact_qr.rb +21 -12
  202. data/lib/openapi_client/models/basic_response.rb +21 -12
  203. data/lib/openapi_client/models/billing.rb +21 -12
  204. data/lib/openapi_client/models/billing_address.rb +21 -12
  205. data/lib/openapi_client/models/block_card.rb +21 -12
  206. data/lib/openapi_client/models/block_domain.rb +21 -12
  207. data/lib/openapi_client/models/block_ip_address.rb +21 -12
  208. data/lib/openapi_client/models/block_name.rb +21 -12
  209. data/lib/openapi_client/models/blocked_card_number.rb +21 -12
  210. data/lib/openapi_client/models/blocked_items.rb +21 -12
  211. data/lib/openapi_client/models/body.rb +223 -0
  212. data/lib/openapi_client/models/borders.rb +223 -0
  213. data/lib/openapi_client/models/branding_style_configuration_request.rb +208 -0
  214. data/lib/openapi_client/models/branding_style_configuration_response.rb +243 -0
  215. data/lib/openapi_client/models/{disbursement_transaction_type_all_of.rb → branding_style_configuration_result.rb} +39 -38
  216. data/lib/openapi_client/models/button.rb +215 -0
  217. data/lib/openapi_client/models/car_rental.rb +21 -12
  218. data/lib/openapi_client/models/car_rental_extra_charges.rb +21 -12
  219. data/lib/openapi_client/models/card.rb +21 -12
  220. data/lib/openapi_client/models/card_function.rb +2 -2
  221. data/lib/openapi_client/models/card_info.rb +21 -12
  222. data/lib/openapi_client/models/card_info_lookup_request.rb +21 -12
  223. data/lib/openapi_client/models/card_info_lookup_response.rb +21 -12
  224. data/lib/openapi_client/models/card_verification_request.rb +21 -12
  225. data/lib/openapi_client/models/china_domestic.rb +50 -16
  226. data/lib/openapi_client/models/china_domestic_payment_method.rb +21 -12
  227. data/lib/openapi_client/models/china_domestic_payment_method_all_of.rb +21 -12
  228. data/lib/openapi_client/models/china_pn_r_sale_transaction.rb +24 -102
  229. data/lib/openapi_client/models/china_pn_r_sale_transaction_all_of.rb +22 -100
  230. data/lib/openapi_client/models/classic_mode.rb +287 -0
  231. data/lib/openapi_client/models/clearing_details.rb +338 -0
  232. data/lib/openapi_client/models/clearing_element.rb +227 -0
  233. data/lib/openapi_client/models/client_locale.rb +21 -12
  234. data/lib/openapi_client/models/client_registration.rb +21 -12
  235. data/lib/openapi_client/models/combined_mode.rb +233 -0
  236. data/lib/openapi_client/models/connect_mode.rb +36 -0
  237. data/lib/openapi_client/models/contact.rb +21 -12
  238. data/lib/openapi_client/models/content.rb +223 -0
  239. data/lib/openapi_client/models/country_profile.rb +21 -12
  240. data/lib/openapi_client/models/create_payment_token.rb +21 -12
  241. data/lib/openapi_client/models/currency_conversion.rb +21 -12
  242. data/lib/openapi_client/models/currency_conversion_response.rb +216 -0
  243. data/lib/openapi_client/models/customer.rb +21 -12
  244. data/lib/openapi_client/models/customer_address.rb +21 -12
  245. data/lib/openapi_client/models/dcc.rb +24 -52
  246. data/lib/openapi_client/models/dcc_all_of.rb +22 -50
  247. data/lib/openapi_client/models/dcc_exchange_rate_request.rb +25 -61
  248. data/lib/openapi_client/models/dcc_exchange_rate_request_all_of.rb +23 -59
  249. data/lib/openapi_client/models/decrypted_apple_pay.rb +31 -91
  250. data/lib/openapi_client/models/decrypted_apple_pay_wallet_payment_method.rb +24 -25
  251. data/lib/openapi_client/models/decrypted_apple_pay_wallet_payment_method_all_of.rb +22 -23
  252. data/lib/openapi_client/models/decrypted_google_pay.rb +31 -91
  253. data/lib/openapi_client/models/decrypted_google_pay_wallet_payment_method.rb +24 -25
  254. data/lib/openapi_client/models/decrypted_google_pay_wallet_payment_method_all_of.rb +22 -23
  255. data/lib/openapi_client/models/decrypted_samsung_pay.rb +31 -91
  256. data/lib/openapi_client/models/decrypted_samsung_pay_wallet_payment_method.rb +24 -25
  257. data/lib/openapi_client/models/decrypted_samsung_pay_wallet_payment_method_all_of.rb +22 -23
  258. data/lib/openapi_client/models/delete_branding_style_configuration_response.rb +252 -0
  259. data/lib/openapi_client/models/device.rb +21 -12
  260. data/lib/openapi_client/models/disbursement.rb +21 -12
  261. data/lib/openapi_client/models/disbursement_transaction_type.rb +26 -46
  262. data/lib/openapi_client/models/document.rb +21 -12
  263. data/lib/openapi_client/models/dynamic_pricing.rb +24 -52
  264. data/lib/openapi_client/models/dynamic_pricing_all_of.rb +22 -50
  265. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request.rb +24 -60
  266. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request_all_of.rb +22 -58
  267. data/lib/openapi_client/models/email_notification_data.rb +247 -0
  268. data/lib/openapi_client/models/encrypted_apple_pay.rb +21 -12
  269. data/lib/openapi_client/models/encrypted_apple_pay_header.rb +21 -12
  270. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method.rb +24 -25
  271. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method_all_of.rb +22 -23
  272. data/lib/openapi_client/models/encrypted_google_pay.rb +21 -12
  273. data/lib/openapi_client/models/encrypted_google_pay_data.rb +21 -12
  274. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method.rb +24 -25
  275. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method_all_of.rb +22 -23
  276. data/lib/openapi_client/models/encrypted_samsung_pay.rb +21 -12
  277. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method.rb +24 -25
  278. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method_all_of.rb +22 -23
  279. data/lib/openapi_client/models/endpoint_response.rb +261 -0
  280. data/lib/openapi_client/models/error.rb +21 -12
  281. data/lib/openapi_client/models/error_details.rb +21 -12
  282. data/lib/openapi_client/models/error_message.rb +21 -12
  283. data/lib/openapi_client/models/error_response.rb +21 -12
  284. data/lib/openapi_client/models/exchange_rate_details.rb +287 -0
  285. data/lib/openapi_client/models/exchange_rate_request.rb +21 -12
  286. data/lib/openapi_client/models/exchange_rate_response.rb +29 -101
  287. data/lib/openapi_client/models/expiration.rb +25 -16
  288. data/lib/openapi_client/models/font_face.rb +39 -0
  289. data/lib/openapi_client/models/font_properties.rb +252 -0
  290. data/lib/openapi_client/models/font_weight.rb +36 -0
  291. data/lib/openapi_client/models/footer.rb +223 -0
  292. data/lib/openapi_client/models/fraud_address.rb +21 -12
  293. data/lib/openapi_client/models/fraud_order.rb +32 -13
  294. data/lib/openapi_client/models/fraud_order_items.rb +26 -15
  295. data/lib/openapi_client/models/fraud_registration.rb +21 -12
  296. data/lib/openapi_client/models/fraud_registration_card.rb +21 -12
  297. data/lib/openapi_client/models/fraud_registration_device.rb +21 -12
  298. data/lib/openapi_client/models/fraud_registration_device_items.rb +21 -12
  299. data/lib/openapi_client/models/fraud_registration_error.rb +21 -12
  300. data/lib/openapi_client/models/fraud_registration_response.rb +22 -13
  301. data/lib/openapi_client/models/fraud_score.rb +21 -12
  302. data/lib/openapi_client/models/fraud_settings.rb +21 -12
  303. data/lib/openapi_client/models/fraud_settings_response.rb +21 -12
  304. data/lib/openapi_client/models/frequency.rb +21 -12
  305. data/lib/openapi_client/models/funding_transaction_type.rb +26 -46
  306. data/lib/openapi_client/models/header.rb +223 -0
  307. data/lib/openapi_client/models/hover.rb +223 -0
  308. data/lib/openapi_client/models/id_info.rb +256 -0
  309. data/lib/openapi_client/models/industry_specific_extensions.rb +34 -16
  310. data/lib/openapi_client/models/initiate_clearing_response.rb +298 -0
  311. data/lib/openapi_client/models/initiate_clearing_response_all_of.rb +261 -0
  312. data/lib/openapi_client/models/installment_options.rb +21 -12
  313. data/lib/openapi_client/models/issuer_response.rb +21 -12
  314. data/lib/openapi_client/models/items.rb +21 -12
  315. data/lib/openapi_client/models/location.rb +21 -12
  316. data/lib/openapi_client/models/lockout_time.rb +21 -12
  317. data/lib/openapi_client/models/lodging.rb +21 -12
  318. data/lib/openapi_client/models/lodging_extra_charges.rb +21 -12
  319. data/lib/openapi_client/models/logo.rb +276 -0
  320. data/lib/openapi_client/models/loyalty.rb +21 -12
  321. data/lib/openapi_client/models/masterpass_wallet_payment_method.rb +268 -0
  322. data/lib/openapi_client/models/masterpass_wallet_payment_method_all_of.rb +255 -0
  323. data/lib/openapi_client/models/maximum_purchase_amount.rb +21 -12
  324. data/lib/openapi_client/models/mcc6012.rb +347 -0
  325. data/lib/openapi_client/models/merchant.rb +21 -12
  326. data/lib/openapi_client/models/method.rb +21 -12
  327. data/lib/openapi_client/models/mobile.rb +216 -0
  328. data/lib/openapi_client/models/mobile_header_area.rb +223 -0
  329. data/lib/openapi_client/models/order.rb +21 -12
  330. data/lib/openapi_client/models/order_error_response.rb +21 -12
  331. data/lib/openapi_client/models/order_response.rb +21 -12
  332. data/lib/openapi_client/models/pay_pal.rb +21 -12
  333. data/lib/openapi_client/models/pay_pal_payment_method.rb +21 -12
  334. data/lib/openapi_client/models/pay_pal_payment_method_all_of.rb +21 -12
  335. data/lib/openapi_client/models/payment.rb +21 -12
  336. data/lib/openapi_client/models/payment_card.rb +22 -22
  337. data/lib/openapi_client/models/payment_card_credit_transaction.rb +24 -102
  338. data/lib/openapi_client/models/payment_card_disbursement_transaction.rb +24 -102
  339. data/lib/openapi_client/models/payment_card_disbursement_transaction_all_of.rb +22 -100
  340. data/lib/openapi_client/models/payment_card_forced_ticket_transaction.rb +24 -102
  341. data/lib/openapi_client/models/payment_card_forced_ticket_transaction_all_of.rb +22 -100
  342. data/lib/openapi_client/models/payment_card_info_lookup_request.rb +223 -0
  343. data/lib/openapi_client/models/payment_card_info_lookup_request_all_of.rb +210 -0
  344. data/lib/openapi_client/models/payment_card_payer_auth_transaction.rb +24 -102
  345. data/lib/openapi_client/models/payment_card_payer_auth_transaction_all_of.rb +22 -100
  346. data/lib/openapi_client/models/payment_card_payment_method.rb +21 -12
  347. data/lib/openapi_client/models/payment_card_payment_method_all_of.rb +21 -12
  348. data/lib/openapi_client/models/{void_transaction_all_of.rb → payment_card_payment_token_update_request.rb} +52 -25
  349. data/lib/openapi_client/models/payment_card_payment_tokenization_request.rb +24 -80
  350. data/lib/openapi_client/models/payment_card_payment_tokenization_request_all_of.rb +22 -78
  351. data/lib/openapi_client/models/payment_card_pre_auth_transaction.rb +58 -105
  352. data/lib/openapi_client/models/payment_card_pre_auth_transaction_all_of.rb +55 -103
  353. data/lib/openapi_client/models/payment_card_sale_transaction.rb +47 -105
  354. data/lib/openapi_client/models/payment_card_sale_transaction_all_of.rb +43 -103
  355. data/lib/openapi_client/models/payment_card_verification_request.rb +223 -0
  356. data/lib/openapi_client/models/payment_card_verification_request_all_of.rb +210 -0
  357. data/lib/openapi_client/models/payment_device.rb +21 -12
  358. data/lib/openapi_client/models/payment_device_credit_transaction.rb +24 -102
  359. data/lib/openapi_client/models/payment_device_credit_transaction_all_of.rb +22 -100
  360. data/lib/openapi_client/models/payment_device_disbursement_transaction.rb +24 -102
  361. data/lib/openapi_client/models/payment_device_disbursement_transaction_all_of.rb +22 -100
  362. data/lib/openapi_client/models/payment_device_payment_method.rb +21 -12
  363. data/lib/openapi_client/models/payment_device_payment_method_all_of.rb +21 -12
  364. data/lib/openapi_client/models/payment_device_payment_tokenization_request.rb +24 -80
  365. data/lib/openapi_client/models/payment_device_payment_tokenization_request_all_of.rb +22 -78
  366. data/lib/openapi_client/models/payment_device_pre_auth_transaction.rb +39 -105
  367. data/lib/openapi_client/models/payment_device_pre_auth_transaction_all_of.rb +37 -103
  368. data/lib/openapi_client/models/payment_device_sale_transaction.rb +24 -102
  369. data/lib/openapi_client/models/payment_device_sale_transaction_all_of.rb +22 -100
  370. data/lib/openapi_client/models/payment_facilitator.rb +21 -12
  371. data/lib/openapi_client/models/payment_method_details.rb +21 -12
  372. data/lib/openapi_client/models/payment_method_payment_schedules_request.rb +24 -232
  373. data/lib/openapi_client/models/payment_method_payment_schedules_request_all_of.rb +22 -230
  374. data/lib/openapi_client/models/payment_method_type.rb +3 -2
  375. data/lib/openapi_client/models/payment_registration.rb +21 -12
  376. data/lib/openapi_client/models/payment_schedules_error_response.rb +21 -12
  377. data/lib/openapi_client/models/payment_schedules_request.rb +21 -12
  378. data/lib/openapi_client/models/payment_schedules_response.rb +21 -12
  379. data/lib/openapi_client/models/payment_token_credit_transaction.rb +24 -102
  380. data/lib/openapi_client/models/payment_token_credit_transaction_all_of.rb +22 -100
  381. data/lib/openapi_client/models/payment_token_details.rb +21 -12
  382. data/lib/openapi_client/models/payment_token_details_all_of.rb +22 -47
  383. data/lib/openapi_client/models/payment_token_disbursement_transaction.rb +24 -102
  384. data/lib/openapi_client/models/payment_token_disbursement_transaction_all_of.rb +22 -100
  385. data/lib/openapi_client/models/payment_token_info_lookup_request.rb +223 -0
  386. data/lib/openapi_client/models/{secure3d_authentication_request_all_of.rb → payment_token_info_lookup_request_all_of.rb} +36 -23
  387. data/lib/openapi_client/models/payment_token_payment_method.rb +21 -12
  388. data/lib/openapi_client/models/payment_token_payment_method_all_of.rb +21 -12
  389. data/lib/openapi_client/models/payment_token_pre_auth_transaction.rb +57 -105
  390. data/lib/openapi_client/models/payment_token_pre_auth_transaction_all_of.rb +55 -103
  391. data/lib/openapi_client/models/payment_token_sale_transaction.rb +45 -105
  392. data/lib/openapi_client/models/payment_token_sale_transaction_all_of.rb +43 -103
  393. data/lib/openapi_client/models/payment_token_update_response.rb +297 -0
  394. data/lib/openapi_client/models/payment_token_verification_request.rb +223 -0
  395. data/lib/openapi_client/models/payment_token_verification_request_all_of.rb +210 -0
  396. data/lib/openapi_client/models/payment_tokenization_error_response.rb +72 -13
  397. data/lib/openapi_client/models/payment_tokenization_request.rb +59 -16
  398. data/lib/openapi_client/models/payment_tokenization_response.rb +75 -16
  399. data/lib/openapi_client/models/payment_url_detail.rb +21 -12
  400. data/lib/openapi_client/models/payment_url_detail_response.rb +21 -12
  401. data/lib/openapi_client/models/payment_url_error_response.rb +21 -12
  402. data/lib/openapi_client/models/payment_url_request.rb +21 -12
  403. data/lib/openapi_client/models/payment_url_response.rb +21 -12
  404. data/lib/openapi_client/models/payment_url_status.rb +2 -2
  405. data/lib/openapi_client/models/paypal_credit_transaction.rb +24 -102
  406. data/lib/openapi_client/models/paypal_credit_transaction_all_of.rb +22 -100
  407. data/lib/openapi_client/models/phone.rb +21 -12
  408. data/lib/openapi_client/models/post_auth_transaction.rb +24 -60
  409. data/lib/openapi_client/models/post_auth_transaction_all_of.rb +22 -58
  410. data/lib/openapi_client/models/primary.rb +223 -0
  411. data/lib/openapi_client/models/primary_transaction.rb +21 -12
  412. data/lib/openapi_client/models/processor_data.rb +35 -16
  413. data/lib/openapi_client/models/properties.rb +279 -0
  414. data/lib/openapi_client/models/purchase_cards.rb +21 -12
  415. data/lib/openapi_client/models/purchase_cards_level2.rb +21 -12
  416. data/lib/openapi_client/models/purchase_cards_level3.rb +21 -12
  417. data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +21 -12
  418. data/lib/openapi_client/models/{authentication_redirect.rb → receipt.rb} +48 -36
  419. data/lib/openapi_client/models/receipt_request_info.rb +268 -0
  420. data/lib/openapi_client/models/receiver_info.rb +59 -41
  421. data/lib/openapi_client/models/recurring_payment_details.rb +21 -12
  422. data/lib/openapi_client/models/recurring_payment_details_response.rb +21 -12
  423. data/lib/openapi_client/models/referenced_order_payment_schedules_request.rb +24 -232
  424. data/lib/openapi_client/models/referenced_order_payment_schedules_request_all_of.rb +22 -230
  425. data/lib/openapi_client/models/referenced_order_payment_tokenization_request.rb +24 -80
  426. data/lib/openapi_client/models/referenced_order_payment_tokenization_request_all_of.rb +22 -78
  427. data/lib/openapi_client/models/registration_method.rb +21 -12
  428. data/lib/openapi_client/models/remove_fraud_blocked_items_response.rb +21 -12
  429. data/lib/openapi_client/models/response_amount_components.rb +21 -12
  430. data/lib/openapi_client/models/response_amount_components_all_of.rb +22 -73
  431. data/lib/openapi_client/models/response_type.rb +2 -3
  432. data/lib/openapi_client/models/return_transaction.rb +24 -60
  433. data/lib/openapi_client/models/return_transaction_all_of.rb +22 -58
  434. data/lib/openapi_client/models/score_only_request.rb +21 -12
  435. data/lib/openapi_client/models/score_only_response.rb +31 -32
  436. data/lib/openapi_client/models/score_only_response_fraud_score.rb +28 -19
  437. data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +21 -12
  438. data/lib/openapi_client/models/secondary_transaction.rb +59 -16
  439. data/lib/openapi_client/models/{secure3d_authentication_request.rb → secure3_d10_authentication_request.rb} +30 -32
  440. data/lib/openapi_client/models/secure3_d10_authentication_result.rb +26 -27
  441. data/lib/openapi_client/models/secure3_d10_authentication_result_all_of.rb +22 -23
  442. data/lib/openapi_client/models/{secure3d_authentication_verification_request.rb → secure3_d10_authentication_update_request.rb} +43 -78
  443. data/lib/openapi_client/models/{secure3d_authentication_verification_request_all_of.rb → secure3_d10_authentication_update_request_all_of.rb} +38 -73
  444. data/lib/openapi_client/models/secure3_d21_authentication_request.rb +297 -0
  445. data/lib/openapi_client/models/secure3_d21_authentication_request_all_of.rb +284 -0
  446. data/lib/openapi_client/models/secure3_d21_authentication_result.rb +30 -29
  447. data/lib/openapi_client/models/secure3_d21_authentication_result_all_of.rb +25 -24
  448. data/lib/openapi_client/models/secure3_d21_authentication_update_request.rb +262 -0
  449. data/lib/openapi_client/models/secure3_d21_authentication_update_request_all_of.rb +249 -0
  450. data/lib/openapi_client/models/secure3_d_authentication_response.rb +281 -0
  451. data/lib/openapi_client/models/secure3_d_authentication_response_params.rb +257 -0
  452. data/lib/openapi_client/models/secure3_d_authentication_response_secure3d_method.rb +217 -0
  453. data/lib/openapi_client/models/secure3d_response.rb +21 -12
  454. data/lib/openapi_client/models/sender_info.rb +59 -41
  455. data/lib/openapi_client/models/sepa.rb +21 -12
  456. data/lib/openapi_client/models/sepa_mandate.rb +21 -12
  457. data/lib/openapi_client/models/sepa_payment_method.rb +21 -12
  458. data/lib/openapi_client/models/sepa_payment_method_all_of.rb +21 -12
  459. data/lib/openapi_client/models/sepa_sale_transaction.rb +24 -102
  460. data/lib/openapi_client/models/sepa_sale_transaction_all_of.rb +22 -100
  461. data/lib/openapi_client/models/shared_secret_configuration_request.rb +21 -12
  462. data/lib/openapi_client/models/shared_secret_configuration_response.rb +21 -12
  463. data/lib/openapi_client/models/ship_to_address.rb +21 -12
  464. data/lib/openapi_client/models/shipping.rb +21 -12
  465. data/lib/openapi_client/models/soft_descriptor.rb +70 -16
  466. data/lib/openapi_client/models/split_shipment.rb +21 -12
  467. data/lib/openapi_client/models/store_branding_style_configuration.rb +229 -0
  468. data/lib/openapi_client/models/store_email_settings.rb +226 -0
  469. data/lib/openapi_client/models/store_email_settings_result.rb +217 -0
  470. data/lib/openapi_client/models/store_fraud_settings.rb +21 -12
  471. data/lib/openapi_client/models/store_fraud_settings_result.rb +21 -12
  472. data/lib/openapi_client/models/store_url_configuration.rb +21 -12
  473. data/lib/openapi_client/models/store_url_configuration_request.rb +21 -12
  474. data/lib/openapi_client/models/store_url_configuration_response.rb +21 -12
  475. data/lib/openapi_client/models/store_url_configuration_result.rb +21 -12
  476. data/lib/openapi_client/models/stored_credential.rb +27 -18
  477. data/lib/openapi_client/models/sub_merchant_data.rb +21 -12
  478. data/lib/openapi_client/models/sub_merchant_split.rb +21 -12
  479. data/lib/openapi_client/models/tele_check_ach_payment_method.rb +784 -0
  480. data/lib/openapi_client/models/tele_check_ach_payment_method_ach_bill_to.rb +611 -0
  481. data/lib/openapi_client/models/tele_check_cbp_payment_method.rb +230 -0
  482. data/lib/openapi_client/models/tele_check_ica_payment_method.rb +321 -0
  483. data/lib/openapi_client/models/tele_check_ica_payment_method_all_of.rb +286 -0
  484. data/lib/openapi_client/models/{authentication.rb → text.rb} +41 -34
  485. data/lib/openapi_client/models/title.rb +223 -0
  486. data/lib/openapi_client/models/token_identifier.rb +21 -12
  487. data/lib/openapi_client/models/top_bar.rb +223 -0
  488. data/lib/openapi_client/models/transaction_error_response.rb +73 -21
  489. data/lib/openapi_client/models/transaction_origin.rb +2 -2
  490. data/lib/openapi_client/models/transaction_response.rb +76 -24
  491. data/lib/openapi_client/models/transaction_type.rb +2 -2
  492. data/lib/openapi_client/models/union_pay_authentication_request.rb +26 -27
  493. data/lib/openapi_client/models/union_pay_authentication_request_all_of.rb +22 -23
  494. data/lib/openapi_client/models/{union_pay_authentication_verification_request.rb → union_pay_authentication_update_request.rb} +40 -75
  495. data/lib/openapi_client/models/{union_pay_authentication_verification_request_all_of.rb → union_pay_authentication_update_request_all_of.rb} +35 -70
  496. data/lib/openapi_client/models/update_email_settings_request.rb +213 -0
  497. data/lib/openapi_client/models/update_email_settings_response.rb +244 -0
  498. data/lib/openapi_client/models/update_fraud_settings_request.rb +21 -12
  499. data/lib/openapi_client/models/update_fraud_settings_response.rb +21 -12
  500. data/lib/openapi_client/models/update_payment_token.rb +250 -0
  501. data/lib/openapi_client/models/use_payment_token.rb +21 -12
  502. data/lib/openapi_client/models/verification3ds.rb +21 -12
  503. data/lib/openapi_client/models/verification_avs.rb +21 -12
  504. data/lib/openapi_client/models/verification_cvv.rb +21 -12
  505. data/lib/openapi_client/models/void_pre_auth_transactions.rb +208 -0
  506. data/lib/openapi_client/models/void_transaction.rb +26 -63
  507. data/lib/openapi_client/models/wallet_payment_method.rb +22 -13
  508. data/lib/openapi_client/models/wallet_pre_auth_transaction.rb +39 -105
  509. data/lib/openapi_client/models/wallet_pre_auth_transaction_all_of.rb +37 -103
  510. data/lib/openapi_client/models/wallet_sale_transaction.rb +24 -102
  511. data/lib/openapi_client/models/wallet_sale_transaction_all_of.rb +22 -100
  512. data/lib/openapi_client/version.rb +3 -3
  513. data/lib/simple/gateway.rb +76 -8
  514. data/spec/api/authentication_api_spec.rb +3 -2
  515. data/spec/api/card_info_lookup_api_spec.rb +1 -1
  516. data/spec/api/card_verification_api_spec.rb +1 -1
  517. data/spec/api/currency_conversion_api_spec.rb +2 -2
  518. data/spec/api/fraud_detect_api_spec.rb +2 -2
  519. data/spec/api/information_lookup_api_spec.rb +71 -0
  520. data/spec/api/order_api_spec.rb +3 -3
  521. data/spec/api/payment_api_spec.rb +8 -8
  522. data/spec/api/payment_schedules_api_spec.rb +2 -2
  523. data/spec/api/payment_token_api_spec.rb +41 -2
  524. data/spec/api/payment_url_api_spec.rb +3 -3
  525. data/spec/api/verification_api_spec.rb +71 -0
  526. data/spec/api_client_spec.rb +3 -3
  527. data/spec/configuration_spec.rb +2 -2
  528. data/spec/models/access_token_request_spec.rb +53 -0
  529. data/spec/models/access_token_response_spec.rb +29 -9
  530. data/spec/models/account_info_lookup_request_spec.rb +47 -0
  531. data/spec/models/account_updater_response_spec.rb +2 -2
  532. data/spec/models/{authentication_verification_request_spec.rb → account_verification_request_spec.rb} +12 -12
  533. data/spec/models/ach_credit_transaction_spec.rb +41 -0
  534. data/spec/models/ach_post_auth_transaction_all_of_spec.rb +41 -0
  535. data/spec/models/ach_post_auth_transaction_spec.rb +41 -0
  536. data/spec/models/ach_pre_auth_transaction_all_of_spec.rb +41 -0
  537. data/spec/models/ach_pre_auth_transaction_spec.rb +41 -0
  538. data/spec/models/{secure3d_authentication_request_spec.rb → ach_recurring_type_spec.rb} +8 -8
  539. data/spec/models/ach_response_spec.rb +65 -0
  540. data/spec/models/ach_return_transaction_spec.rb +41 -0
  541. data/spec/models/ach_sale_transaction_spec.rb +41 -0
  542. data/spec/models/ach_void_transaction_spec.rb +41 -0
  543. data/spec/models/acs_response_spec.rb +41 -0
  544. data/spec/models/additional_amount_rate_spec.rb +2 -2
  545. data/spec/models/additional_details_spec.rb +26 -2
  546. data/spec/models/additional_transaction_details_spec.rb +3 -3
  547. data/spec/models/address_spec.rb +2 -2
  548. data/spec/models/airline_ancillary_service_category_spec.rb +2 -2
  549. data/spec/models/airline_spec.rb +2 -2
  550. data/spec/models/airline_travel_route_spec.rb +2 -2
  551. data/spec/models/ali_pay_payment_method_all_of_spec.rb +2 -2
  552. data/spec/models/ali_pay_payment_method_spec.rb +2 -2
  553. data/spec/models/ali_pay_sale_transaction_all_of_spec.rb +2 -2
  554. data/spec/models/ali_pay_sale_transaction_spec.rb +2 -2
  555. data/spec/models/ali_pay_spec.rb +2 -2
  556. data/spec/models/amount_components_spec.rb +2 -2
  557. data/spec/models/amount_spec.rb +2 -2
  558. data/spec/models/authentication_request_spec.rb +41 -0
  559. data/spec/models/{authentication_spec.rb → authentication_result_spec.rb} +9 -9
  560. data/spec/models/{authentication_redirect_params_spec.rb → authentication_update_request_spec.rb} +11 -11
  561. data/spec/models/avs_response_spec.rb +8 -2
  562. data/spec/models/background_color_spec.rb +53 -0
  563. data/spec/models/background_spec.rb +59 -0
  564. data/spec/models/bancontact_qr_spec.rb +2 -2
  565. data/spec/models/basic_response_spec.rb +2 -2
  566. data/spec/models/billing_address_spec.rb +2 -2
  567. data/spec/models/billing_spec.rb +2 -2
  568. data/spec/models/block_card_spec.rb +2 -2
  569. data/spec/models/block_domain_spec.rb +2 -2
  570. data/spec/models/block_ip_address_spec.rb +2 -2
  571. data/spec/models/block_name_spec.rb +2 -2
  572. data/spec/models/blocked_card_number_spec.rb +2 -2
  573. data/spec/models/blocked_items_spec.rb +2 -2
  574. data/spec/models/body_spec.rb +41 -0
  575. data/spec/models/borders_spec.rb +41 -0
  576. data/spec/models/branding_style_configuration_request_spec.rb +41 -0
  577. data/spec/models/branding_style_configuration_response_all_of_spec.rb +41 -0
  578. data/spec/models/branding_style_configuration_response_spec.rb +59 -0
  579. data/spec/models/branding_style_configuration_result_spec.rb +47 -0
  580. data/spec/models/button_spec.rb +47 -0
  581. data/spec/models/car_rental_extra_charges_spec.rb +2 -2
  582. data/spec/models/car_rental_spec.rb +2 -2
  583. data/spec/models/card_function_spec.rb +2 -2
  584. data/spec/models/card_info_lookup_request_spec.rb +2 -2
  585. data/spec/models/card_info_lookup_response_all_of_spec.rb +51 -0
  586. data/spec/models/card_info_lookup_response_spec.rb +2 -2
  587. data/spec/models/card_info_spec.rb +2 -2
  588. data/spec/models/card_spec.rb +2 -2
  589. data/spec/models/card_verification_request_spec.rb +2 -2
  590. data/spec/models/china_domestic_payment_method_all_of_spec.rb +2 -2
  591. data/spec/models/china_domestic_payment_method_spec.rb +2 -2
  592. data/spec/models/china_domestic_spec.rb +2 -2
  593. data/spec/models/china_pn_r_sale_transaction_all_of_spec.rb +2 -2
  594. data/spec/models/china_pn_r_sale_transaction_spec.rb +2 -2
  595. data/spec/models/classic_mode_spec.rb +95 -0
  596. data/spec/models/clearing_details_spec.rb +65 -0
  597. data/spec/models/clearing_element_spec.rb +53 -0
  598. data/spec/models/client_locale_spec.rb +2 -2
  599. data/spec/models/client_registration_all_of_spec.rb +41 -0
  600. data/spec/models/client_registration_spec.rb +2 -2
  601. data/spec/models/combined_mode_spec.rb +59 -0
  602. data/spec/models/connect_mode_spec.rb +35 -0
  603. data/spec/models/contact_spec.rb +2 -2
  604. data/spec/models/content_spec.rb +41 -0
  605. data/spec/models/country_profile_spec.rb +2 -2
  606. data/spec/models/create_payment_token_spec.rb +2 -2
  607. data/spec/models/currency_conversion_spec.rb +2 -2
  608. data/spec/models/customer_address_all_of_spec.rb +41 -0
  609. data/spec/models/customer_address_spec.rb +2 -2
  610. data/spec/models/customer_spec.rb +2 -2
  611. data/spec/models/dcc_all_of_spec.rb +2 -2
  612. data/spec/models/dcc_exchange_rate_request_all_of_spec.rb +2 -2
  613. data/spec/models/dcc_exchange_rate_request_spec.rb +2 -2
  614. data/spec/models/dcc_spec.rb +2 -2
  615. data/spec/models/decrypted_apple_pay_spec.rb +2 -2
  616. data/spec/models/decrypted_apple_pay_wallet_payment_method_all_of_spec.rb +2 -2
  617. data/spec/models/decrypted_apple_pay_wallet_payment_method_spec.rb +2 -2
  618. data/spec/models/decrypted_google_pay_spec.rb +2 -2
  619. data/spec/models/decrypted_google_pay_wallet_payment_method_all_of_spec.rb +2 -2
  620. data/spec/models/decrypted_google_pay_wallet_payment_method_spec.rb +2 -2
  621. data/spec/models/decrypted_samsung_pay_spec.rb +2 -2
  622. data/spec/models/decrypted_samsung_pay_wallet_payment_method_all_of_spec.rb +2 -2
  623. data/spec/models/decrypted_samsung_pay_wallet_payment_method_spec.rb +2 -2
  624. data/spec/models/delete_branding_style_configuration_response_all_of_spec.rb +47 -0
  625. data/spec/models/delete_branding_style_configuration_response_spec.rb +65 -0
  626. data/spec/models/device_spec.rb +2 -2
  627. data/spec/models/disbursement_spec.rb +2 -2
  628. data/spec/models/disbursement_transaction_type_all_of_spec.rb +41 -0
  629. data/spec/models/disbursement_transaction_type_spec.rb +8 -2
  630. data/spec/models/document_spec.rb +2 -2
  631. data/spec/models/dynamic_pricing_all_of_spec.rb +2 -2
  632. data/spec/models/dynamic_pricing_exchange_rate_request_all_of_spec.rb +2 -2
  633. data/spec/models/dynamic_pricing_exchange_rate_request_spec.rb +2 -2
  634. data/spec/models/dynamic_pricing_spec.rb +2 -2
  635. data/spec/models/email_notification_data_spec.rb +65 -0
  636. data/spec/models/encrypted_apple_pay_header_spec.rb +2 -2
  637. data/spec/models/encrypted_apple_pay_spec.rb +2 -2
  638. data/spec/models/encrypted_apple_pay_wallet_payment_method_all_of_spec.rb +2 -2
  639. data/spec/models/encrypted_apple_pay_wallet_payment_method_spec.rb +2 -2
  640. data/spec/models/encrypted_google_pay_data_spec.rb +2 -2
  641. data/spec/models/encrypted_google_pay_spec.rb +2 -2
  642. data/spec/models/encrypted_google_pay_wallet_payment_method_all_of_spec.rb +2 -2
  643. data/spec/models/encrypted_google_pay_wallet_payment_method_spec.rb +2 -2
  644. data/spec/models/encrypted_samsung_pay_spec.rb +2 -2
  645. data/spec/models/encrypted_samsung_pay_wallet_payment_method_all_of_spec.rb +2 -2
  646. data/spec/models/encrypted_samsung_pay_wallet_payment_method_spec.rb +2 -2
  647. data/spec/models/{authentication_redirect_spec.rb → endpoint_response_spec.rb} +15 -15
  648. data/spec/models/error_details_spec.rb +2 -2
  649. data/spec/models/error_message_spec.rb +2 -2
  650. data/spec/models/error_response_all_of_spec.rb +41 -0
  651. data/spec/models/error_response_spec.rb +2 -2
  652. data/spec/models/error_spec.rb +2 -2
  653. data/spec/models/exchange_rate_request_spec.rb +2 -2
  654. data/spec/models/exchange_rate_response_all_of_spec.rb +101 -0
  655. data/spec/models/exchange_rate_response_spec.rb +2 -2
  656. data/spec/models/expiration_spec.rb +2 -2
  657. data/spec/models/font_face_spec.rb +35 -0
  658. data/spec/models/font_properties_spec.rb +59 -0
  659. data/spec/models/font_weight_spec.rb +35 -0
  660. data/spec/models/footer_spec.rb +41 -0
  661. data/spec/models/fraud_address_spec.rb +2 -2
  662. data/spec/models/fraud_order_items_spec.rb +2 -2
  663. data/spec/models/fraud_order_spec.rb +2 -2
  664. data/spec/models/fraud_registration_card_spec.rb +2 -2
  665. data/spec/models/fraud_registration_device_items_spec.rb +2 -2
  666. data/spec/models/fraud_registration_device_spec.rb +2 -2
  667. data/spec/models/fraud_registration_error_spec.rb +2 -2
  668. data/spec/models/fraud_registration_response_spec.rb +2 -2
  669. data/spec/models/fraud_registration_spec.rb +2 -2
  670. data/spec/models/fraud_score_spec.rb +2 -2
  671. data/spec/models/fraud_settings_response_all_of_spec.rb +83 -0
  672. data/spec/models/fraud_settings_response_spec.rb +2 -2
  673. data/spec/models/fraud_settings_spec.rb +2 -2
  674. data/spec/models/frequency_spec.rb +2 -2
  675. data/spec/models/funding_transaction_type_all_of_spec.rb +41 -0
  676. data/spec/models/funding_transaction_type_spec.rb +8 -2
  677. data/spec/models/header_spec.rb +41 -0
  678. data/spec/models/hover_spec.rb +41 -0
  679. data/spec/models/id_info_spec.rb +47 -0
  680. data/spec/models/industry_specific_extensions_spec.rb +8 -2
  681. data/spec/models/initiate_clearing_response_all_of_spec.rb +57 -0
  682. data/spec/models/initiate_clearing_response_spec.rb +75 -0
  683. data/spec/models/installment_options_spec.rb +2 -2
  684. data/spec/models/issuer_response_spec.rb +2 -2
  685. data/spec/models/items_spec.rb +2 -2
  686. data/spec/models/location_spec.rb +2 -2
  687. data/spec/models/lockout_time_spec.rb +2 -2
  688. data/spec/models/lodging_extra_charges_spec.rb +2 -2
  689. data/spec/models/lodging_spec.rb +2 -2
  690. data/spec/models/logo_spec.rb +57 -0
  691. data/spec/models/loyalty_spec.rb +2 -2
  692. data/spec/models/masterpass_wallet_payment_method_all_of_spec.rb +47 -0
  693. data/spec/models/masterpass_wallet_payment_method_spec.rb +47 -0
  694. data/spec/models/maximum_purchase_amount_spec.rb +2 -2
  695. data/spec/models/mcc6012_spec.rb +71 -0
  696. data/spec/models/merchant_spec.rb +2 -2
  697. data/spec/models/method_spec.rb +2 -2
  698. data/spec/models/mobile_header_area_spec.rb +41 -0
  699. data/spec/models/mobile_spec.rb +47 -0
  700. data/spec/models/order_error_response_spec.rb +2 -2
  701. data/spec/models/order_response_all_of_spec.rb +65 -0
  702. data/spec/models/order_response_spec.rb +2 -2
  703. data/spec/models/order_spec.rb +2 -2
  704. data/spec/models/pay_pal_payment_method_all_of_spec.rb +2 -2
  705. data/spec/models/pay_pal_payment_method_spec.rb +2 -2
  706. data/spec/models/pay_pal_spec.rb +2 -2
  707. data/spec/models/payment_card_credit_transaction_spec.rb +2 -2
  708. data/spec/models/payment_card_disbursement_transaction_all_of_spec.rb +2 -2
  709. data/spec/models/payment_card_disbursement_transaction_spec.rb +2 -2
  710. data/spec/models/payment_card_forced_ticket_transaction_all_of_spec.rb +2 -2
  711. data/spec/models/payment_card_forced_ticket_transaction_spec.rb +2 -2
  712. data/spec/models/payment_card_info_lookup_request_all_of_spec.rb +41 -0
  713. data/spec/models/payment_card_info_lookup_request_spec.rb +41 -0
  714. data/spec/models/payment_card_payer_auth_transaction_all_of_spec.rb +2 -2
  715. data/spec/models/payment_card_payer_auth_transaction_spec.rb +2 -2
  716. data/spec/models/payment_card_payment_method_all_of_spec.rb +2 -2
  717. data/spec/models/payment_card_payment_method_spec.rb +2 -2
  718. data/spec/models/payment_card_payment_token_update_request_spec.rb +53 -0
  719. data/spec/models/payment_card_payment_tokenization_request_all_of_spec.rb +2 -2
  720. data/spec/models/payment_card_payment_tokenization_request_spec.rb +2 -2
  721. data/spec/models/payment_card_pre_auth_transaction_all_of_spec.rb +20 -2
  722. data/spec/models/payment_card_pre_auth_transaction_spec.rb +20 -2
  723. data/spec/models/payment_card_sale_transaction_all_of_spec.rb +20 -2
  724. data/spec/models/payment_card_sale_transaction_spec.rb +20 -2
  725. data/spec/models/payment_card_spec.rb +2 -8
  726. data/spec/models/payment_card_verification_request_all_of_spec.rb +41 -0
  727. data/spec/models/payment_card_verification_request_spec.rb +41 -0
  728. data/spec/models/payment_device_credit_transaction_all_of_spec.rb +2 -2
  729. data/spec/models/payment_device_credit_transaction_spec.rb +2 -2
  730. data/spec/models/payment_device_disbursement_transaction_all_of_spec.rb +2 -2
  731. data/spec/models/payment_device_disbursement_transaction_spec.rb +2 -2
  732. data/spec/models/payment_device_payment_method_all_of_spec.rb +2 -2
  733. data/spec/models/payment_device_payment_method_spec.rb +2 -2
  734. data/spec/models/payment_device_payment_tokenization_request_all_of_spec.rb +2 -2
  735. data/spec/models/payment_device_payment_tokenization_request_spec.rb +2 -2
  736. data/spec/models/payment_device_pre_auth_transaction_all_of_spec.rb +8 -2
  737. data/spec/models/payment_device_pre_auth_transaction_spec.rb +8 -2
  738. data/spec/models/payment_device_sale_transaction_all_of_spec.rb +2 -2
  739. data/spec/models/payment_device_sale_transaction_spec.rb +2 -2
  740. data/spec/models/payment_device_spec.rb +2 -2
  741. data/spec/models/payment_facilitator_spec.rb +2 -2
  742. data/spec/models/payment_method_details_spec.rb +2 -2
  743. data/spec/models/payment_method_payment_schedules_request_all_of_spec.rb +2 -2
  744. data/spec/models/payment_method_payment_schedules_request_spec.rb +2 -2
  745. data/spec/models/payment_method_type_spec.rb +2 -2
  746. data/spec/models/payment_registration_all_of_spec.rb +71 -0
  747. data/spec/models/payment_registration_spec.rb +2 -2
  748. data/spec/models/payment_schedules_error_response_spec.rb +2 -2
  749. data/spec/models/payment_schedules_request_spec.rb +2 -2
  750. data/spec/models/payment_schedules_response_all_of_spec.rb +57 -0
  751. data/spec/models/payment_schedules_response_spec.rb +2 -2
  752. data/spec/models/payment_spec.rb +2 -2
  753. data/spec/models/payment_token_credit_transaction_all_of_spec.rb +2 -2
  754. data/spec/models/payment_token_credit_transaction_spec.rb +2 -2
  755. data/spec/models/payment_token_details_all_of_spec.rb +2 -2
  756. data/spec/models/payment_token_details_spec.rb +2 -2
  757. data/spec/models/payment_token_disbursement_transaction_all_of_spec.rb +2 -2
  758. data/spec/models/payment_token_disbursement_transaction_spec.rb +2 -2
  759. data/spec/models/payment_token_info_lookup_request_all_of_spec.rb +41 -0
  760. data/spec/models/payment_token_info_lookup_request_spec.rb +41 -0
  761. data/spec/models/payment_token_payment_method_all_of_spec.rb +2 -2
  762. data/spec/models/payment_token_payment_method_spec.rb +2 -2
  763. data/spec/models/payment_token_pre_auth_transaction_all_of_spec.rb +20 -2
  764. data/spec/models/payment_token_pre_auth_transaction_spec.rb +20 -2
  765. data/spec/models/payment_token_sale_transaction_all_of_spec.rb +14 -2
  766. data/spec/models/payment_token_sale_transaction_spec.rb +14 -2
  767. data/spec/models/payment_token_update_response_all_of_spec.rb +57 -0
  768. data/spec/models/payment_token_update_response_spec.rb +75 -0
  769. data/spec/models/payment_token_verification_request_all_of_spec.rb +41 -0
  770. data/spec/models/payment_token_verification_request_spec.rb +41 -0
  771. data/spec/models/payment_tokenization_error_response_spec.rb +2 -2
  772. data/spec/models/payment_tokenization_request_spec.rb +8 -2
  773. data/spec/models/payment_tokenization_response_all_of_spec.rb +87 -0
  774. data/spec/models/payment_tokenization_response_spec.rb +2 -2
  775. data/spec/models/payment_url_detail_response_all_of_spec.rb +41 -0
  776. data/spec/models/payment_url_detail_response_spec.rb +2 -2
  777. data/spec/models/payment_url_detail_spec.rb +2 -2
  778. data/spec/models/payment_url_error_response_spec.rb +2 -2
  779. data/spec/models/payment_url_request_spec.rb +2 -2
  780. data/spec/models/payment_url_response_all_of_spec.rb +63 -0
  781. data/spec/models/payment_url_response_spec.rb +2 -2
  782. data/spec/models/payment_url_status_spec.rb +2 -2
  783. data/spec/models/paypal_credit_transaction_all_of_spec.rb +2 -2
  784. data/spec/models/paypal_credit_transaction_spec.rb +2 -2
  785. data/spec/models/phone_spec.rb +2 -2
  786. data/spec/models/post_auth_transaction_all_of_spec.rb +2 -2
  787. data/spec/models/post_auth_transaction_spec.rb +2 -2
  788. data/spec/models/primary_spec.rb +41 -0
  789. data/spec/models/primary_transaction_spec.rb +2 -2
  790. data/spec/models/processor_data_spec.rb +2 -2
  791. data/spec/models/properties_spec.rb +65 -0
  792. data/spec/models/purchase_cards_level2_spec.rb +2 -2
  793. data/spec/models/purchase_cards_level3_line_items_spec.rb +2 -2
  794. data/spec/models/purchase_cards_level3_spec.rb +2 -2
  795. data/spec/models/purchase_cards_spec.rb +2 -2
  796. data/spec/models/receiver_info_spec.rb +2 -2
  797. data/spec/models/recurring_payment_details_response_all_of_spec.rb +41 -0
  798. data/spec/models/recurring_payment_details_response_spec.rb +2 -2
  799. data/spec/models/recurring_payment_details_spec.rb +2 -2
  800. data/spec/models/referenced_order_payment_schedules_request_all_of_spec.rb +2 -2
  801. data/spec/models/referenced_order_payment_schedules_request_spec.rb +2 -2
  802. data/spec/models/referenced_order_payment_tokenization_request_all_of_spec.rb +2 -2
  803. data/spec/models/referenced_order_payment_tokenization_request_spec.rb +2 -2
  804. data/spec/models/registration_method_spec.rb +2 -2
  805. data/spec/models/remove_fraud_blocked_items_response_all_of_spec.rb +41 -0
  806. data/spec/models/remove_fraud_blocked_items_response_spec.rb +2 -2
  807. data/spec/models/response_amount_components_all_of_spec.rb +2 -2
  808. data/spec/models/response_amount_components_spec.rb +2 -2
  809. data/spec/models/response_type_spec.rb +2 -2
  810. data/spec/models/return_transaction_all_of_spec.rb +2 -2
  811. data/spec/models/return_transaction_spec.rb +2 -2
  812. data/spec/models/score_only_request_spec.rb +2 -2
  813. data/spec/models/score_only_response_fraud_score_explanations_spec.rb +2 -2
  814. data/spec/models/score_only_response_fraud_score_spec.rb +2 -2
  815. data/spec/models/score_only_response_spec.rb +2 -2
  816. data/spec/models/secondary_transaction_spec.rb +14 -2
  817. data/spec/models/secure3_d10_authentication_request_all_of_spec.rb +41 -0
  818. data/spec/models/secure3_d10_authentication_request_spec.rb +41 -0
  819. data/spec/models/secure3_d10_authentication_result_all_of_spec.rb +2 -2
  820. data/spec/models/secure3_d10_authentication_result_spec.rb +2 -2
  821. data/spec/models/{secure3d_authentication_verification_request_all_of_spec.rb → secure3_d10_authentication_update_request_all_of_spec.rb} +14 -8
  822. data/spec/models/{secure3d_authentication_verification_request_spec.rb → secure3_d10_authentication_update_request_spec.rb} +14 -8
  823. data/spec/models/secure3_d21_authentication_request_all_of_spec.rb +67 -0
  824. data/spec/models/secure3_d21_authentication_request_spec.rb +67 -0
  825. data/spec/models/secure3_d21_authentication_result_all_of_spec.rb +2 -2
  826. data/spec/models/secure3_d21_authentication_result_spec.rb +2 -2
  827. data/spec/models/secure3_d21_authentication_update_request_all_of_spec.rb +51 -0
  828. data/spec/models/secure3_d21_authentication_update_request_spec.rb +51 -0
  829. data/spec/models/secure3_d_authentication_response_params_spec.rb +71 -0
  830. data/spec/models/secure3_d_authentication_response_secure3d_method_spec.rb +47 -0
  831. data/spec/models/secure3_d_authentication_response_spec.rb +67 -0
  832. data/spec/models/secure3d_response_spec.rb +2 -2
  833. data/spec/models/sender_info_spec.rb +2 -2
  834. data/spec/models/sepa_mandate_spec.rb +2 -2
  835. data/spec/models/sepa_payment_method_all_of_spec.rb +2 -2
  836. data/spec/models/sepa_payment_method_spec.rb +2 -2
  837. data/spec/models/sepa_sale_transaction_all_of_spec.rb +2 -2
  838. data/spec/models/sepa_sale_transaction_spec.rb +2 -2
  839. data/spec/models/sepa_spec.rb +2 -2
  840. data/spec/models/shared_secret_configuration_request_spec.rb +2 -2
  841. data/spec/models/shared_secret_configuration_response_all_of_spec.rb +59 -0
  842. data/spec/models/shared_secret_configuration_response_spec.rb +2 -2
  843. data/spec/models/ship_to_address_spec.rb +2 -2
  844. data/spec/models/shipping_spec.rb +2 -2
  845. data/spec/models/soft_descriptor_spec.rb +2 -2
  846. data/spec/models/split_shipment_spec.rb +2 -2
  847. data/spec/models/store_branding_style_configuration_spec.rb +53 -0
  848. data/spec/models/store_email_settings_result_spec.rb +47 -0
  849. data/spec/models/store_email_settings_spec.rb +47 -0
  850. data/spec/models/store_fraud_settings_result_spec.rb +2 -2
  851. data/spec/models/store_fraud_settings_spec.rb +2 -2
  852. data/spec/models/store_url_configuration_request_spec.rb +2 -2
  853. data/spec/models/store_url_configuration_response_all_of_spec.rb +41 -0
  854. data/spec/models/store_url_configuration_response_spec.rb +2 -2
  855. data/spec/models/store_url_configuration_result_spec.rb +2 -2
  856. data/spec/models/store_url_configuration_spec.rb +2 -2
  857. data/spec/models/stored_credential_spec.rb +2 -2
  858. data/spec/models/sub_merchant_data_spec.rb +2 -2
  859. data/spec/models/sub_merchant_split_spec.rb +2 -2
  860. data/spec/models/tele_check_ach_payment_method_ach_bill_to_spec.rb +95 -0
  861. data/spec/models/tele_check_ach_payment_method_spec.rb +165 -0
  862. data/spec/models/tele_check_cbp_payment_method_all_of_spec.rb +41 -0
  863. data/spec/models/tele_check_cbp_payment_method_spec.rb +41 -0
  864. data/spec/models/tele_check_ica_payment_method_all_of_spec.rb +53 -0
  865. data/spec/models/tele_check_ica_payment_method_spec.rb +53 -0
  866. data/spec/models/text_spec.rb +47 -0
  867. data/spec/models/title_spec.rb +41 -0
  868. data/spec/models/token_identifier_spec.rb +2 -2
  869. data/spec/models/top_bar_spec.rb +41 -0
  870. data/spec/models/transaction_error_response_spec.rb +15 -3
  871. data/spec/models/transaction_origin_spec.rb +2 -2
  872. data/spec/models/transaction_response_all_of_spec.rb +175 -0
  873. data/spec/models/transaction_response_spec.rb +15 -3
  874. data/spec/models/transaction_type_spec.rb +2 -2
  875. data/spec/models/union_pay_authentication_request_all_of_spec.rb +2 -2
  876. data/spec/models/union_pay_authentication_request_spec.rb +2 -2
  877. data/spec/models/{union_pay_authentication_verification_request_all_of_spec.rb → union_pay_authentication_update_request_all_of_spec.rb} +14 -8
  878. data/spec/models/{union_pay_authentication_verification_request_spec.rb → union_pay_authentication_update_request_spec.rb} +14 -8
  879. data/spec/models/update_email_settings_request_spec.rb +41 -0
  880. data/spec/models/update_email_settings_response_all_of_spec.rb +41 -0
  881. data/spec/models/update_email_settings_response_spec.rb +59 -0
  882. data/spec/models/update_fraud_settings_request_spec.rb +2 -2
  883. data/spec/models/update_fraud_settings_response_all_of_spec.rb +41 -0
  884. data/spec/models/update_fraud_settings_response_spec.rb +2 -2
  885. data/spec/models/update_payment_token_spec.rb +59 -0
  886. data/spec/models/use_payment_token_spec.rb +2 -2
  887. data/spec/models/verification3ds_spec.rb +2 -2
  888. data/spec/models/verification_avs_spec.rb +2 -2
  889. data/spec/models/verification_cvv_spec.rb +2 -2
  890. data/spec/models/void_pre_auth_transactions_spec.rb +41 -0
  891. data/spec/models/void_transaction_all_of_spec.rb +41 -0
  892. data/spec/models/void_transaction_spec.rb +8 -2
  893. data/spec/models/wallet_payment_method_spec.rb +2 -2
  894. data/spec/models/wallet_pre_auth_transaction_all_of_spec.rb +8 -2
  895. data/spec/models/wallet_pre_auth_transaction_spec.rb +8 -2
  896. data/spec/models/wallet_sale_transaction_all_of_spec.rb +2 -2
  897. data/spec/models/wallet_sale_transaction_spec.rb +2 -2
  898. data/spec/spec_helper.rb +2 -2
  899. metadata +435 -55
  900. data/docs/Authentication.md +0 -17
  901. data/docs/AuthenticationRedirect.md +0 -21
  902. data/docs/AuthenticationRedirectParams.md +0 -21
  903. data/docs/AuthenticationVerificationRequest.md +0 -23
  904. data/docs/CardInfoLookupApi.md +0 -70
  905. data/docs/CardVerificationApi.md +0 -70
  906. data/docs/UnionPayAuthenticationVerificationRequest.md +0 -17
  907. data/docs/UnionPayAuthenticationVerificationRequestAllOf.md +0 -17
  908. data/lib/openapi_client/api/card_info_lookup_api.rb +0 -125
  909. data/lib/openapi_client/api/card_verification_api.rb +0 -125
@@ -3,10 +3,10 @@
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
- The version of the OpenAPI document: 6.9.1.20191223.002
6
+ The version of the OpenAPI document: 6.13.0.20200810.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: unset
9
+ OpenAPI Generator version: 4.1.1
10
10
 
11
11
  =end
12
12
 
@@ -116,17 +116,17 @@ module OpenapiClient
116
116
  # Builds the object from hash
117
117
  # @param [Hash] attributes Model attributes in the form of hash
118
118
  # @return [Object] Returns the model itself
119
- def build_from_hash(attributes)
119
+ def build_from_hash(attributes, attribute_map = self.class.attribute_map, openapi_types = self.class.openapi_types)
120
120
  return nil unless attributes.is_a?(Hash)
121
- self.class.openapi_types.each_pair do |key, type|
121
+ openapi_types.each_pair do |key, type|
122
122
  if type =~ /\AArray<(.*)>/i
123
123
  # check to ensure the input is an array given that the attribute
124
124
  # is documented as an array but the input is not
125
- if attributes[self.class.attribute_map[key]].is_a?(Array)
126
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
125
+ if attributes[attribute_map[key]].is_a?(Array)
126
+ self.send("#{key}=", attributes[attribute_map[key]].map { |v| _deserialize($1, v) })
127
127
  end
128
- elsif !attributes[self.class.attribute_map[key]].nil?
129
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
128
+ elsif !attributes[attribute_map[key]].nil?
129
+ self.send("#{key}=", _deserialize(type, attributes[attribute_map[key]]))
130
130
  end # or else data not found in attributes(hash), not an issue as the data can be optional
131
131
  end
132
132
 
@@ -170,7 +170,12 @@ module OpenapiClient
170
170
  end
171
171
  end
172
172
  else # model
173
- OpenapiClient.const_get(type).build_from_hash(value)
173
+ klass = OpenapiClient.const_get(type)
174
+ if klass.respond_to?(:openapi_discriminator_name)
175
+ klass = OpenapiClient.const_get(value[klass.attribute_map[klass.openapi_discriminator_name]])
176
+ end
177
+
178
+ klass.build_from_hash(value)
174
179
  end
175
180
  end
176
181
 
@@ -188,11 +193,15 @@ module OpenapiClient
188
193
 
189
194
  # Returns the object in the form of hash
190
195
  # @return [Hash] Returns the object in the form of hash
191
- def to_hash
196
+ def to_hash(attribute_map = self.class.attribute_map, openapi_nullable = Set.new([]))
192
197
  hash = {}
193
- self.class.attribute_map.each_pair do |attr, param|
198
+ attribute_map.each_pair do |attr, param|
194
199
  value = self.send(attr)
195
- next if value.nil?
200
+ if value.nil?
201
+ is_nullable = openapi_nullable.include?(attr)
202
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
203
+ end
204
+
196
205
  hash[param] = _to_hash(value)
197
206
  end
198
207
  hash
@@ -3,10 +3,10 @@
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
- The version of the OpenAPI document: 6.9.1.20191223.002
6
+ The version of the OpenAPI document: 6.13.0.20200810.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: unset
9
+ OpenAPI Generator version: 4.1.1
10
10
 
11
11
  =end
12
12
 
@@ -107,17 +107,17 @@ module OpenapiClient
107
107
  # Builds the object from hash
108
108
  # @param [Hash] attributes Model attributes in the form of hash
109
109
  # @return [Object] Returns the model itself
110
- def build_from_hash(attributes)
110
+ def build_from_hash(attributes, attribute_map = self.class.attribute_map, openapi_types = self.class.openapi_types)
111
111
  return nil unless attributes.is_a?(Hash)
112
- self.class.openapi_types.each_pair do |key, type|
112
+ openapi_types.each_pair do |key, type|
113
113
  if type =~ /\AArray<(.*)>/i
114
114
  # check to ensure the input is an array given that the attribute
115
115
  # is documented as an array but the input is not
116
- if attributes[self.class.attribute_map[key]].is_a?(Array)
117
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
116
+ if attributes[attribute_map[key]].is_a?(Array)
117
+ self.send("#{key}=", attributes[attribute_map[key]].map { |v| _deserialize($1, v) })
118
118
  end
119
- elsif !attributes[self.class.attribute_map[key]].nil?
120
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
119
+ elsif !attributes[attribute_map[key]].nil?
120
+ self.send("#{key}=", _deserialize(type, attributes[attribute_map[key]]))
121
121
  end # or else data not found in attributes(hash), not an issue as the data can be optional
122
122
  end
123
123
 
@@ -161,7 +161,12 @@ module OpenapiClient
161
161
  end
162
162
  end
163
163
  else # model
164
- OpenapiClient.const_get(type).build_from_hash(value)
164
+ klass = OpenapiClient.const_get(type)
165
+ if klass.respond_to?(:openapi_discriminator_name)
166
+ klass = OpenapiClient.const_get(value[klass.attribute_map[klass.openapi_discriminator_name]])
167
+ end
168
+
169
+ klass.build_from_hash(value)
165
170
  end
166
171
  end
167
172
 
@@ -179,11 +184,15 @@ module OpenapiClient
179
184
 
180
185
  # Returns the object in the form of hash
181
186
  # @return [Hash] Returns the object in the form of hash
182
- def to_hash
187
+ def to_hash(attribute_map = self.class.attribute_map, openapi_nullable = Set.new([]))
183
188
  hash = {}
184
- self.class.attribute_map.each_pair do |attr, param|
189
+ attribute_map.each_pair do |attr, param|
185
190
  value = self.send(attr)
186
- next if value.nil?
191
+ if value.nil?
192
+ is_nullable = openapi_nullable.include?(attr)
193
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
194
+ end
195
+
187
196
  hash[param] = _to_hash(value)
188
197
  end
189
198
  hash
@@ -3,10 +3,10 @@
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
- The version of the OpenAPI document: 6.9.1.20191223.002
6
+ The version of the OpenAPI document: 6.13.0.20200810.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: unset
9
+ OpenAPI Generator version: 4.1.1
10
10
 
11
11
  =end
12
12
 
@@ -15,21 +15,6 @@ require 'date'
15
15
  module OpenapiClient
16
16
  # Request to create pre-auth transaction using payment token.
17
17
  class PaymentTokenPreAuthTransaction < PrimaryTransaction
18
- # Object name of the primary transaction request.
19
- attr_accessor :request_type
20
-
21
- attr_accessor :transaction_amount
22
-
23
- # An optional outlet ID for clients that support multiple stores in the same app.
24
- attr_accessor :store_id
25
-
26
- # The unique merchant transaction ID from the request header, if supplied.
27
- attr_accessor :merchant_transaction_id
28
-
29
- attr_accessor :transaction_origin
30
-
31
- attr_accessor :order
32
-
33
18
  attr_accessor :payment_method
34
19
 
35
20
  attr_accessor :stored_credentials
@@ -39,35 +24,36 @@ module OpenapiClient
39
24
  # Settle with multiple sub-merchants, sale and preAuth only.
40
25
  attr_accessor :settlement_split
41
26
 
27
+ attr_accessor :authentication_request
28
+
29
+ attr_accessor :authentication_result
30
+
31
+ # This flag can only be used in a preAuth transaction that updates the amount of a previous preAuth transaction to either increase the preAuth amount (DecrementalPreAuthFlag = false) or decrease the preAuth amount (DecrementalPreAuthFlag = true).
32
+ attr_accessor :decremental_flag
33
+
42
34
  # Attribute mapping from ruby-style variable name to JSON key.
43
35
  def self.attribute_map
44
36
  {
45
- :'request_type' => :'requestType',
46
- :'transaction_amount' => :'transactionAmount',
47
- :'store_id' => :'storeId',
48
- :'merchant_transaction_id' => :'merchantTransactionId',
49
- :'transaction_origin' => :'transactionOrigin',
50
- :'order' => :'order',
51
37
  :'payment_method' => :'paymentMethod',
52
38
  :'stored_credentials' => :'storedCredentials',
53
39
  :'split_shipment' => :'splitShipment',
54
- :'settlement_split' => :'settlementSplit'
40
+ :'settlement_split' => :'settlementSplit',
41
+ :'authentication_request' => :'authenticationRequest',
42
+ :'authentication_result' => :'authenticationResult',
43
+ :'decremental_flag' => :'decrementalFlag'
55
44
  }
56
45
  end
57
46
 
58
47
  # Attribute type mapping.
59
48
  def self.openapi_types
60
49
  {
61
- :'request_type' => :'String',
62
- :'transaction_amount' => :'Amount',
63
- :'store_id' => :'String',
64
- :'merchant_transaction_id' => :'String',
65
- :'transaction_origin' => :'TransactionOrigin',
66
- :'order' => :'Order',
67
50
  :'payment_method' => :'PaymentTokenPaymentMethod',
68
51
  :'stored_credentials' => :'StoredCredential',
69
52
  :'split_shipment' => :'SplitShipment',
70
- :'settlement_split' => :'Array<SubMerchantSplit>'
53
+ :'settlement_split' => :'Array<SubMerchantSplit>',
54
+ :'authentication_request' => :'AuthenticationRequest',
55
+ :'authentication_result' => :'AuthenticationResult',
56
+ :'decremental_flag' => :'Boolean'
71
57
  }
72
58
  end
73
59
 
@@ -97,30 +83,6 @@ module OpenapiClient
97
83
  # call parent's initialize
98
84
  super(attributes)
99
85
 
100
- if attributes.key?(:'request_type')
101
- self.request_type = attributes[:'request_type']
102
- end
103
-
104
- if attributes.key?(:'transaction_amount')
105
- self.transaction_amount = attributes[:'transaction_amount']
106
- end
107
-
108
- if attributes.key?(:'store_id')
109
- self.store_id = attributes[:'store_id']
110
- end
111
-
112
- if attributes.key?(:'merchant_transaction_id')
113
- self.merchant_transaction_id = attributes[:'merchant_transaction_id']
114
- end
115
-
116
- if attributes.key?(:'transaction_origin')
117
- self.transaction_origin = attributes[:'transaction_origin']
118
- end
119
-
120
- if attributes.key?(:'order')
121
- self.order = attributes[:'order']
122
- end
123
-
124
86
  if attributes.key?(:'payment_method')
125
87
  self.payment_method = attributes[:'payment_method']
126
88
  end
@@ -138,20 +100,26 @@ module OpenapiClient
138
100
  self.settlement_split = value
139
101
  end
140
102
  end
103
+
104
+ if attributes.key?(:'authentication_request')
105
+ self.authentication_request = attributes[:'authentication_request']
106
+ end
107
+
108
+ if attributes.key?(:'authentication_result')
109
+ self.authentication_result = attributes[:'authentication_result']
110
+ end
111
+
112
+ if attributes.key?(:'decremental_flag')
113
+ self.decremental_flag = attributes[:'decremental_flag']
114
+ else
115
+ self.decremental_flag = false
116
+ end
141
117
  end
142
118
 
143
119
  # Show invalid properties with the reasons. Usually used together with valid?
144
120
  # @return Array for valid properties with the reasons
145
121
  def list_invalid_properties
146
122
  invalid_properties = super
147
- if !@store_id.nil? && @store_id.to_s.length > 20
148
- invalid_properties.push('invalid value for "store_id", the character length must be smaller than or equal to 20.')
149
- end
150
-
151
- if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
152
- invalid_properties.push('invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.')
153
- end
154
-
155
123
  if @payment_method.nil?
156
124
  invalid_properties.push('invalid value for "payment_method", payment_method cannot be nil.')
157
125
  end
@@ -162,47 +130,22 @@ module OpenapiClient
162
130
  # Check to see if the all the properties in the model are valid
163
131
  # @return true if the model is valid
164
132
  def valid?
165
- return false if !@store_id.nil? && @store_id.to_s.length > 20
166
- return false if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
167
133
  return false if @payment_method.nil?
168
134
  true && super
169
135
  end
170
136
 
171
- # Custom attribute writer method with validation
172
- # @param [Object] store_id Value to be assigned
173
- def store_id=(store_id)
174
- if !store_id.nil? && store_id.to_s.length > 20
175
- fail ArgumentError, 'invalid value for "store_id", the character length must be smaller than or equal to 20.'
176
- end
177
-
178
- @store_id = store_id
179
- end
180
-
181
- # Custom attribute writer method with validation
182
- # @param [Object] merchant_transaction_id Value to be assigned
183
- def merchant_transaction_id=(merchant_transaction_id)
184
- if !merchant_transaction_id.nil? && merchant_transaction_id.to_s.length > 40
185
- fail ArgumentError, 'invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.'
186
- end
187
-
188
- @merchant_transaction_id = merchant_transaction_id
189
- end
190
-
191
137
  # Checks equality by comparing each attribute.
192
138
  # @param [Object] Object to be compared
193
139
  def ==(o)
194
140
  return true if self.equal?(o)
195
141
  self.class == o.class &&
196
- request_type == o.request_type &&
197
- transaction_amount == o.transaction_amount &&
198
- store_id == o.store_id &&
199
- merchant_transaction_id == o.merchant_transaction_id &&
200
- transaction_origin == o.transaction_origin &&
201
- order == o.order &&
202
142
  payment_method == o.payment_method &&
203
143
  stored_credentials == o.stored_credentials &&
204
144
  split_shipment == o.split_shipment &&
205
- settlement_split == o.settlement_split && super(o)
145
+ settlement_split == o.settlement_split &&
146
+ authentication_request == o.authentication_request &&
147
+ authentication_result == o.authentication_result &&
148
+ decremental_flag == o.decremental_flag && super(o)
206
149
  end
207
150
 
208
151
  # @see the `==` method
@@ -214,7 +157,7 @@ module OpenapiClient
214
157
  # Calculates hash code according to all attributes.
215
158
  # @return [Integer] Hash code
216
159
  def hash
217
- [request_type, transaction_amount, store_id, merchant_transaction_id, transaction_origin, order, payment_method, stored_credentials, split_shipment, settlement_split].hash
160
+ [payment_method, stored_credentials, split_shipment, settlement_split, authentication_request, authentication_result, decremental_flag].hash
218
161
  end
219
162
 
220
163
  # Builds the object from hash
@@ -227,18 +170,18 @@ module OpenapiClient
227
170
  # Builds the object from hash
228
171
  # @param [Hash] attributes Model attributes in the form of hash
229
172
  # @return [Object] Returns the model itself
230
- def build_from_hash(attributes)
173
+ def build_from_hash(attributes, attribute_map = self.class.attribute_map, openapi_types = self.class.openapi_types)
231
174
  return nil unless attributes.is_a?(Hash)
232
- super(attributes)
233
- self.class.openapi_types.each_pair do |key, type|
175
+ super(attributes, self.class.superclass.attribute_map, self.class.superclass.openapi_types)
176
+ openapi_types.each_pair do |key, type|
234
177
  if type =~ /\AArray<(.*)>/i
235
178
  # check to ensure the input is an array given that the attribute
236
179
  # is documented as an array but the input is not
237
- if attributes[self.class.attribute_map[key]].is_a?(Array)
238
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
180
+ if attributes[attribute_map[key]].is_a?(Array)
181
+ self.send("#{key}=", attributes[attribute_map[key]].map { |v| _deserialize($1, v) })
239
182
  end
240
- elsif !attributes[self.class.attribute_map[key]].nil?
241
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
183
+ elsif !attributes[attribute_map[key]].nil?
184
+ self.send("#{key}=", _deserialize(type, attributes[attribute_map[key]]))
242
185
  end # or else data not found in attributes(hash), not an issue as the data can be optional
243
186
  end
244
187
 
@@ -282,7 +225,12 @@ module OpenapiClient
282
225
  end
283
226
  end
284
227
  else # model
285
- OpenapiClient.const_get(type).build_from_hash(value)
228
+ klass = OpenapiClient.const_get(type)
229
+ if klass.respond_to?(:openapi_discriminator_name)
230
+ klass = OpenapiClient.const_get(value[klass.attribute_map[klass.openapi_discriminator_name]])
231
+ end
232
+
233
+ klass.build_from_hash(value)
286
234
  end
287
235
  end
288
236
 
@@ -300,11 +248,15 @@ module OpenapiClient
300
248
 
301
249
  # Returns the object in the form of hash
302
250
  # @return [Hash] Returns the object in the form of hash
303
- def to_hash
304
- hash = super
305
- self.class.attribute_map.each_pair do |attr, param|
251
+ def to_hash(attribute_map = self.class.attribute_map, openapi_nullable = Set.new([]))
252
+ hash = super(self.class.superclass.attribute_map, openapi_nullable)
253
+ attribute_map.each_pair do |attr, param|
306
254
  value = self.send(attr)
307
- next if value.nil?
255
+ if value.nil?
256
+ is_nullable = openapi_nullable.include?(attr)
257
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
258
+ end
259
+
308
260
  hash[param] = _to_hash(value)
309
261
  end
310
262
  hash
@@ -3,10 +3,10 @@
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
- The version of the OpenAPI document: 6.9.1.20191223.002
6
+ The version of the OpenAPI document: 6.13.0.20200810.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: unset
9
+ OpenAPI Generator version: 4.1.1
10
10
 
11
11
  =end
12
12
 
@@ -14,21 +14,6 @@ require 'date'
14
14
 
15
15
  module OpenapiClient
16
16
  class PaymentTokenPreAuthTransactionAllOf
17
- # Object name of the primary transaction request.
18
- attr_accessor :request_type
19
-
20
- attr_accessor :transaction_amount
21
-
22
- # An optional outlet ID for clients that support multiple stores in the same app.
23
- attr_accessor :store_id
24
-
25
- # The unique merchant transaction ID from the request header, if supplied.
26
- attr_accessor :merchant_transaction_id
27
-
28
- attr_accessor :transaction_origin
29
-
30
- attr_accessor :order
31
-
32
17
  attr_accessor :payment_method
33
18
 
34
19
  attr_accessor :stored_credentials
@@ -38,35 +23,36 @@ module OpenapiClient
38
23
  # Settle with multiple sub-merchants, sale and preAuth only.
39
24
  attr_accessor :settlement_split
40
25
 
26
+ attr_accessor :authentication_request
27
+
28
+ attr_accessor :authentication_result
29
+
30
+ # This flag can only be used in a preAuth transaction that updates the amount of a previous preAuth transaction to either increase the preAuth amount (DecrementalPreAuthFlag = false) or decrease the preAuth amount (DecrementalPreAuthFlag = true).
31
+ attr_accessor :decremental_flag
32
+
41
33
  # Attribute mapping from ruby-style variable name to JSON key.
42
34
  def self.attribute_map
43
35
  {
44
- :'request_type' => :'requestType',
45
- :'transaction_amount' => :'transactionAmount',
46
- :'store_id' => :'storeId',
47
- :'merchant_transaction_id' => :'merchantTransactionId',
48
- :'transaction_origin' => :'transactionOrigin',
49
- :'order' => :'order',
50
36
  :'payment_method' => :'paymentMethod',
51
37
  :'stored_credentials' => :'storedCredentials',
52
38
  :'split_shipment' => :'splitShipment',
53
- :'settlement_split' => :'settlementSplit'
39
+ :'settlement_split' => :'settlementSplit',
40
+ :'authentication_request' => :'authenticationRequest',
41
+ :'authentication_result' => :'authenticationResult',
42
+ :'decremental_flag' => :'decrementalFlag'
54
43
  }
55
44
  end
56
45
 
57
46
  # Attribute type mapping.
58
47
  def self.openapi_types
59
48
  {
60
- :'request_type' => :'String',
61
- :'transaction_amount' => :'Amount',
62
- :'store_id' => :'String',
63
- :'merchant_transaction_id' => :'String',
64
- :'transaction_origin' => :'TransactionOrigin',
65
- :'order' => :'Order',
66
49
  :'payment_method' => :'PaymentTokenPaymentMethod',
67
50
  :'stored_credentials' => :'StoredCredential',
68
51
  :'split_shipment' => :'SplitShipment',
69
- :'settlement_split' => :'Array<SubMerchantSplit>'
52
+ :'settlement_split' => :'Array<SubMerchantSplit>',
53
+ :'authentication_request' => :'AuthenticationRequest',
54
+ :'authentication_result' => :'AuthenticationResult',
55
+ :'decremental_flag' => :'Boolean'
70
56
  }
71
57
  end
72
58
 
@@ -85,30 +71,6 @@ module OpenapiClient
85
71
  h[k.to_sym] = v
86
72
  }
87
73
 
88
- if attributes.key?(:'request_type')
89
- self.request_type = attributes[:'request_type']
90
- end
91
-
92
- if attributes.key?(:'transaction_amount')
93
- self.transaction_amount = attributes[:'transaction_amount']
94
- end
95
-
96
- if attributes.key?(:'store_id')
97
- self.store_id = attributes[:'store_id']
98
- end
99
-
100
- if attributes.key?(:'merchant_transaction_id')
101
- self.merchant_transaction_id = attributes[:'merchant_transaction_id']
102
- end
103
-
104
- if attributes.key?(:'transaction_origin')
105
- self.transaction_origin = attributes[:'transaction_origin']
106
- end
107
-
108
- if attributes.key?(:'order')
109
- self.order = attributes[:'order']
110
- end
111
-
112
74
  if attributes.key?(:'payment_method')
113
75
  self.payment_method = attributes[:'payment_method']
114
76
  end
@@ -126,20 +88,26 @@ module OpenapiClient
126
88
  self.settlement_split = value
127
89
  end
128
90
  end
91
+
92
+ if attributes.key?(:'authentication_request')
93
+ self.authentication_request = attributes[:'authentication_request']
94
+ end
95
+
96
+ if attributes.key?(:'authentication_result')
97
+ self.authentication_result = attributes[:'authentication_result']
98
+ end
99
+
100
+ if attributes.key?(:'decremental_flag')
101
+ self.decremental_flag = attributes[:'decremental_flag']
102
+ else
103
+ self.decremental_flag = false
104
+ end
129
105
  end
130
106
 
131
107
  # Show invalid properties with the reasons. Usually used together with valid?
132
108
  # @return Array for valid properties with the reasons
133
109
  def list_invalid_properties
134
110
  invalid_properties = Array.new
135
- if !@store_id.nil? && @store_id.to_s.length > 20
136
- invalid_properties.push('invalid value for "store_id", the character length must be smaller than or equal to 20.')
137
- end
138
-
139
- if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
140
- invalid_properties.push('invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.')
141
- end
142
-
143
111
  if @payment_method.nil?
144
112
  invalid_properties.push('invalid value for "payment_method", payment_method cannot be nil.')
145
113
  end
@@ -150,47 +118,22 @@ module OpenapiClient
150
118
  # Check to see if the all the properties in the model are valid
151
119
  # @return true if the model is valid
152
120
  def valid?
153
- return false if !@store_id.nil? && @store_id.to_s.length > 20
154
- return false if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
155
121
  return false if @payment_method.nil?
156
122
  true
157
123
  end
158
124
 
159
- # Custom attribute writer method with validation
160
- # @param [Object] store_id Value to be assigned
161
- def store_id=(store_id)
162
- if !store_id.nil? && store_id.to_s.length > 20
163
- fail ArgumentError, 'invalid value for "store_id", the character length must be smaller than or equal to 20.'
164
- end
165
-
166
- @store_id = store_id
167
- end
168
-
169
- # Custom attribute writer method with validation
170
- # @param [Object] merchant_transaction_id Value to be assigned
171
- def merchant_transaction_id=(merchant_transaction_id)
172
- if !merchant_transaction_id.nil? && merchant_transaction_id.to_s.length > 40
173
- fail ArgumentError, 'invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.'
174
- end
175
-
176
- @merchant_transaction_id = merchant_transaction_id
177
- end
178
-
179
125
  # Checks equality by comparing each attribute.
180
126
  # @param [Object] Object to be compared
181
127
  def ==(o)
182
128
  return true if self.equal?(o)
183
129
  self.class == o.class &&
184
- request_type == o.request_type &&
185
- transaction_amount == o.transaction_amount &&
186
- store_id == o.store_id &&
187
- merchant_transaction_id == o.merchant_transaction_id &&
188
- transaction_origin == o.transaction_origin &&
189
- order == o.order &&
190
130
  payment_method == o.payment_method &&
191
131
  stored_credentials == o.stored_credentials &&
192
132
  split_shipment == o.split_shipment &&
193
- settlement_split == o.settlement_split
133
+ settlement_split == o.settlement_split &&
134
+ authentication_request == o.authentication_request &&
135
+ authentication_result == o.authentication_result &&
136
+ decremental_flag == o.decremental_flag
194
137
  end
195
138
 
196
139
  # @see the `==` method
@@ -202,7 +145,7 @@ module OpenapiClient
202
145
  # Calculates hash code according to all attributes.
203
146
  # @return [Integer] Hash code
204
147
  def hash
205
- [request_type, transaction_amount, store_id, merchant_transaction_id, transaction_origin, order, payment_method, stored_credentials, split_shipment, settlement_split].hash
148
+ [payment_method, stored_credentials, split_shipment, settlement_split, authentication_request, authentication_result, decremental_flag].hash
206
149
  end
207
150
 
208
151
  # Builds the object from hash
@@ -215,17 +158,17 @@ module OpenapiClient
215
158
  # Builds the object from hash
216
159
  # @param [Hash] attributes Model attributes in the form of hash
217
160
  # @return [Object] Returns the model itself
218
- def build_from_hash(attributes)
161
+ def build_from_hash(attributes, attribute_map = self.class.attribute_map, openapi_types = self.class.openapi_types)
219
162
  return nil unless attributes.is_a?(Hash)
220
- self.class.openapi_types.each_pair do |key, type|
163
+ openapi_types.each_pair do |key, type|
221
164
  if type =~ /\AArray<(.*)>/i
222
165
  # check to ensure the input is an array given that the attribute
223
166
  # is documented as an array but the input is not
224
- if attributes[self.class.attribute_map[key]].is_a?(Array)
225
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
167
+ if attributes[attribute_map[key]].is_a?(Array)
168
+ self.send("#{key}=", attributes[attribute_map[key]].map { |v| _deserialize($1, v) })
226
169
  end
227
- elsif !attributes[self.class.attribute_map[key]].nil?
228
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
170
+ elsif !attributes[attribute_map[key]].nil?
171
+ self.send("#{key}=", _deserialize(type, attributes[attribute_map[key]]))
229
172
  end # or else data not found in attributes(hash), not an issue as the data can be optional
230
173
  end
231
174
 
@@ -269,7 +212,12 @@ module OpenapiClient
269
212
  end
270
213
  end
271
214
  else # model
272
- OpenapiClient.const_get(type).build_from_hash(value)
215
+ klass = OpenapiClient.const_get(type)
216
+ if klass.respond_to?(:openapi_discriminator_name)
217
+ klass = OpenapiClient.const_get(value[klass.attribute_map[klass.openapi_discriminator_name]])
218
+ end
219
+
220
+ klass.build_from_hash(value)
273
221
  end
274
222
  end
275
223
 
@@ -287,11 +235,15 @@ module OpenapiClient
287
235
 
288
236
  # Returns the object in the form of hash
289
237
  # @return [Hash] Returns the object in the form of hash
290
- def to_hash
238
+ def to_hash(attribute_map = self.class.attribute_map, openapi_nullable = Set.new([]))
291
239
  hash = {}
292
- self.class.attribute_map.each_pair do |attr, param|
240
+ attribute_map.each_pair do |attr, param|
293
241
  value = self.send(attr)
294
- next if value.nil?
242
+ if value.nil?
243
+ is_nullable = openapi_nullable.include?(attr)
244
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
245
+ end
246
+
295
247
  hash[param] = _to_hash(value)
296
248
  end
297
249
  hash