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
@@ -0,0 +1,321 @@
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 Secure3D10AuthenticationResultAllOf
17
+ # Card enrollment result from the Verification Response (VeRes).
18
+ attr_accessor :verification_response
19
+
20
+ # Result of authentication attempt from Payer Authentication Response (PaRes).
21
+ attr_accessor :authentication_attempt_result
22
+
23
+ # The Cardholder Authentication Verification Value (CAVV) is a cryptographic value derived by the issuer during payment authentication that can provide evidence of the results of payment authentication during an online purchase.
24
+ attr_accessor :cavv
25
+
26
+ # The transaction identifier (XID) is a unique tracking number set by the merchant.
27
+ attr_accessor :xid
28
+
29
+ class EnumAttributeValidator
30
+ attr_reader :datatype
31
+ attr_reader :allowable_values
32
+
33
+ def initialize(datatype, allowable_values)
34
+ @allowable_values = allowable_values.map do |value|
35
+ case datatype.to_s
36
+ when /Integer/i
37
+ value.to_i
38
+ when /Float/i
39
+ value.to_f
40
+ else
41
+ value
42
+ end
43
+ end
44
+ end
45
+
46
+ def valid?(value)
47
+ !value || allowable_values.include?(value)
48
+ end
49
+ end
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ def self.attribute_map
53
+ {
54
+ :'verification_response' => :'verificationResponse',
55
+ :'authentication_attempt_result' => :'authenticationAttemptResult',
56
+ :'cavv' => :'cavv',
57
+ :'xid' => :'xid'
58
+ }
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.openapi_types
63
+ {
64
+ :'verification_response' => :'String',
65
+ :'authentication_attempt_result' => :'String',
66
+ :'cavv' => :'String',
67
+ :'xid' => :'String'
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::Secure3D10AuthenticationResultAllOf` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::Secure3D10AuthenticationResultAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'verification_response')
87
+ self.verification_response = attributes[:'verification_response']
88
+ end
89
+
90
+ if attributes.key?(:'authentication_attempt_result')
91
+ self.authentication_attempt_result = attributes[:'authentication_attempt_result']
92
+ end
93
+
94
+ if attributes.key?(:'cavv')
95
+ self.cavv = attributes[:'cavv']
96
+ end
97
+
98
+ if attributes.key?(:'xid')
99
+ self.xid = attributes[:'xid']
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ invalid_properties = Array.new
107
+ if !@cavv.nil? && @cavv.to_s.length > 32
108
+ invalid_properties.push('invalid value for "cavv", the character length must be smaller than or equal to 32.')
109
+ end
110
+
111
+ if !@cavv.nil? && @cavv.to_s.length < 20
112
+ invalid_properties.push('invalid value for "cavv", the character length must be great than or equal to 20.')
113
+ end
114
+
115
+ if !@xid.nil? && @xid.to_s.length > 32
116
+ invalid_properties.push('invalid value for "xid", the character length must be smaller than or equal to 32.')
117
+ end
118
+
119
+ if !@xid.nil? && @xid.to_s.length < 20
120
+ invalid_properties.push('invalid value for "xid", the character length must be great than or equal to 20.')
121
+ end
122
+
123
+ invalid_properties
124
+ end
125
+
126
+ # Check to see if the all the properties in the model are valid
127
+ # @return true if the model is valid
128
+ def valid?
129
+ verification_response_validator = EnumAttributeValidator.new('String', ["Y", "N", "U"])
130
+ return false unless verification_response_validator.valid?(@verification_response)
131
+ authentication_attempt_result_validator = EnumAttributeValidator.new('String', ["Y", "N", "U", "A"])
132
+ return false unless authentication_attempt_result_validator.valid?(@authentication_attempt_result)
133
+ return false if !@cavv.nil? && @cavv.to_s.length > 32
134
+ return false if !@cavv.nil? && @cavv.to_s.length < 20
135
+ return false if !@xid.nil? && @xid.to_s.length > 32
136
+ return false if !@xid.nil? && @xid.to_s.length < 20
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] verification_response Object to be assigned
142
+ def verification_response=(verification_response)
143
+ validator = EnumAttributeValidator.new('String', ["Y", "N", "U"])
144
+ unless validator.valid?(verification_response)
145
+ fail ArgumentError, "invalid value for \"verification_response\", must be one of #{validator.allowable_values}."
146
+ end
147
+ @verification_response = verification_response
148
+ end
149
+
150
+ # Custom attribute writer method checking allowed values (enum).
151
+ # @param [Object] authentication_attempt_result Object to be assigned
152
+ def authentication_attempt_result=(authentication_attempt_result)
153
+ validator = EnumAttributeValidator.new('String', ["Y", "N", "U", "A"])
154
+ unless validator.valid?(authentication_attempt_result)
155
+ fail ArgumentError, "invalid value for \"authentication_attempt_result\", must be one of #{validator.allowable_values}."
156
+ end
157
+ @authentication_attempt_result = authentication_attempt_result
158
+ end
159
+
160
+ # Custom attribute writer method with validation
161
+ # @param [Object] cavv Value to be assigned
162
+ def cavv=(cavv)
163
+ if !cavv.nil? && cavv.to_s.length > 32
164
+ fail ArgumentError, 'invalid value for "cavv", the character length must be smaller than or equal to 32.'
165
+ end
166
+
167
+ if !cavv.nil? && cavv.to_s.length < 20
168
+ fail ArgumentError, 'invalid value for "cavv", the character length must be great than or equal to 20.'
169
+ end
170
+
171
+ @cavv = cavv
172
+ end
173
+
174
+ # Custom attribute writer method with validation
175
+ # @param [Object] xid Value to be assigned
176
+ def xid=(xid)
177
+ if !xid.nil? && xid.to_s.length > 32
178
+ fail ArgumentError, 'invalid value for "xid", the character length must be smaller than or equal to 32.'
179
+ end
180
+
181
+ if !xid.nil? && xid.to_s.length < 20
182
+ fail ArgumentError, 'invalid value for "xid", the character length must be great than or equal to 20.'
183
+ end
184
+
185
+ @xid = xid
186
+ end
187
+
188
+ # Checks equality by comparing each attribute.
189
+ # @param [Object] Object to be compared
190
+ def ==(o)
191
+ return true if self.equal?(o)
192
+ self.class == o.class &&
193
+ verification_response == o.verification_response &&
194
+ authentication_attempt_result == o.authentication_attempt_result &&
195
+ cavv == o.cavv &&
196
+ xid == o.xid
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] Object to be compared
201
+ def eql?(o)
202
+ self == o
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Integer] Hash code
207
+ def hash
208
+ [verification_response, authentication_attempt_result, cavv, xid].hash
209
+ end
210
+
211
+ # Builds the object from hash
212
+ # @param [Hash] attributes Model attributes in the form of hash
213
+ # @return [Object] Returns the model itself
214
+ def self.build_from_hash(attributes)
215
+ new.build_from_hash(attributes)
216
+ end
217
+
218
+ # Builds the object from hash
219
+ # @param [Hash] attributes Model attributes in the form of hash
220
+ # @return [Object] Returns the model itself
221
+ def build_from_hash(attributes)
222
+ return nil unless attributes.is_a?(Hash)
223
+ self.class.openapi_types.each_pair do |key, type|
224
+ if type =~ /\AArray<(.*)>/i
225
+ # check to ensure the input is an array given that the attribute
226
+ # is documented as an array but the input is not
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
229
+ end
230
+ elsif !attributes[self.class.attribute_map[key]].nil?
231
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
232
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
233
+ end
234
+
235
+ self
236
+ end
237
+
238
+ # Deserializes the data based on type
239
+ # @param string type Data type
240
+ # @param string value Value to be deserialized
241
+ # @return [Object] Deserialized data
242
+ def _deserialize(type, value)
243
+ case type.to_sym
244
+ when :DateTime
245
+ DateTime.parse(value)
246
+ when :Date
247
+ Date.parse(value)
248
+ when :String
249
+ value.to_s
250
+ when :Integer
251
+ value.to_i
252
+ when :Float
253
+ value.to_f
254
+ when :Boolean
255
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
256
+ true
257
+ else
258
+ false
259
+ end
260
+ when :Object
261
+ # generic object (usually a Hash), return directly
262
+ value
263
+ when /\AArray<(?<inner_type>.+)>\z/
264
+ inner_type = Regexp.last_match[:inner_type]
265
+ value.map { |v| _deserialize(inner_type, v) }
266
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
267
+ k_type = Regexp.last_match[:k_type]
268
+ v_type = Regexp.last_match[:v_type]
269
+ {}.tap do |hash|
270
+ value.each do |k, v|
271
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
272
+ end
273
+ end
274
+ else # model
275
+ OpenapiClient.const_get(type).build_from_hash(value)
276
+ end
277
+ end
278
+
279
+ # Returns the string representation of the object
280
+ # @return [String] String presentation of the object
281
+ def to_s
282
+ to_hash.to_s
283
+ end
284
+
285
+ # to_body is an alias to to_hash (backward compatibility)
286
+ # @return [Hash] Returns the object in the form of hash
287
+ def to_body
288
+ to_hash
289
+ end
290
+
291
+ # Returns the object in the form of hash
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = self.send(attr)
297
+ next if value.nil?
298
+ hash[param] = _to_hash(value)
299
+ end
300
+ hash
301
+ end
302
+
303
+ # Outputs non-array value in the form of hash
304
+ # For object, use to_hash. Otherwise, just return the value
305
+ # @param [Object] value Any valid value
306
+ # @return [Hash] Returns the value in the form of hash
307
+ def _to_hash(value)
308
+ if value.is_a?(Array)
309
+ value.compact.map { |v| _to_hash(v) }
310
+ elsif value.is_a?(Hash)
311
+ {}.tap do |hash|
312
+ value.each { |k, v| hash[k] = _to_hash(v) }
313
+ end
314
+ elsif value.respond_to? :to_hash
315
+ value.to_hash
316
+ else
317
+ value
318
+ end
319
+ end
320
+ end
321
+ end
@@ -0,0 +1,355 @@
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
+ # Submit the result of the authentication managed outside of the gateway for a 3-D Secure 2.1 scheme. For more convenient usage without implementing 3-D Secure yourself see \"authenticationRequest\" section.
17
+ class Secure3D21AuthenticationResult
18
+ # Indicates what kind of authentication scheme the merchant wants to use on the card.
19
+ attr_accessor :request_type
20
+
21
+ # The Cardholder Authentication Verification Value (CAVV) is a cryptographic value derived by the issuer during payment authentication that can provide evidence of the results of payment authentication during an online purchase.
22
+ attr_accessor :cavv
23
+
24
+ # The transaction identifier (XID) is a unique tracking number set by the merchant.
25
+ attr_accessor :xid
26
+
27
+ # The response transaction ID. Only applicable to MasterCard.
28
+ attr_accessor :transaction_id
29
+
30
+ # The result of authentication attempt returned by the 3D Secure authentication process (PaRes).
31
+ attr_accessor :authentication_response
32
+
33
+ # The transaction status as returned by the 3D Secure authentication process.
34
+ attr_accessor :transaction_status
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :'request_type' => :'requestType',
62
+ :'cavv' => :'cavv',
63
+ :'xid' => :'xid',
64
+ :'transaction_id' => :'transactionId',
65
+ :'authentication_response' => :'authenticationResponse',
66
+ :'transaction_status' => :'transactionStatus'
67
+ }
68
+ end
69
+
70
+ # Attribute type mapping.
71
+ def self.openapi_types
72
+ {
73
+ :'request_type' => :'String',
74
+ :'cavv' => :'String',
75
+ :'xid' => :'String',
76
+ :'transaction_id' => :'String',
77
+ :'authentication_response' => :'String',
78
+ :'transaction_status' => :'String'
79
+ }
80
+ end
81
+
82
+ # List of class defined in allOf (OpenAPI v3)
83
+ def self.openapi_all_of
84
+ [
85
+ :'Authentication',
86
+ :'Secure3D21AuthenticationResultAllOf'
87
+ ]
88
+ end
89
+
90
+ # Initializes the object
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ def initialize(attributes = {})
93
+ if (!attributes.is_a?(Hash))
94
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::Secure3D21AuthenticationResult` initialize method"
95
+ end
96
+
97
+ # check to see if the attribute exists and convert string to symbol for hash key
98
+ attributes = attributes.each_with_object({}) { |(k, v), h|
99
+ if (!self.class.attribute_map.key?(k.to_sym))
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::Secure3D21AuthenticationResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
101
+ end
102
+ h[k.to_sym] = v
103
+ }
104
+
105
+ if attributes.key?(:'request_type')
106
+ self.request_type = attributes[:'request_type']
107
+ end
108
+
109
+ if attributes.key?(:'cavv')
110
+ self.cavv = attributes[:'cavv']
111
+ end
112
+
113
+ if attributes.key?(:'xid')
114
+ self.xid = attributes[:'xid']
115
+ end
116
+
117
+ if attributes.key?(:'transaction_id')
118
+ self.transaction_id = attributes[:'transaction_id']
119
+ end
120
+
121
+ if attributes.key?(:'authentication_response')
122
+ self.authentication_response = attributes[:'authentication_response']
123
+ end
124
+
125
+ if attributes.key?(:'transaction_status')
126
+ self.transaction_status = attributes[:'transaction_status']
127
+ end
128
+ end
129
+
130
+ # Show invalid properties with the reasons. Usually used together with valid?
131
+ # @return Array for valid properties with the reasons
132
+ def list_invalid_properties
133
+ invalid_properties = Array.new
134
+ if @request_type.nil?
135
+ invalid_properties.push('invalid value for "request_type", request_type cannot be nil.')
136
+ end
137
+
138
+ if !@cavv.nil? && @cavv.to_s.length > 32
139
+ invalid_properties.push('invalid value for "cavv", the character length must be smaller than or equal to 32.')
140
+ end
141
+
142
+ if !@cavv.nil? && @cavv.to_s.length < 20
143
+ invalid_properties.push('invalid value for "cavv", the character length must be great than or equal to 20.')
144
+ end
145
+
146
+ if !@xid.nil? && @xid.to_s.length > 32
147
+ invalid_properties.push('invalid value for "xid", the character length must be smaller than or equal to 32.')
148
+ end
149
+
150
+ if !@xid.nil? && @xid.to_s.length < 20
151
+ invalid_properties.push('invalid value for "xid", the character length must be great than or equal to 20.')
152
+ end
153
+
154
+ invalid_properties
155
+ end
156
+
157
+ # Check to see if the all the properties in the model are valid
158
+ # @return true if the model is valid
159
+ def valid?
160
+ return false if @request_type.nil?
161
+ return false if !@cavv.nil? && @cavv.to_s.length > 32
162
+ return false if !@cavv.nil? && @cavv.to_s.length < 20
163
+ return false if !@xid.nil? && @xid.to_s.length > 32
164
+ return false if !@xid.nil? && @xid.to_s.length < 20
165
+ authentication_response_validator = EnumAttributeValidator.new('String', ["A", "N", "U", "Y", "C", "R"])
166
+ return false unless authentication_response_validator.valid?(@authentication_response)
167
+ transaction_status_validator = EnumAttributeValidator.new('String', ["A", "N", "U", "Y", "C", "R"])
168
+ return false unless transaction_status_validator.valid?(@transaction_status)
169
+ true
170
+ end
171
+
172
+ # Custom attribute writer method with validation
173
+ # @param [Object] cavv Value to be assigned
174
+ def cavv=(cavv)
175
+ if !cavv.nil? && cavv.to_s.length > 32
176
+ fail ArgumentError, 'invalid value for "cavv", the character length must be smaller than or equal to 32.'
177
+ end
178
+
179
+ if !cavv.nil? && cavv.to_s.length < 20
180
+ fail ArgumentError, 'invalid value for "cavv", the character length must be great than or equal to 20.'
181
+ end
182
+
183
+ @cavv = cavv
184
+ end
185
+
186
+ # Custom attribute writer method with validation
187
+ # @param [Object] xid Value to be assigned
188
+ def xid=(xid)
189
+ if !xid.nil? && xid.to_s.length > 32
190
+ fail ArgumentError, 'invalid value for "xid", the character length must be smaller than or equal to 32.'
191
+ end
192
+
193
+ if !xid.nil? && xid.to_s.length < 20
194
+ fail ArgumentError, 'invalid value for "xid", the character length must be great than or equal to 20.'
195
+ end
196
+
197
+ @xid = xid
198
+ end
199
+
200
+ # Custom attribute writer method checking allowed values (enum).
201
+ # @param [Object] authentication_response Object to be assigned
202
+ def authentication_response=(authentication_response)
203
+ validator = EnumAttributeValidator.new('String', ["A", "N", "U", "Y", "C", "R"])
204
+ unless validator.valid?(authentication_response)
205
+ fail ArgumentError, "invalid value for \"authentication_response\", must be one of #{validator.allowable_values}."
206
+ end
207
+ @authentication_response = authentication_response
208
+ end
209
+
210
+ # Custom attribute writer method checking allowed values (enum).
211
+ # @param [Object] transaction_status Object to be assigned
212
+ def transaction_status=(transaction_status)
213
+ validator = EnumAttributeValidator.new('String', ["A", "N", "U", "Y", "C", "R"])
214
+ unless validator.valid?(transaction_status)
215
+ fail ArgumentError, "invalid value for \"transaction_status\", must be one of #{validator.allowable_values}."
216
+ end
217
+ @transaction_status = transaction_status
218
+ end
219
+
220
+ # Checks equality by comparing each attribute.
221
+ # @param [Object] Object to be compared
222
+ def ==(o)
223
+ return true if self.equal?(o)
224
+ self.class == o.class &&
225
+ request_type == o.request_type &&
226
+ cavv == o.cavv &&
227
+ xid == o.xid &&
228
+ transaction_id == o.transaction_id &&
229
+ authentication_response == o.authentication_response &&
230
+ transaction_status == o.transaction_status
231
+ end
232
+
233
+ # @see the `==` method
234
+ # @param [Object] Object to be compared
235
+ def eql?(o)
236
+ self == o
237
+ end
238
+
239
+ # Calculates hash code according to all attributes.
240
+ # @return [Integer] Hash code
241
+ def hash
242
+ [request_type, cavv, xid, transaction_id, authentication_response, transaction_status].hash
243
+ end
244
+
245
+ # Builds the object from hash
246
+ # @param [Hash] attributes Model attributes in the form of hash
247
+ # @return [Object] Returns the model itself
248
+ def self.build_from_hash(attributes)
249
+ new.build_from_hash(attributes)
250
+ end
251
+
252
+ # Builds the object from hash
253
+ # @param [Hash] attributes Model attributes in the form of hash
254
+ # @return [Object] Returns the model itself
255
+ def build_from_hash(attributes)
256
+ return nil unless attributes.is_a?(Hash)
257
+ self.class.openapi_types.each_pair do |key, type|
258
+ if type =~ /\AArray<(.*)>/i
259
+ # check to ensure the input is an array given that the attribute
260
+ # is documented as an array but the input is not
261
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
262
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
263
+ end
264
+ elsif !attributes[self.class.attribute_map[key]].nil?
265
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
266
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
267
+ end
268
+
269
+ self
270
+ end
271
+
272
+ # Deserializes the data based on type
273
+ # @param string type Data type
274
+ # @param string value Value to be deserialized
275
+ # @return [Object] Deserialized data
276
+ def _deserialize(type, value)
277
+ case type.to_sym
278
+ when :DateTime
279
+ DateTime.parse(value)
280
+ when :Date
281
+ Date.parse(value)
282
+ when :String
283
+ value.to_s
284
+ when :Integer
285
+ value.to_i
286
+ when :Float
287
+ value.to_f
288
+ when :Boolean
289
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
290
+ true
291
+ else
292
+ false
293
+ end
294
+ when :Object
295
+ # generic object (usually a Hash), return directly
296
+ value
297
+ when /\AArray<(?<inner_type>.+)>\z/
298
+ inner_type = Regexp.last_match[:inner_type]
299
+ value.map { |v| _deserialize(inner_type, v) }
300
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
301
+ k_type = Regexp.last_match[:k_type]
302
+ v_type = Regexp.last_match[:v_type]
303
+ {}.tap do |hash|
304
+ value.each do |k, v|
305
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
306
+ end
307
+ end
308
+ else # model
309
+ OpenapiClient.const_get(type).build_from_hash(value)
310
+ end
311
+ end
312
+
313
+ # Returns the string representation of the object
314
+ # @return [String] String presentation of the object
315
+ def to_s
316
+ to_hash.to_s
317
+ end
318
+
319
+ # to_body is an alias to to_hash (backward compatibility)
320
+ # @return [Hash] Returns the object in the form of hash
321
+ def to_body
322
+ to_hash
323
+ end
324
+
325
+ # Returns the object in the form of hash
326
+ # @return [Hash] Returns the object in the form of hash
327
+ def to_hash
328
+ hash = {}
329
+ self.class.attribute_map.each_pair do |attr, param|
330
+ value = self.send(attr)
331
+ next if value.nil?
332
+ hash[param] = _to_hash(value)
333
+ end
334
+ hash
335
+ end
336
+
337
+ # Outputs non-array value in the form of hash
338
+ # For object, use to_hash. Otherwise, just return the value
339
+ # @param [Object] value Any valid value
340
+ # @return [Hash] Returns the value in the form of hash
341
+ def _to_hash(value)
342
+ if value.is_a?(Array)
343
+ value.compact.map { |v| _to_hash(v) }
344
+ elsif value.is_a?(Hash)
345
+ {}.tap do |hash|
346
+ value.each { |k, v| hash[k] = _to_hash(v) }
347
+ end
348
+ elsif value.respond_to? :to_hash
349
+ value.to_hash
350
+ else
351
+ value
352
+ end
353
+ end
354
+ end
355
+ end