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
@@ -67,20 +67,27 @@ module OpenapiClient
67
67
  # Initializes the object
68
68
  # @param [Hash] attributes Model attributes in the form of hash
69
69
  def initialize(attributes = {})
70
- return unless attributes.is_a?(Hash)
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::PaymentIssuerResponse` initialize method"
72
+ end
71
73
 
72
- # convert string to symbol for hash key
73
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::PaymentIssuerResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
74
81
 
75
- if attributes.has_key?(:'code')
82
+ if attributes.key?(:'code')
76
83
  self.code = attributes[:'code']
77
84
  end
78
85
 
79
- if attributes.has_key?(:'status')
86
+ if attributes.key?(:'status')
80
87
  self.status = attributes[:'status']
81
88
  end
82
89
 
83
- if attributes.has_key?(:'scheme')
90
+ if attributes.key?(:'scheme')
84
91
  self.scheme = attributes[:'scheme']
85
92
  end
86
93
  end
@@ -93,10 +100,20 @@ module OpenapiClient
93
100
  invalid_properties.push('invalid value for "code", code cannot be nil.')
94
101
  end
95
102
 
103
+ pattern = Regexp.new(/^(?!\s*$).+/)
104
+ if @code !~ pattern
105
+ invalid_properties.push("invalid value for \"code\", must conform to the pattern #{pattern}.")
106
+ end
107
+
96
108
  if @scheme.nil?
97
109
  invalid_properties.push('invalid value for "scheme", scheme cannot be nil.')
98
110
  end
99
111
 
112
+ pattern = Regexp.new(/^(?!\s*$).+/)
113
+ if @scheme !~ pattern
114
+ invalid_properties.push("invalid value for \"scheme\", must conform to the pattern #{pattern}.")
115
+ end
116
+
100
117
  invalid_properties
101
118
  end
102
119
 
@@ -104,22 +121,54 @@ module OpenapiClient
104
121
  # @return true if the model is valid
105
122
  def valid?
106
123
  return false if @code.nil?
107
- status_validator = EnumAttributeValidator.new('String', ['approved', 'declined', 'disabled', 'unknown'])
124
+ return false if @code !~ Regexp.new(/^(?!\s*$).+/)
125
+ status_validator = EnumAttributeValidator.new('String', ["approved", "declined", "disabled", "unknown"])
108
126
  return false unless status_validator.valid?(@status)
109
127
  return false if @scheme.nil?
128
+ return false if @scheme !~ Regexp.new(/^(?!\s*$).+/)
110
129
  true
111
130
  end
112
131
 
132
+ # Custom attribute writer method with validation
133
+ # @param [Object] code Value to be assigned
134
+ def code=(code)
135
+ if code.nil?
136
+ fail ArgumentError, 'code cannot be nil'
137
+ end
138
+
139
+ pattern = Regexp.new(/^(?!\s*$).+/)
140
+ if code !~ pattern
141
+ fail ArgumentError, "invalid value for \"code\", must conform to the pattern #{pattern}."
142
+ end
143
+
144
+ @code = code
145
+ end
146
+
113
147
  # Custom attribute writer method checking allowed values (enum).
114
148
  # @param [Object] status Object to be assigned
115
149
  def status=(status)
116
- validator = EnumAttributeValidator.new('String', ['approved', 'declined', 'disabled', 'unknown'])
150
+ validator = EnumAttributeValidator.new('String', ["approved", "declined", "disabled", "unknown"])
117
151
  unless validator.valid?(status)
118
- fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
152
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
119
153
  end
120
154
  @status = status
121
155
  end
122
156
 
157
+ # Custom attribute writer method with validation
158
+ # @param [Object] scheme Value to be assigned
159
+ def scheme=(scheme)
160
+ if scheme.nil?
161
+ fail ArgumentError, 'scheme cannot be nil'
162
+ end
163
+
164
+ pattern = Regexp.new(/^(?!\s*$).+/)
165
+ if scheme !~ pattern
166
+ fail ArgumentError, "invalid value for \"scheme\", must conform to the pattern #{pattern}."
167
+ end
168
+
169
+ @scheme = scheme
170
+ end
171
+
123
172
  # Checks equality by comparing each attribute.
124
173
  # @param [Object] Object to be compared
125
174
  def ==(o)
@@ -137,11 +186,18 @@ module OpenapiClient
137
186
  end
138
187
 
139
188
  # Calculates hash code according to all attributes.
140
- # @return [Fixnum] Hash code
189
+ # @return [Integer] Hash code
141
190
  def hash
142
191
  [code, status, scheme].hash
143
192
  end
144
193
 
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def self.build_from_hash(attributes)
198
+ new.build_from_hash(attributes)
199
+ end
200
+
145
201
  # Builds the object from hash
146
202
  # @param [Hash] attributes Model attributes in the form of hash
147
203
  # @return [Object] Returns the model itself
@@ -149,7 +205,7 @@ module OpenapiClient
149
205
  return nil unless attributes.is_a?(Hash)
150
206
  self.class.openapi_types.each_pair do |key, type|
151
207
  if type =~ /\AArray<(.*)>/i
152
- # check to ensure the input is an array given that the the attribute
208
+ # check to ensure the input is an array given that the attribute
153
209
  # is documented as an array but the input is not
154
210
  if attributes[self.class.attribute_map[key]].is_a?(Array)
155
211
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -178,7 +234,7 @@ module OpenapiClient
178
234
  value.to_i
179
235
  when :Float
180
236
  value.to_f
181
- when :BOOLEAN
237
+ when :Boolean
182
238
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
239
  true
184
240
  else
@@ -199,8 +255,7 @@ module OpenapiClient
199
255
  end
200
256
  end
201
257
  else # model
202
- temp_model = OpenapiClient.const_get(type).new
203
- temp_model.build_from_hash(value)
258
+ OpenapiClient.const_get(type).build_from_hash(value)
204
259
  end
205
260
  end
206
261
 
@@ -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
@@ -38,17 +38,24 @@ module OpenapiClient
38
38
  # Initializes the object
39
39
  # @param [Hash] attributes Model attributes in the form of hash
40
40
  def initialize(attributes = {})
41
- return unless attributes.is_a?(Hash)
41
+ if (!attributes.is_a?(Hash))
42
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::PaymentMethodDetails` initialize method"
43
+ end
42
44
 
43
- # convert string to symbol for hash key
44
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
45
+ # check to see if the attribute exists and convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h|
47
+ if (!self.class.attribute_map.key?(k.to_sym))
48
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::PaymentMethodDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ end
50
+ h[k.to_sym] = v
51
+ }
45
52
 
46
- if attributes.has_key?(:'paymentCard')
47
- self.payment_card = attributes[:'paymentCard']
53
+ if attributes.key?(:'payment_card')
54
+ self.payment_card = attributes[:'payment_card']
48
55
  end
49
56
 
50
- if attributes.has_key?(:'paymentMethodType')
51
- self.payment_method_type = attributes[:'paymentMethodType']
57
+ if attributes.key?(:'payment_method_type')
58
+ self.payment_method_type = attributes[:'payment_method_type']
52
59
  end
53
60
  end
54
61
 
@@ -81,11 +88,18 @@ module OpenapiClient
81
88
  end
82
89
 
83
90
  # Calculates hash code according to all attributes.
84
- # @return [Fixnum] Hash code
91
+ # @return [Integer] Hash code
85
92
  def hash
86
93
  [payment_card, payment_method_type].hash
87
94
  end
88
95
 
96
+ # Builds the object from hash
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ # @return [Object] Returns the model itself
99
+ def self.build_from_hash(attributes)
100
+ new.build_from_hash(attributes)
101
+ end
102
+
89
103
  # Builds the object from hash
90
104
  # @param [Hash] attributes Model attributes in the form of hash
91
105
  # @return [Object] Returns the model itself
@@ -93,7 +107,7 @@ module OpenapiClient
93
107
  return nil unless attributes.is_a?(Hash)
94
108
  self.class.openapi_types.each_pair do |key, type|
95
109
  if type =~ /\AArray<(.*)>/i
96
- # check to ensure the input is an array given that the the attribute
110
+ # check to ensure the input is an array given that the attribute
97
111
  # is documented as an array but the input is not
98
112
  if attributes[self.class.attribute_map[key]].is_a?(Array)
99
113
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -122,7 +136,7 @@ module OpenapiClient
122
136
  value.to_i
123
137
  when :Float
124
138
  value.to_f
125
- when :BOOLEAN
139
+ when :Boolean
126
140
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
127
141
  true
128
142
  else
@@ -143,8 +157,7 @@ module OpenapiClient
143
157
  end
144
158
  end
145
159
  else # model
146
- temp_model = OpenapiClient.const_get(type).new
147
- temp_model.build_from_hash(value)
160
+ OpenapiClient.const_get(type).build_from_hash(value)
148
161
  end
149
162
  end
150
163
 
@@ -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
@@ -105,80 +105,95 @@ module OpenapiClient
105
105
  }
106
106
  end
107
107
 
108
+ # List of class defined in allOf (OpenAPI v3)
109
+ def self.openapi_all_of
110
+ [
111
+ :'PaymentMethodPaymentSchedulesRequestAllOf',
112
+ :'PaymentSchedulesRequest'
113
+ ]
114
+ end
115
+
108
116
  # Initializes the object
109
117
  # @param [Hash] attributes Model attributes in the form of hash
110
118
  def initialize(attributes = {})
111
- return unless attributes.is_a?(Hash)
119
+ if (!attributes.is_a?(Hash))
120
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::PaymentMethodPaymentSchedulesRequest` initialize method"
121
+ end
112
122
 
113
- # convert string to symbol for hash key
114
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
123
+ # check to see if the attribute exists and convert string to symbol for hash key
124
+ attributes = attributes.each_with_object({}) { |(k, v), h|
125
+ if (!self.class.attribute_map.key?(k.to_sym))
126
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::PaymentMethodPaymentSchedulesRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
127
+ end
128
+ h[k.to_sym] = v
129
+ }
115
130
 
116
- if attributes.has_key?(:'requestType')
117
- self.request_type = attributes[:'requestType']
131
+ if attributes.key?(:'request_type')
132
+ self.request_type = attributes[:'request_type']
118
133
  end
119
134
 
120
- if attributes.has_key?(:'storeId')
121
- self.store_id = attributes[:'storeId']
135
+ if attributes.key?(:'store_id')
136
+ self.store_id = attributes[:'store_id']
122
137
  end
123
138
 
124
- if attributes.has_key?(:'startDate')
125
- self.start_date = attributes[:'startDate']
139
+ if attributes.key?(:'start_date')
140
+ self.start_date = attributes[:'start_date']
126
141
  end
127
142
 
128
- if attributes.has_key?(:'numberOfPayments')
129
- self.number_of_payments = attributes[:'numberOfPayments']
143
+ if attributes.key?(:'number_of_payments')
144
+ self.number_of_payments = attributes[:'number_of_payments']
130
145
  end
131
146
 
132
- if attributes.has_key?(:'maximumFailures')
133
- self.maximum_failures = attributes[:'maximumFailures']
147
+ if attributes.key?(:'maximum_failures')
148
+ self.maximum_failures = attributes[:'maximum_failures']
134
149
  end
135
150
 
136
- if attributes.has_key?(:'invoiceNumber')
137
- self.invoice_number = attributes[:'invoiceNumber']
151
+ if attributes.key?(:'invoice_number')
152
+ self.invoice_number = attributes[:'invoice_number']
138
153
  end
139
154
 
140
- if attributes.has_key?(:'purchaseOrderNumber')
141
- self.purchase_order_number = attributes[:'purchaseOrderNumber']
155
+ if attributes.key?(:'purchase_order_number')
156
+ self.purchase_order_number = attributes[:'purchase_order_number']
142
157
  end
143
158
 
144
- if attributes.has_key?(:'transactionOrigin')
145
- self.transaction_origin = attributes[:'transactionOrigin']
159
+ if attributes.key?(:'transaction_origin')
160
+ self.transaction_origin = attributes[:'transaction_origin']
146
161
  end
147
162
 
148
- if attributes.has_key?(:'dynamicMerchantName')
149
- self.dynamic_merchant_name = attributes[:'dynamicMerchantName']
163
+ if attributes.key?(:'dynamic_merchant_name')
164
+ self.dynamic_merchant_name = attributes[:'dynamic_merchant_name']
150
165
  end
151
166
 
152
- if attributes.has_key?(:'frequency')
167
+ if attributes.key?(:'frequency')
153
168
  self.frequency = attributes[:'frequency']
154
169
  end
155
170
 
156
- if attributes.has_key?(:'transactionAmount')
157
- self.transaction_amount = attributes[:'transactionAmount']
171
+ if attributes.key?(:'transaction_amount')
172
+ self.transaction_amount = attributes[:'transaction_amount']
158
173
  end
159
174
 
160
- if attributes.has_key?(:'clientLocale')
161
- self.client_locale = attributes[:'clientLocale']
175
+ if attributes.key?(:'client_locale')
176
+ self.client_locale = attributes[:'client_locale']
162
177
  end
163
178
 
164
- if attributes.has_key?(:'orderId')
165
- self.order_id = attributes[:'orderId']
179
+ if attributes.key?(:'order_id')
180
+ self.order_id = attributes[:'order_id']
166
181
  end
167
182
 
168
- if attributes.has_key?(:'billing')
183
+ if attributes.key?(:'billing')
169
184
  self.billing = attributes[:'billing']
170
185
  end
171
186
 
172
- if attributes.has_key?(:'shipping')
187
+ if attributes.key?(:'shipping')
173
188
  self.shipping = attributes[:'shipping']
174
189
  end
175
190
 
176
- if attributes.has_key?(:'comments')
191
+ if attributes.key?(:'comments')
177
192
  self.comments = attributes[:'comments']
178
193
  end
179
194
 
180
- if attributes.has_key?(:'paymentMethod')
181
- self.payment_method = attributes[:'paymentMethod']
195
+ if attributes.key?(:'payment_method')
196
+ self.payment_method = attributes[:'payment_method']
182
197
  end
183
198
  end
184
199
 
@@ -314,11 +329,18 @@ module OpenapiClient
314
329
  end
315
330
 
316
331
  # Calculates hash code according to all attributes.
317
- # @return [Fixnum] Hash code
332
+ # @return [Integer] Hash code
318
333
  def hash
319
334
  [request_type, store_id, start_date, number_of_payments, maximum_failures, invoice_number, purchase_order_number, transaction_origin, dynamic_merchant_name, frequency, transaction_amount, client_locale, order_id, billing, shipping, comments, payment_method].hash
320
335
  end
321
336
 
337
+ # Builds the object from hash
338
+ # @param [Hash] attributes Model attributes in the form of hash
339
+ # @return [Object] Returns the model itself
340
+ def self.build_from_hash(attributes)
341
+ new.build_from_hash(attributes)
342
+ end
343
+
322
344
  # Builds the object from hash
323
345
  # @param [Hash] attributes Model attributes in the form of hash
324
346
  # @return [Object] Returns the model itself
@@ -326,7 +348,7 @@ module OpenapiClient
326
348
  return nil unless attributes.is_a?(Hash)
327
349
  self.class.openapi_types.each_pair do |key, type|
328
350
  if type =~ /\AArray<(.*)>/i
329
- # check to ensure the input is an array given that the the attribute
351
+ # check to ensure the input is an array given that the attribute
330
352
  # is documented as an array but the input is not
331
353
  if attributes[self.class.attribute_map[key]].is_a?(Array)
332
354
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -355,7 +377,7 @@ module OpenapiClient
355
377
  value.to_i
356
378
  when :Float
357
379
  value.to_f
358
- when :BOOLEAN
380
+ when :Boolean
359
381
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
360
382
  true
361
383
  else
@@ -376,8 +398,7 @@ module OpenapiClient
376
398
  end
377
399
  end
378
400
  else # model
379
- temp_model = OpenapiClient.const_get(type).new
380
- temp_model.build_from_hash(value)
401
+ OpenapiClient.const_get(type).build_from_hash(value)
381
402
  end
382
403
  end
383
404
 
@@ -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 PaymentMethodPaymentSchedulesRequestAllOf
17
+ attr_accessor :payment_method
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'payment_method' => :'paymentMethod'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.openapi_types
28
+ {
29
+ :'payment_method' => :'PaymentCardPaymentMethod'
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::PaymentMethodPaymentSchedulesRequestAllOf` 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::PaymentMethodPaymentSchedulesRequestAllOf`. 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?(:'payment_method')
49
+ self.payment_method = attributes[:'payment_method']
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 @payment_method.nil?
58
+ invalid_properties.push('invalid value for "payment_method", payment_method 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 @payment_method.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
+ payment_method == o.payment_method
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
+ [payment_method].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