first_data_gateway 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (481) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +79 -0
  3. data/README.md +69 -39
  4. data/docs/AVSResponse.md +2 -2
  5. data/docs/AccessTokenResponse.md +2 -2
  6. data/docs/AccountUpdaterResponse.md +12 -0
  7. data/docs/AdditionalAmountRate.md +2 -2
  8. data/docs/AdditionalDetails.md +10 -0
  9. data/docs/AdditionalTransactionDetails.md +3 -3
  10. data/docs/Address.md +7 -7
  11. data/docs/Airline.md +12 -12
  12. data/docs/AirlineAncillaryServiceCategory.md +1 -1
  13. data/docs/AirlineTravelRoute.md +4 -4
  14. data/docs/AliPay.md +2 -2
  15. data/docs/{SecondaryTransactionAdditionalDetails.md → AliPayPaymentMethod.md} +2 -2
  16. data/docs/AliPaySaleTransaction.md +14 -0
  17. data/docs/Amount.md +2 -2
  18. data/docs/AmountComponents.md +6 -7
  19. data/docs/Authentication.md +8 -0
  20. data/docs/AuthenticationApi.md +12 -12
  21. data/docs/AuthenticationRedirect.md +10 -0
  22. data/docs/AuthenticationRedirectParams.md +10 -0
  23. data/docs/AuthenticationVerificationRequest.md +11 -0
  24. data/docs/BasicResponse.md +1 -1
  25. data/docs/Billing.md +3 -5
  26. data/docs/BillingAddress.md +4 -4
  27. data/docs/BillingAddressPhone.md +1 -1
  28. data/docs/CarRental.md +6 -6
  29. data/docs/CarRentalExtraCharges.md +1 -1
  30. data/docs/Card.md +6 -6
  31. data/docs/CardFunction.md +7 -0
  32. data/docs/CardInfo.md +2 -2
  33. data/docs/CardInfoLookupApi.md +14 -14
  34. data/docs/CardInfoLookupResponse.md +1 -1
  35. data/docs/CardVerificationApi.md +12 -12
  36. data/docs/CardVerificationRequest.md +1 -0
  37. data/docs/ChinaDomesticPaymentMethod.md +9 -0
  38. data/docs/ChinaPnRSaleTransaction.md +14 -0
  39. data/docs/ClientLocale.md +2 -2
  40. data/docs/Contact.md +4 -4
  41. data/docs/CreatePaymentToken.md +10 -0
  42. data/docs/CurrencyConversion.md +9 -0
  43. data/docs/CurrencyConversionApi.md +15 -15
  44. data/docs/Customer.md +6 -6
  45. data/docs/CustomerAddress.md +3 -3
  46. data/docs/CustomerAddressPhone.md +1 -1
  47. data/docs/DCCExchangeRateRequest.md +11 -0
  48. data/docs/Dcc.md +2 -1
  49. data/docs/Device.md +2 -2
  50. data/docs/DeviceNetworks.md +1 -1
  51. data/docs/Document.md +2 -2
  52. data/docs/DynamicPricing.md +11 -0
  53. data/docs/DynamicPricingExchangeRateRequest.md +11 -0
  54. data/docs/ErrorResponse.md +1 -1
  55. data/docs/ExchangeRateRequest.md +2 -4
  56. data/docs/ExchangeRateResponse.md +11 -11
  57. data/docs/Expiration.md +2 -2
  58. data/docs/FraudDetectApi.md +12 -12
  59. data/docs/FraudOrderItems.md +1 -1
  60. data/docs/FraudOrderShipToAddress.md +6 -6
  61. data/docs/Frequency.md +2 -2
  62. data/docs/InstallmentOptions.md +5 -3
  63. data/docs/Lodging.md +5 -5
  64. data/docs/MerchantLocationMerchantAddress.md +6 -6
  65. data/docs/Order.md +5 -0
  66. data/docs/OrderApi.md +36 -102
  67. data/docs/OrderErrorResponse.md +4 -5
  68. data/docs/OrderResponse.md +4 -5
  69. data/docs/PayPal.md +1 -1
  70. data/docs/PayPalPaymentMethod.md +8 -0
  71. data/docs/PaymentApi.md +67 -193
  72. data/docs/PaymentCard.md +8 -11
  73. data/docs/PaymentCardCreditTransaction.md +15 -0
  74. data/docs/PaymentCardForcedTicketTransaction.md +15 -0
  75. data/docs/PaymentCardPayerAuthTransaction.md +15 -0
  76. data/docs/PaymentCardPaymentMethod.md +9 -0
  77. data/docs/PaymentCardPaymentTokenizationRequest.md +13 -0
  78. data/docs/PaymentCardPreAuthTransaction.md +18 -0
  79. data/docs/PaymentCardSaleTransaction.md +18 -0
  80. data/docs/PaymentFacilitator.md +4 -4
  81. data/docs/PaymentMethod.md +0 -7
  82. data/docs/PaymentMethodDetails.md +9 -0
  83. data/docs/PaymentMethodPaymentSchedulesRequest.md +24 -0
  84. data/docs/PaymentMethodType.md +7 -0
  85. data/docs/PaymentPayMethod.md +1 -1
  86. data/docs/PaymentSchedulesApi.md +58 -58
  87. data/docs/PaymentSchedulesErrorResponse.md +1 -1
  88. data/docs/PaymentSchedulesRequest.md +5 -6
  89. data/docs/PaymentSchedulesResponse.md +1 -1
  90. data/docs/PaymentTokenApi.md +23 -23
  91. data/docs/PaymentTokenCreditTransaction.md +15 -0
  92. data/docs/PaymentTokenDetails.md +14 -0
  93. data/docs/PaymentTokenPaymentMethod.md +9 -0
  94. data/docs/PaymentTokenPreAuthTransaction.md +17 -0
  95. data/docs/PaymentTokenSaleTransaction.md +17 -0
  96. data/docs/PaymentTokenizationErrorResponse.md +8 -8
  97. data/docs/PaymentTokenizationRequest.md +4 -3
  98. data/docs/PaymentTokenizationResponse.md +8 -8
  99. data/docs/PaymentURLApi.md +12 -12
  100. data/docs/PaymentUrlErrorResponse.md +3 -3
  101. data/docs/PaymentUrlRequest.md +3 -3
  102. data/docs/PaymentUrlResponse.md +3 -3
  103. data/docs/PaymentVerification3ds.md +3 -3
  104. data/docs/PaymentVerificationAvs.md +3 -3
  105. data/docs/PaymentVerificationCvv.md +3 -3
  106. data/docs/PaypalCreditTransaction.md +14 -0
  107. data/docs/PostAuthTransaction.md +14 -0
  108. data/docs/PrimaryTransaction.md +3 -12
  109. data/docs/ProcessorData.md +8 -6
  110. data/docs/PurchaseCardsLevel2.md +3 -3
  111. data/docs/PurchaseCardsLevel3.md +1 -1
  112. data/docs/PurchaseCardsLevel3LineItems.md +8 -8
  113. data/docs/RecurringPaymentDetails.md +2 -2
  114. data/docs/RecurringPaymentDetailsResponse.md +4 -5
  115. data/docs/ReferencedOrderPaymentSchedulesRequest.md +24 -0
  116. data/docs/ReferencedOrderPaymentTokenizationRequest.md +13 -0
  117. data/docs/ResponseAmountComponents.md +14 -0
  118. data/docs/ReturnTransaction.md +13 -0
  119. data/docs/ScoreOnlyRequest.md +1 -1
  120. data/docs/ScoreOnlyResponse.md +3 -3
  121. data/docs/ScoreOnlyResponseFraudScore.md +1 -1
  122. data/docs/ScoreOnlyResponseFraudScoreExplanations.md +3 -3
  123. data/docs/SecondaryTransaction.md +3 -5
  124. data/docs/Secure3dAuthenticationRequest.md +8 -0
  125. data/docs/Secure3dAuthenticationResult.md +12 -0
  126. data/docs/Secure3dAuthenticationVerificationRequest.md +13 -0
  127. data/docs/Secure3dResponse.md +1 -1
  128. data/docs/Sepa.md +4 -4
  129. data/docs/SepaMandate.md +2 -2
  130. data/docs/SepaPaymentMethod.md +8 -0
  131. data/docs/SepaSaleTransaction.md +14 -0
  132. data/docs/Shipping.md +1 -1
  133. data/docs/SoftDescriptor.md +2 -2
  134. data/docs/SplitShipment.md +1 -1
  135. data/docs/StoredCredential.md +4 -4
  136. data/docs/SubMerchantData.md +4 -4
  137. data/docs/SubMerchantSplit.md +9 -0
  138. data/docs/Transaction.md +4 -4
  139. data/docs/TransactionErrorResponse.md +11 -10
  140. data/docs/TransactionResponse.md +11 -10
  141. data/docs/UnionPayAuthenticationRequest.md +9 -0
  142. data/docs/UnionPayAuthenticationVerificationRequest.md +12 -0
  143. data/docs/UsePaymentToken.md +10 -0
  144. data/docs/VoidTransaction.md +10 -0
  145. data/first_data_gateway.gemspec +3 -2
  146. data/lib/openapi_client/api/authentication_api.rb +18 -18
  147. data/lib/openapi_client/api/card_info_lookup_api.rb +15 -15
  148. data/lib/openapi_client/api/card_verification_api.rb +13 -13
  149. data/lib/openapi_client/api/currency_conversion_api.rb +17 -17
  150. data/lib/openapi_client/api/fraud_detect_api.rb +13 -17
  151. data/lib/openapi_client/api/order_api.rb +45 -153
  152. data/lib/openapi_client/api/payment_api.rb +88 -287
  153. data/lib/openapi_client/api/payment_schedules_api.rb +61 -63
  154. data/lib/openapi_client/api/payment_token_api.rb +24 -24
  155. data/lib/openapi_client/api/payment_url_api.rb +13 -13
  156. data/lib/openapi_client/api_client.rb +2 -2
  157. data/lib/openapi_client/api_error.rb +2 -2
  158. data/lib/openapi_client/configuration.rb +4 -4
  159. data/lib/openapi_client/models/access_token_response.rb +5 -5
  160. data/lib/openapi_client/models/account_updater_response.rb +225 -0
  161. data/lib/openapi_client/models/additional_amount_rate.rb +15 -4
  162. data/lib/openapi_client/models/{primary_transaction_additional_details.rb → additional_details.rb} +11 -113
  163. data/lib/openapi_client/models/additional_transaction_details.rb +6 -6
  164. data/lib/openapi_client/models/address.rb +9 -9
  165. data/lib/openapi_client/models/airline.rb +15 -15
  166. data/lib/openapi_client/models/airline_ancillary_service_category.rb +7 -2
  167. data/lib/openapi_client/models/airline_travel_route.rb +7 -6
  168. data/lib/openapi_client/models/ali_pay.rb +4 -4
  169. data/lib/openapi_client/models/{referenced_order.rb → ali_pay_payment_method.rb} +16 -20
  170. data/lib/openapi_client/models/ali_pay_sale_transaction.rb +286 -0
  171. data/lib/openapi_client/models/amount.rb +5 -5
  172. data/lib/openapi_client/models/amount_components.rb +13 -23
  173. data/lib/openapi_client/models/authentication.rb +190 -0
  174. data/lib/openapi_client/models/{authentication_request.rb → authentication_redirect.rb} +24 -20
  175. data/lib/openapi_client/models/authentication_redirect_params.rb +205 -0
  176. data/lib/openapi_client/models/authentication_verification_request.rb +234 -0
  177. data/lib/openapi_client/models/avs_response.rb +4 -2
  178. data/lib/openapi_client/models/basic_response.rb +2 -7
  179. data/lib/openapi_client/models/billing.rb +7 -76
  180. data/lib/openapi_client/models/billing_address.rb +7 -7
  181. data/lib/openapi_client/models/billing_address_phone.rb +4 -4
  182. data/lib/openapi_client/models/car_rental.rb +9 -9
  183. data/lib/openapi_client/models/car_rental_extra_charges.rb +3 -3
  184. data/lib/openapi_client/models/card.rb +9 -8
  185. data/lib/openapi_client/models/card_function.rb +33 -0
  186. data/lib/openapi_client/models/card_info.rb +4 -17
  187. data/lib/openapi_client/models/card_info_lookup_request.rb +3 -3
  188. data/lib/openapi_client/models/card_info_lookup_response.rb +2 -7
  189. data/lib/openapi_client/models/card_verification_request.rb +32 -7
  190. data/lib/openapi_client/models/china_domestic.rb +2 -2
  191. data/lib/openapi_client/models/{authentication_response_verification.rb → china_domestic_payment_method.rb} +33 -48
  192. data/lib/openapi_client/models/china_pn_r_sale_transaction.rb +286 -0
  193. data/lib/openapi_client/models/client_locale.rb +5 -5
  194. data/lib/openapi_client/models/contact.rb +7 -6
  195. data/lib/openapi_client/models/create_payment_token.rb +209 -0
  196. data/lib/openapi_client/models/{authentication_response_verification_request.rb → currency_conversion.rb} +29 -35
  197. data/lib/openapi_client/models/customer.rb +9 -9
  198. data/lib/openapi_client/models/customer_address.rb +6 -6
  199. data/lib/openapi_client/models/customer_address_phone.rb +4 -4
  200. data/lib/openapi_client/models/dcc.rb +24 -4
  201. data/lib/openapi_client/models/dcc_exchange_rate_request.rb +273 -0
  202. data/lib/openapi_client/models/device.rb +4 -3
  203. data/lib/openapi_client/models/device_networks.rb +4 -3
  204. data/lib/openapi_client/models/document.rb +4 -4
  205. data/lib/openapi_client/models/dynamic_pricing.rb +235 -0
  206. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request.rb +273 -0
  207. data/lib/openapi_client/models/error.rb +2 -2
  208. data/lib/openapi_client/models/error_details.rb +2 -2
  209. data/lib/openapi_client/models/error_response.rb +2 -7
  210. data/lib/openapi_client/models/exchange_rate_request.rb +26 -103
  211. data/lib/openapi_client/models/exchange_rate_response.rb +20 -25
  212. data/lib/openapi_client/models/expiration.rb +5 -5
  213. data/lib/openapi_client/models/fraud_order.rb +2 -2
  214. data/lib/openapi_client/models/fraud_order_items.rb +4 -2
  215. data/lib/openapi_client/models/fraud_order_ship_to_address.rb +8 -8
  216. data/lib/openapi_client/models/frequency.rb +5 -5
  217. data/lib/openapi_client/models/industry_specific_extensions.rb +3 -3
  218. data/lib/openapi_client/models/installment_options.rb +63 -9
  219. data/lib/openapi_client/models/lodging.rb +8 -8
  220. data/lib/openapi_client/models/lodging_extra_charges.rb +2 -2
  221. data/lib/openapi_client/models/loyalty.rb +2 -2
  222. data/lib/openapi_client/models/merchant.rb +2 -2
  223. data/lib/openapi_client/models/merchant_location.rb +2 -2
  224. data/lib/openapi_client/models/merchant_location_merchant_address.rb +9 -9
  225. data/lib/openapi_client/models/order.rb +52 -7
  226. data/lib/openapi_client/models/order_error_response.rb +6 -21
  227. data/lib/openapi_client/models/order_response.rb +7 -22
  228. data/lib/openapi_client/models/pay_pal.rb +3 -3
  229. data/lib/openapi_client/models/pay_pal_payment_method.rb +189 -0
  230. data/lib/openapi_client/models/payment.rb +2 -2
  231. data/lib/openapi_client/models/payment_card.rb +38 -58
  232. data/lib/openapi_client/models/payment_card_credit_transaction.rb +295 -0
  233. data/lib/openapi_client/models/payment_card_forced_ticket_transaction.rb +320 -0
  234. data/lib/openapi_client/models/payment_card_payer_auth_transaction.rb +295 -0
  235. data/lib/openapi_client/models/payment_card_payment_method.rb +198 -0
  236. data/lib/openapi_client/models/payment_card_payment_tokenization_request.rb +264 -0
  237. data/lib/openapi_client/models/payment_card_pre_auth_transaction.rb +325 -0
  238. data/lib/openapi_client/models/payment_card_sale_transaction.rb +325 -0
  239. data/lib/openapi_client/models/payment_facilitator.rb +7 -7
  240. data/lib/openapi_client/models/payment_issuer_response.rb +2 -2
  241. data/lib/openapi_client/models/payment_method.rb +5 -108
  242. data/lib/openapi_client/models/{basket_item.rb → payment_method_details.rb} +17 -38
  243. data/lib/openapi_client/models/payment_method_payment_schedules_request.rb +426 -0
  244. data/lib/openapi_client/models/payment_method_type.rb +47 -0
  245. data/lib/openapi_client/models/payment_pay_method.rb +4 -4
  246. data/lib/openapi_client/models/payment_schedules_error_response.rb +2 -7
  247. data/lib/openapi_client/models/payment_schedules_request.rb +41 -30
  248. data/lib/openapi_client/models/payment_schedules_response.rb +2 -7
  249. data/lib/openapi_client/models/payment_token_credit_transaction.rb +295 -0
  250. data/lib/openapi_client/models/{payment_tokenization.rb → payment_token_details.rb} +18 -96
  251. data/lib/openapi_client/models/payment_token_payment_method.rb +198 -0
  252. data/lib/openapi_client/models/payment_token_pre_auth_transaction.rb +316 -0
  253. data/lib/openapi_client/models/payment_token_sale_transaction.rb +316 -0
  254. data/lib/openapi_client/models/payment_tokenization_error_response.rb +10 -15
  255. data/lib/openapi_client/models/payment_tokenization_request.rb +60 -61
  256. data/lib/openapi_client/models/payment_tokenization_response.rb +10 -15
  257. data/lib/openapi_client/models/payment_url_error_response.rb +4 -9
  258. data/lib/openapi_client/models/payment_url_request.rb +11 -16
  259. data/lib/openapi_client/models/payment_url_response.rb +4 -9
  260. data/lib/openapi_client/models/payment_verification3ds.rb +5 -5
  261. data/lib/openapi_client/models/payment_verification_avs.rb +5 -5
  262. data/lib/openapi_client/models/payment_verification_cvv.rb +5 -5
  263. data/lib/openapi_client/models/paypal_credit_transaction.rb +286 -0
  264. data/lib/openapi_client/models/post_auth_transaction.rb +266 -0
  265. data/lib/openapi_client/models/primary_transaction.rb +30 -118
  266. data/lib/openapi_client/models/processor_data.rb +48 -7
  267. data/lib/openapi_client/models/purchase_cards.rb +3 -2
  268. data/lib/openapi_client/models/purchase_cards_level2.rb +6 -5
  269. data/lib/openapi_client/models/purchase_cards_level3.rb +9 -3
  270. data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +16 -16
  271. data/lib/openapi_client/models/recurring_payment_details.rb +15 -15
  272. data/lib/openapi_client/models/recurring_payment_details_response.rb +6 -21
  273. data/lib/openapi_client/models/referenced_order_payment_schedules_request.rb +427 -0
  274. data/lib/openapi_client/models/referenced_order_payment_tokenization_request.rb +265 -0
  275. data/lib/openapi_client/models/response_amount_components.rb +245 -0
  276. data/lib/openapi_client/models/response_type.rb +2 -2
  277. data/lib/openapi_client/models/return_transaction.rb +257 -0
  278. data/lib/openapi_client/models/score_only_request.rb +4 -4
  279. data/lib/openapi_client/models/score_only_response.rb +6 -5
  280. data/lib/openapi_client/models/score_only_response_fraud_score.rb +4 -3
  281. data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +5 -2
  282. data/lib/openapi_client/models/secondary_transaction.rb +45 -40
  283. data/lib/openapi_client/models/secure3d_authentication_request.rb +190 -0
  284. data/lib/openapi_client/models/{payment_card_authentication_result.rb → secure3d_authentication_result.rb} +34 -41
  285. data/lib/openapi_client/models/secure3d_authentication_verification_request.rb +264 -0
  286. data/lib/openapi_client/models/secure3d_response.rb +4 -3
  287. data/lib/openapi_client/models/sepa.rb +6 -6
  288. data/lib/openapi_client/models/sepa_mandate.rb +5 -5
  289. data/lib/openapi_client/models/{secondary_transaction_additional_details.rb → sepa_payment_method.rb} +16 -10
  290. data/lib/openapi_client/models/sepa_sale_transaction.rb +286 -0
  291. data/lib/openapi_client/models/shipping.rb +4 -3
  292. data/lib/openapi_client/models/soft_descriptor.rb +15 -15
  293. data/lib/openapi_client/models/split_shipment.rb +4 -4
  294. data/lib/openapi_client/models/stored_credential.rb +7 -7
  295. data/lib/openapi_client/models/sub_merchant_data.rb +7 -7
  296. data/lib/openapi_client/models/sub_merchant_split.rb +233 -0
  297. data/lib/openapi_client/models/transaction.rb +18 -18
  298. data/lib/openapi_client/models/transaction_error_response.rb +28 -24
  299. data/lib/openapi_client/models/transaction_origin.rb +2 -2
  300. data/lib/openapi_client/models/transaction_response.rb +32 -28
  301. data/lib/openapi_client/models/transaction_type.rb +2 -2
  302. data/lib/openapi_client/models/union_pay_authentication_request.rb +224 -0
  303. data/lib/openapi_client/models/union_pay_authentication_verification_request.rb +249 -0
  304. data/lib/openapi_client/models/use_payment_token.rb +233 -0
  305. data/lib/openapi_client/models/{card_verifications_transaction.rb → void_transaction.rb} +28 -17
  306. data/lib/openapi_client/version.rb +3 -3
  307. data/lib/openapi_client.rb +50 -12
  308. data/lib/simple/gateway.rb +8 -59
  309. data/lib/simple_client.rb +4 -4
  310. data/spec/api/authentication_api_spec.rb +7 -7
  311. data/spec/api/card_info_lookup_api_spec.rb +8 -8
  312. data/spec/api/card_verification_api_spec.rb +7 -7
  313. data/spec/api/currency_conversion_api_spec.rb +9 -9
  314. data/spec/api/fraud_detect_api_spec.rb +7 -7
  315. data/spec/api/order_api_spec.rb +19 -40
  316. data/spec/api/payment_api_spec.rb +33 -72
  317. data/spec/api/payment_schedules_api_spec.rb +29 -29
  318. data/spec/api/payment_token_api_spec.rb +12 -12
  319. data/spec/api/payment_url_api_spec.rb +7 -7
  320. data/spec/api_client_spec.rb +2 -2
  321. data/spec/configuration_spec.rb +5 -5
  322. data/spec/models/access_token_response_spec.rb +2 -2
  323. data/spec/models/account_updater_response_spec.rb +65 -0
  324. data/spec/models/additional_amount_rate_spec.rb +2 -2
  325. data/spec/models/additional_details_spec.rb +53 -0
  326. data/spec/models/additional_transaction_details_spec.rb +2 -2
  327. data/spec/models/address_spec.rb +2 -2
  328. data/spec/models/airline_ancillary_service_category_spec.rb +2 -2
  329. data/spec/models/airline_spec.rb +2 -2
  330. data/spec/models/airline_travel_route_spec.rb +2 -2
  331. data/spec/models/ali_pay_payment_method_spec.rb +41 -0
  332. data/spec/models/ali_pay_sale_transaction_spec.rb +77 -0
  333. data/spec/models/ali_pay_spec.rb +2 -2
  334. data/spec/models/amount_components_spec.rb +2 -8
  335. data/spec/models/amount_spec.rb +2 -2
  336. data/spec/models/authentication_redirect_params_spec.rb +53 -0
  337. data/spec/models/{authentication_response_verification_spec.rb → authentication_redirect_spec.rb} +11 -17
  338. data/spec/models/authentication_spec.rb +41 -0
  339. data/spec/models/{authentication_response_verification_request_spec.rb → authentication_verification_request_spec.rb} +11 -11
  340. data/spec/models/avs_response_spec.rb +2 -2
  341. data/spec/models/basic_response_spec.rb +2 -2
  342. data/spec/models/billing_address_phone_spec.rb +2 -2
  343. data/spec/models/billing_address_spec.rb +2 -2
  344. data/spec/models/billing_spec.rb +2 -18
  345. data/spec/models/car_rental_extra_charges_spec.rb +2 -2
  346. data/spec/models/car_rental_spec.rb +2 -2
  347. data/spec/models/card_function_spec.rb +35 -0
  348. data/spec/models/card_info_lookup_request_spec.rb +2 -2
  349. data/spec/models/card_info_lookup_response_spec.rb +2 -2
  350. data/spec/models/card_info_spec.rb +2 -6
  351. data/spec/models/card_spec.rb +2 -2
  352. data/spec/models/card_verification_request_spec.rb +8 -2
  353. data/spec/models/china_domestic_payment_method_spec.rb +51 -0
  354. data/spec/models/china_domestic_spec.rb +2 -2
  355. data/spec/models/china_pn_r_sale_transaction_spec.rb +77 -0
  356. data/spec/models/client_locale_spec.rb +2 -2
  357. data/spec/models/contact_spec.rb +2 -2
  358. data/spec/models/create_payment_token_spec.rb +53 -0
  359. data/spec/models/currency_conversion_spec.rb +47 -0
  360. data/spec/models/customer_address_phone_spec.rb +2 -2
  361. data/spec/models/customer_address_spec.rb +2 -2
  362. data/spec/models/customer_spec.rb +2 -2
  363. data/spec/models/dcc_exchange_rate_request_spec.rb +59 -0
  364. data/spec/models/dcc_spec.rb +8 -2
  365. data/spec/models/device_networks_spec.rb +2 -2
  366. data/spec/models/device_spec.rb +2 -2
  367. data/spec/models/document_spec.rb +2 -2
  368. data/spec/models/dynamic_pricing_exchange_rate_request_spec.rb +59 -0
  369. data/spec/models/{basket_item_spec.rb → dynamic_pricing_spec.rb} +12 -12
  370. data/spec/models/error_details_spec.rb +2 -2
  371. data/spec/models/error_response_spec.rb +2 -2
  372. data/spec/models/error_spec.rb +2 -2
  373. data/spec/models/exchange_rate_request_spec.rb +4 -20
  374. data/spec/models/exchange_rate_response_spec.rb +3 -3
  375. data/spec/models/expiration_spec.rb +2 -2
  376. data/spec/models/fraud_order_items_spec.rb +2 -2
  377. data/spec/models/fraud_order_ship_to_address_spec.rb +2 -2
  378. data/spec/models/fraud_order_spec.rb +2 -2
  379. data/spec/models/frequency_spec.rb +2 -2
  380. data/spec/models/industry_specific_extensions_spec.rb +2 -2
  381. data/spec/models/installment_options_spec.rb +18 -2
  382. data/spec/models/lodging_extra_charges_spec.rb +2 -2
  383. data/spec/models/lodging_spec.rb +2 -2
  384. data/spec/models/loyalty_spec.rb +2 -2
  385. data/spec/models/merchant_location_merchant_address_spec.rb +2 -2
  386. data/spec/models/merchant_location_spec.rb +2 -2
  387. data/spec/models/merchant_spec.rb +2 -2
  388. data/spec/models/order_error_response_spec.rb +2 -8
  389. data/spec/models/order_response_spec.rb +2 -8
  390. data/spec/models/order_spec.rb +32 -2
  391. data/spec/models/pay_pal_payment_method_spec.rb +41 -0
  392. data/spec/models/pay_pal_spec.rb +2 -2
  393. data/spec/models/payment_card_credit_transaction_spec.rb +83 -0
  394. data/spec/models/{primary_transaction_additional_details_spec.rb → payment_card_forced_ticket_transaction_spec.rb} +16 -22
  395. data/spec/models/payment_card_payer_auth_transaction_spec.rb +83 -0
  396. data/spec/models/payment_card_payment_method_spec.rb +47 -0
  397. data/spec/models/payment_card_payment_tokenization_request_spec.rb +71 -0
  398. data/spec/models/payment_card_pre_auth_transaction_spec.rb +101 -0
  399. data/spec/models/payment_card_sale_transaction_spec.rb +101 -0
  400. data/spec/models/payment_card_spec.rb +3 -21
  401. data/spec/models/payment_facilitator_spec.rb +2 -2
  402. data/spec/models/payment_issuer_response_spec.rb +2 -2
  403. data/spec/models/payment_method_details_spec.rb +47 -0
  404. data/spec/models/payment_method_payment_schedules_request_spec.rb +137 -0
  405. data/spec/models/payment_method_spec.rb +2 -48
  406. data/spec/models/payment_method_type_spec.rb +35 -0
  407. data/spec/models/payment_pay_method_spec.rb +2 -2
  408. data/spec/models/payment_schedules_error_response_spec.rb +2 -2
  409. data/spec/models/payment_schedules_request_spec.rb +5 -11
  410. data/spec/models/payment_schedules_response_spec.rb +2 -2
  411. data/spec/models/payment_spec.rb +2 -2
  412. data/spec/models/payment_token_credit_transaction_spec.rb +83 -0
  413. data/spec/models/{payment_tokenization_spec.rb → payment_token_details_spec.rb} +9 -25
  414. data/spec/models/payment_token_payment_method_spec.rb +47 -0
  415. data/spec/models/payment_token_pre_auth_transaction_spec.rb +95 -0
  416. data/spec/models/payment_token_sale_transaction_spec.rb +95 -0
  417. data/spec/models/payment_tokenization_error_response_spec.rb +2 -2
  418. data/spec/models/payment_tokenization_request_spec.rb +12 -10
  419. data/spec/models/payment_tokenization_response_spec.rb +2 -2
  420. data/spec/models/payment_url_error_response_spec.rb +2 -2
  421. data/spec/models/payment_url_request_spec.rb +3 -3
  422. data/spec/models/payment_url_response_spec.rb +2 -2
  423. data/spec/models/payment_verification3ds_spec.rb +2 -2
  424. data/spec/models/payment_verification_avs_spec.rb +2 -2
  425. data/spec/models/payment_verification_cvv_spec.rb +2 -2
  426. data/spec/models/paypal_credit_transaction_spec.rb +77 -0
  427. data/spec/models/post_auth_transaction_spec.rb +77 -0
  428. data/spec/models/primary_transaction_spec.rb +5 -59
  429. data/spec/models/processor_data_spec.rb +14 -2
  430. data/spec/models/purchase_cards_level2_spec.rb +2 -2
  431. data/spec/models/purchase_cards_level3_line_items_spec.rb +3 -3
  432. data/spec/models/purchase_cards_level3_spec.rb +2 -2
  433. data/spec/models/purchase_cards_spec.rb +2 -2
  434. data/spec/models/recurring_payment_details_response_spec.rb +2 -8
  435. data/spec/models/recurring_payment_details_spec.rb +4 -4
  436. data/spec/models/referenced_order_payment_schedules_request_spec.rb +137 -0
  437. data/spec/models/referenced_order_payment_tokenization_request_spec.rb +71 -0
  438. data/spec/models/response_amount_components_spec.rb +77 -0
  439. data/spec/models/response_type_spec.rb +2 -2
  440. data/spec/models/return_transaction_spec.rb +71 -0
  441. data/spec/models/score_only_request_spec.rb +2 -2
  442. data/spec/models/score_only_response_fraud_score_explanations_spec.rb +2 -2
  443. data/spec/models/score_only_response_fraud_score_spec.rb +2 -2
  444. data/spec/models/score_only_response_spec.rb +2 -2
  445. data/spec/models/secondary_transaction_spec.rb +5 -17
  446. data/spec/models/secure3d_authentication_request_spec.rb +41 -0
  447. data/spec/models/{payment_card_authentication_result_spec.rb → secure3d_authentication_result_spec.rb} +11 -15
  448. data/spec/models/secure3d_authentication_verification_request_spec.rb +71 -0
  449. data/spec/models/secure3d_response_spec.rb +2 -2
  450. data/spec/models/sepa_mandate_spec.rb +2 -2
  451. data/spec/models/sepa_payment_method_spec.rb +41 -0
  452. data/spec/models/sepa_sale_transaction_spec.rb +77 -0
  453. data/spec/models/sepa_spec.rb +2 -2
  454. data/spec/models/shipping_spec.rb +2 -2
  455. data/spec/models/soft_descriptor_spec.rb +3 -3
  456. data/spec/models/split_shipment_spec.rb +2 -2
  457. data/spec/models/stored_credential_spec.rb +2 -2
  458. data/spec/models/sub_merchant_data_spec.rb +2 -2
  459. data/spec/models/{card_verifications_transaction_spec.rb → sub_merchant_split_spec.rb} +10 -10
  460. data/spec/models/transaction_error_response_spec.rb +10 -4
  461. data/spec/models/transaction_origin_spec.rb +2 -2
  462. data/spec/models/transaction_response_spec.rb +10 -4
  463. data/spec/models/transaction_spec.rb +4 -4
  464. data/spec/models/transaction_type_spec.rb +2 -2
  465. data/spec/models/{authentication_request_spec.rb → union_pay_authentication_request_spec.rb} +9 -13
  466. data/spec/models/union_pay_authentication_verification_request_spec.rb +65 -0
  467. data/spec/models/use_payment_token_spec.rb +53 -0
  468. data/spec/models/void_transaction_spec.rb +53 -0
  469. data/spec/spec_helper.rb +2 -2
  470. metadata +195 -42
  471. data/docs/AuthenticationRequest.md +0 -9
  472. data/docs/AuthenticationResponseVerification.md +0 -11
  473. data/docs/AuthenticationResponseVerificationRequest.md +0 -11
  474. data/docs/BasketItem.md +0 -11
  475. data/docs/CardVerificationsTransaction.md +0 -9
  476. data/docs/PaymentCardAuthenticationResult.md +0 -12
  477. data/docs/PaymentTokenization.md +0 -16
  478. data/docs/PrimaryTransactionAdditionalDetails.md +0 -16
  479. data/docs/ReferencedOrder.md +0 -9
  480. data/spec/models/referenced_order_spec.rb +0 -47
  481. data/spec/models/secondary_transaction_additional_details_spec.rb +0 -41
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Payment Gateway API Specification.
3
3
 
4
- #Payment Gateway API for payment processing. Version 6.4.0.20181018.001
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.4.0.20181018.001
6
+ OpenAPI spec version: 6.6.0.20190329.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -13,7 +13,7 @@ OpenAPI Generator version: unset
13
13
  require 'date'
14
14
 
15
15
  module OpenapiClient
16
- # This is the common object for primary and secondary payment request responses.
16
+ # Common object for primary and secondary payment request responses.
17
17
  class TransactionResponse
18
18
  # Echoes back the value in the request header for tracking.
19
19
  attr_accessor :client_request_id
@@ -23,10 +23,10 @@ module OpenapiClient
23
23
 
24
24
  attr_accessor :response_type
25
25
 
26
- # The Response Transaction ID
26
+ # The response transaction ID.
27
27
  attr_accessor :ipg_transaction_id
28
28
 
29
- # Client Order ID if supplied by client, otherwise the Order ID
29
+ # Client order ID if supplied by client, otherwise the order ID.
30
30
  attr_accessor :order_id
31
31
 
32
32
  attr_accessor :transaction_type
@@ -35,18 +35,18 @@ module OpenapiClient
35
35
 
36
36
  attr_accessor :transaction_origin
37
37
 
38
- attr_accessor :payment_method
38
+ attr_accessor :payment_method_details
39
39
 
40
- # Country of the card issuer
40
+ # Country of the card issuer.
41
41
  attr_accessor :country
42
42
 
43
- # The terminal that is processing the transaction
43
+ # The terminal that is processing the transaction.
44
44
  attr_accessor :terminal_id
45
45
 
46
- # The unique merchant Transaction ID from the Request header, if supplied
46
+ # The unique merchant transaction ID from the request header, if supplied.
47
47
  attr_accessor :merchant_transaction_id
48
48
 
49
- # The transaction time in seconds since Epoch
49
+ # The transaction time in seconds since epoch.
50
50
  attr_accessor :transaction_time
51
51
 
52
52
  attr_accessor :approved_amount
@@ -71,6 +71,8 @@ module OpenapiClient
71
71
 
72
72
  attr_accessor :additional_details
73
73
 
74
+ attr_accessor :account_updater_response
75
+
74
76
  class EnumAttributeValidator
75
77
  attr_reader :datatype
76
78
  attr_reader :allowable_values
@@ -104,7 +106,7 @@ module OpenapiClient
104
106
  :'transaction_type' => :'transactionType',
105
107
  :'payment_token' => :'paymentToken',
106
108
  :'transaction_origin' => :'transactionOrigin',
107
- :'payment_method' => :'paymentMethod',
109
+ :'payment_method_details' => :'paymentMethodDetails',
108
110
  :'country' => :'country',
109
111
  :'terminal_id' => :'terminalId',
110
112
  :'merchant_transaction_id' => :'merchantTransactionId',
@@ -117,7 +119,8 @@ module OpenapiClient
117
119
  :'authentication_redirect' => :'authenticationRedirect',
118
120
  :'scheme_transaction_id' => :'schemeTransactionId',
119
121
  :'processor' => :'processor',
120
- :'additional_details' => :'additionalDetails'
122
+ :'additional_details' => :'additionalDetails',
123
+ :'account_updater_response' => :'accountUpdaterResponse'
121
124
  }
122
125
  end
123
126
 
@@ -130,9 +133,9 @@ module OpenapiClient
130
133
  :'ipg_transaction_id' => :'String',
131
134
  :'order_id' => :'String',
132
135
  :'transaction_type' => :'TransactionType',
133
- :'payment_token' => :'PaymentTokenization',
136
+ :'payment_token' => :'PaymentTokenDetails',
134
137
  :'transaction_origin' => :'TransactionOrigin',
135
- :'payment_method' => :'PaymentMethod',
138
+ :'payment_method_details' => :'PaymentMethodDetails',
136
139
  :'country' => :'String',
137
140
  :'terminal_id' => :'String',
138
141
  :'merchant_transaction_id' => :'String',
@@ -142,10 +145,11 @@ module OpenapiClient
142
145
  :'transaction_state' => :'String',
143
146
  :'secure3d_response' => :'Secure3dResponse',
144
147
  :'redirect_url' => :'String',
145
- :'authentication_redirect' => :'Object',
148
+ :'authentication_redirect' => :'AuthenticationRedirect',
146
149
  :'scheme_transaction_id' => :'String',
147
150
  :'processor' => :'ProcessorData',
148
- :'additional_details' => :'AdditionalTransactionDetails'
151
+ :'additional_details' => :'AdditionalTransactionDetails',
152
+ :'account_updater_response' => :'AccountUpdaterResponse'
149
153
  }
150
154
  end
151
155
 
@@ -189,8 +193,8 @@ module OpenapiClient
189
193
  self.transaction_origin = attributes[:'transactionOrigin']
190
194
  end
191
195
 
192
- if attributes.has_key?(:'paymentMethod')
193
- self.payment_method = attributes[:'paymentMethod']
196
+ if attributes.has_key?(:'paymentMethodDetails')
197
+ self.payment_method_details = attributes[:'paymentMethodDetails']
194
198
  end
195
199
 
196
200
  if attributes.has_key?(:'country')
@@ -244,16 +248,16 @@ module OpenapiClient
244
248
  if attributes.has_key?(:'additionalDetails')
245
249
  self.additional_details = attributes[:'additionalDetails']
246
250
  end
251
+
252
+ if attributes.has_key?(:'accountUpdaterResponse')
253
+ self.account_updater_response = attributes[:'accountUpdaterResponse']
254
+ end
247
255
  end
248
256
 
249
257
  # Show invalid properties with the reasons. Usually used together with valid?
250
258
  # @return Array for valid properties with the reasons
251
259
  def list_invalid_properties
252
260
  invalid_properties = Array.new
253
- if @response_type.nil?
254
- invalid_properties.push('invalid value for "response_type", response_type cannot be nil.')
255
- end
256
-
257
261
  if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
258
262
  invalid_properties.push('invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.')
259
263
  end
@@ -268,11 +272,10 @@ module OpenapiClient
268
272
  # Check to see if the all the properties in the model are valid
269
273
  # @return true if the model is valid
270
274
  def valid?
271
- return false if @response_type.nil?
272
275
  return false if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
273
276
  transaction_status_validator = EnumAttributeValidator.new('String', ['APPROVED', 'WAITING', 'VALIDATION_FAILED', 'PROCESSING_FAILED', 'DECLINED'])
274
277
  return false unless transaction_status_validator.valid?(@transaction_status)
275
- transaction_state_validator = EnumAttributeValidator.new('String', ['AUTHORIZED', 'CAPTURED', 'DECLINED', 'CHECKED', 'INITIALIZED', 'PENDING', 'READY', 'SETTLED', 'VOIDED', 'WAITING'])
278
+ transaction_state_validator = EnumAttributeValidator.new('String', ['AUTHORIZED', 'CAPTURED', 'DECLINED', 'CHECKED', 'COMPLETED_GET', 'INITIALIZED', 'PENDING', 'READY', 'TEMPLATE', 'SETTLED', 'VOIDED', 'WAITING'])
276
279
  return false unless transaction_state_validator.valid?(@transaction_state)
277
280
  return false if !@scheme_transaction_id.nil? && @scheme_transaction_id.to_s.length > 40
278
281
  true
@@ -301,7 +304,7 @@ module OpenapiClient
301
304
  # Custom attribute writer method checking allowed values (enum).
302
305
  # @param [Object] transaction_state Object to be assigned
303
306
  def transaction_state=(transaction_state)
304
- validator = EnumAttributeValidator.new('String', ['AUTHORIZED', 'CAPTURED', 'DECLINED', 'CHECKED', 'INITIALIZED', 'PENDING', 'READY', 'SETTLED', 'VOIDED', 'WAITING'])
307
+ validator = EnumAttributeValidator.new('String', ['AUTHORIZED', 'CAPTURED', 'DECLINED', 'CHECKED', 'COMPLETED_GET', 'INITIALIZED', 'PENDING', 'READY', 'TEMPLATE', 'SETTLED', 'VOIDED', 'WAITING'])
305
308
  unless validator.valid?(transaction_state)
306
309
  fail ArgumentError, 'invalid value for "transaction_state", must be one of #{validator.allowable_values}.'
307
310
  end
@@ -331,7 +334,7 @@ module OpenapiClient
331
334
  transaction_type == o.transaction_type &&
332
335
  payment_token == o.payment_token &&
333
336
  transaction_origin == o.transaction_origin &&
334
- payment_method == o.payment_method &&
337
+ payment_method_details == o.payment_method_details &&
335
338
  country == o.country &&
336
339
  terminal_id == o.terminal_id &&
337
340
  merchant_transaction_id == o.merchant_transaction_id &&
@@ -344,7 +347,8 @@ module OpenapiClient
344
347
  authentication_redirect == o.authentication_redirect &&
345
348
  scheme_transaction_id == o.scheme_transaction_id &&
346
349
  processor == o.processor &&
347
- additional_details == o.additional_details
350
+ additional_details == o.additional_details &&
351
+ account_updater_response == o.account_updater_response
348
352
  end
349
353
 
350
354
  # @see the `==` method
@@ -356,7 +360,7 @@ module OpenapiClient
356
360
  # Calculates hash code according to all attributes.
357
361
  # @return [Fixnum] Hash code
358
362
  def hash
359
- [client_request_id, api_trace_id, response_type, ipg_transaction_id, order_id, transaction_type, payment_token, transaction_origin, payment_method, country, terminal_id, merchant_transaction_id, transaction_time, approved_amount, transaction_status, transaction_state, secure3d_response, redirect_url, authentication_redirect, scheme_transaction_id, processor, additional_details].hash
363
+ [client_request_id, api_trace_id, response_type, ipg_transaction_id, order_id, transaction_type, payment_token, transaction_origin, payment_method_details, country, terminal_id, merchant_transaction_id, transaction_time, approved_amount, transaction_status, transaction_state, secure3d_response, redirect_url, authentication_redirect, scheme_transaction_id, processor, additional_details, account_updater_response].hash
360
364
  end
361
365
 
362
366
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Payment Gateway API Specification.
3
3
 
4
- #Payment Gateway API for payment processing. Version 6.4.0.20181018.001
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.4.0.20181018.001
6
+ OpenAPI spec version: 6.6.0.20190329.001
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -0,0 +1,224 @@
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
+ OpenAPI spec version: 6.6.0.20190329.001
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
+ # Request authentication of the payment card using the UnionPay SMS scheme.
17
+ class UnionPayAuthenticationRequest
18
+ # Indicates what kind of authentication scheme the merchant wants to use on the card.
19
+ attr_accessor :request_type
20
+
21
+ # Mobile number for SMS verification.
22
+ attr_accessor :sms_phone_number
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'request_type' => :'requestType',
28
+ :'sms_phone_number' => :'smsPhoneNumber'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'request_type' => :'String',
36
+ :'sms_phone_number' => :'String'
37
+ }
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ return unless attributes.is_a?(Hash)
44
+
45
+ # convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
47
+
48
+ if attributes.has_key?(:'requestType')
49
+ self.request_type = attributes[:'requestType']
50
+ end
51
+
52
+ if attributes.has_key?(:'smsPhoneNumber')
53
+ self.sms_phone_number = attributes[:'smsPhoneNumber']
54
+ end
55
+ end
56
+
57
+ # Show invalid properties with the reasons. Usually used together with valid?
58
+ # @return Array for valid properties with the reasons
59
+ def list_invalid_properties
60
+ invalid_properties = Array.new
61
+ if @request_type.nil?
62
+ invalid_properties.push('invalid value for "request_type", request_type cannot be nil.')
63
+ end
64
+
65
+ if @sms_phone_number.nil?
66
+ invalid_properties.push('invalid value for "sms_phone_number", sms_phone_number cannot be nil.')
67
+ end
68
+
69
+ if @sms_phone_number.to_s.length < 7
70
+ invalid_properties.push('invalid value for "sms_phone_number", the character length must be great than or equal to 7.')
71
+ end
72
+
73
+ invalid_properties
74
+ end
75
+
76
+ # Check to see if the all the properties in the model are valid
77
+ # @return true if the model is valid
78
+ def valid?
79
+ return false if @request_type.nil?
80
+ return false if @sms_phone_number.nil?
81
+ return false if @sms_phone_number.to_s.length < 7
82
+ true
83
+ end
84
+
85
+ # Custom attribute writer method with validation
86
+ # @param [Object] sms_phone_number Value to be assigned
87
+ def sms_phone_number=(sms_phone_number)
88
+ if sms_phone_number.nil?
89
+ fail ArgumentError, 'sms_phone_number cannot be nil'
90
+ end
91
+
92
+ if sms_phone_number.to_s.length < 7
93
+ fail ArgumentError, 'invalid value for "sms_phone_number", the character length must be great than or equal to 7.'
94
+ end
95
+
96
+ @sms_phone_number = sms_phone_number
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] Object to be compared
101
+ def ==(o)
102
+ return true if self.equal?(o)
103
+ self.class == o.class &&
104
+ request_type == o.request_type &&
105
+ sms_phone_number == o.sms_phone_number
106
+ end
107
+
108
+ # @see the `==` method
109
+ # @param [Object] Object to be compared
110
+ def eql?(o)
111
+ self == o
112
+ end
113
+
114
+ # Calculates hash code according to all attributes.
115
+ # @return [Fixnum] Hash code
116
+ def hash
117
+ [request_type, sms_phone_number].hash
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.openapi_types.each_pair do |key, type|
126
+ if type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :BOOLEAN
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ temp_model = OpenapiClient.const_get(type).new
178
+ temp_model.build_from_hash(value)
179
+ end
180
+ end
181
+
182
+ # Returns the string representation of the object
183
+ # @return [String] String presentation of the object
184
+ def to_s
185
+ to_hash.to_s
186
+ end
187
+
188
+ # to_body is an alias to to_hash (backward compatibility)
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_body
191
+ to_hash
192
+ end
193
+
194
+ # Returns the object in the form of hash
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_hash
197
+ hash = {}
198
+ self.class.attribute_map.each_pair do |attr, param|
199
+ value = self.send(attr)
200
+ next if value.nil?
201
+ hash[param] = _to_hash(value)
202
+ end
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map { |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to? :to_hash
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,249 @@
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
+ OpenAPI spec version: 6.6.0.20190329.001
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
+ # Authentication verification request specific to UnionPay transactions.
17
+ class UnionPayAuthenticationVerificationRequest
18
+ # An optional Outlet ID for clients that support multiple stores in the same developer app.
19
+ attr_accessor :store_id
20
+
21
+ # Object name of the authentication verification request.
22
+ attr_accessor :request_type
23
+
24
+ # Card security code if required by merchant.
25
+ attr_accessor :security_code
26
+
27
+ attr_accessor :billing_address
28
+
29
+ # Customer mobile number for SMS verification.
30
+ attr_accessor :sms_verification_code
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'store_id' => :'storeId',
36
+ :'request_type' => :'requestType',
37
+ :'security_code' => :'securityCode',
38
+ :'billing_address' => :'billingAddress',
39
+ :'sms_verification_code' => :'smsVerificationCode'
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'store_id' => :'String',
47
+ :'request_type' => :'String',
48
+ :'security_code' => :'String',
49
+ :'billing_address' => :'Address',
50
+ :'sms_verification_code' => :'String'
51
+ }
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ return unless attributes.is_a?(Hash)
58
+
59
+ # convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
61
+
62
+ if attributes.has_key?(:'storeId')
63
+ self.store_id = attributes[:'storeId']
64
+ end
65
+
66
+ if attributes.has_key?(:'requestType')
67
+ self.request_type = attributes[:'requestType']
68
+ end
69
+
70
+ if attributes.has_key?(:'securityCode')
71
+ self.security_code = attributes[:'securityCode']
72
+ end
73
+
74
+ if attributes.has_key?(:'billingAddress')
75
+ self.billing_address = attributes[:'billingAddress']
76
+ end
77
+
78
+ if attributes.has_key?(:'smsVerificationCode')
79
+ self.sms_verification_code = attributes[:'smsVerificationCode']
80
+ end
81
+ end
82
+
83
+ # Show invalid properties with the reasons. Usually used together with valid?
84
+ # @return Array for valid properties with the reasons
85
+ def list_invalid_properties
86
+ invalid_properties = Array.new
87
+ if !@store_id.nil? && @store_id.to_s.length > 20
88
+ invalid_properties.push('invalid value for "store_id", the character length must be smaller than or equal to 20.')
89
+ end
90
+
91
+ if @request_type.nil?
92
+ invalid_properties.push('invalid value for "request_type", request_type cannot be nil.')
93
+ end
94
+
95
+ if @sms_verification_code.nil?
96
+ invalid_properties.push('invalid value for "sms_verification_code", sms_verification_code cannot be nil.')
97
+ end
98
+
99
+ invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+ return false if !@store_id.nil? && @store_id.to_s.length > 20
106
+ return false if @request_type.nil?
107
+ return false if @sms_verification_code.nil?
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param [Object] store_id Value to be assigned
113
+ def store_id=(store_id)
114
+ if !store_id.nil? && store_id.to_s.length > 20
115
+ fail ArgumentError, 'invalid value for "store_id", the character length must be smaller than or equal to 20.'
116
+ end
117
+
118
+ @store_id = store_id
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param [Object] Object to be compared
123
+ def ==(o)
124
+ return true if self.equal?(o)
125
+ self.class == o.class &&
126
+ store_id == o.store_id &&
127
+ request_type == o.request_type &&
128
+ security_code == o.security_code &&
129
+ billing_address == o.billing_address &&
130
+ sms_verification_code == o.sms_verification_code
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] Object to be compared
135
+ def eql?(o)
136
+ self == o
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Fixnum] Hash code
141
+ def hash
142
+ [store_id, request_type, security_code, billing_address, sms_verification_code].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ self.class.openapi_types.each_pair do |key, type|
151
+ if type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def _deserialize(type, value)
170
+ case type.to_sym
171
+ when :DateTime
172
+ DateTime.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value.to_s
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :BOOLEAN
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ temp_model = OpenapiClient.const_get(type).new
203
+ temp_model.build_from_hash(value)
204
+ end
205
+ end
206
+
207
+ # Returns the string representation of the object
208
+ # @return [String] String presentation of the object
209
+ def to_s
210
+ to_hash.to_s
211
+ end
212
+
213
+ # to_body is an alias to to_hash (backward compatibility)
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_body
216
+ to_hash
217
+ end
218
+
219
+ # Returns the object in the form of hash
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_hash
222
+ hash = {}
223
+ self.class.attribute_map.each_pair do |attr, param|
224
+ value = self.send(attr)
225
+ next if value.nil?
226
+ hash[param] = _to_hash(value)
227
+ end
228
+ hash
229
+ end
230
+
231
+ # Outputs non-array value in the form of hash
232
+ # For object, use to_hash. Otherwise, just return the value
233
+ # @param [Object] value Any valid value
234
+ # @return [Hash] Returns the value in the form of hash
235
+ def _to_hash(value)
236
+ if value.is_a?(Array)
237
+ value.compact.map { |v| _to_hash(v) }
238
+ elsif value.is_a?(Hash)
239
+ {}.tap do |hash|
240
+ value.each { |k, v| hash[k] = _to_hash(v) }
241
+ end
242
+ elsif value.respond_to? :to_hash
243
+ value.to_hash
244
+ else
245
+ value
246
+ end
247
+ end
248
+ end
249
+ end