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
@@ -21,10 +21,9 @@ module OpenapiClient
21
21
  # The product ID of the brand.
22
22
  attr_accessor :brand_product_id
23
23
 
24
- # The functions of the card. Possible values are credit, debit, prepaid, voucher and undefined.
25
24
  attr_accessor :card_function
26
25
 
27
- # Indicates whether it is a corporate or non corporate card
26
+ # Indicates whether it is a corporate or non-corporate card.
28
27
  attr_accessor :commercial_card
29
28
 
30
29
  # The country of the issuer.
@@ -72,7 +71,7 @@ module OpenapiClient
72
71
  {
73
72
  :'brand' => :'String',
74
73
  :'brand_product_id' => :'String',
75
- :'card_function' => :'String',
74
+ :'card_function' => :'CardFunction',
76
75
  :'commercial_card' => :'String',
77
76
  :'issuer_country' => :'String',
78
77
  :'issuer_name' => :'String'
@@ -122,23 +121,11 @@ module OpenapiClient
122
121
  # Check to see if the all the properties in the model are valid
123
122
  # @return true if the model is valid
124
123
  def valid?
125
- card_function_validator = EnumAttributeValidator.new('String', ['credit', 'debit', 'prepaid', 'voucher', 'undefined'])
126
- return false unless card_function_validator.valid?(@card_function)
127
124
  commercial_card_validator = EnumAttributeValidator.new('String', ['CORPORATE', 'NON_CORPORATE'])
128
125
  return false unless commercial_card_validator.valid?(@commercial_card)
129
126
  true
130
127
  end
131
128
 
132
- # Custom attribute writer method checking allowed values (enum).
133
- # @param [Object] card_function Object to be assigned
134
- def card_function=(card_function)
135
- validator = EnumAttributeValidator.new('String', ['credit', 'debit', 'prepaid', 'voucher', 'undefined'])
136
- unless validator.valid?(card_function)
137
- fail ArgumentError, 'invalid value for "card_function", must be one of #{validator.allowable_values}.'
138
- end
139
- @card_function = card_function
140
- end
141
-
142
129
  # Custom attribute writer method checking allowed values (enum).
143
130
  # @param [Object] commercial_card Object to be assigned
144
131
  def commercial_card=(commercial_card)
@@ -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
- # Request to look up card related information such as issuer country, card function and card brand.
16
+ # Request to look up card-related information such as issuer country, card function and card brand.
17
17
  class CardInfoLookupRequest
18
18
  # An optional outlet id for clients that support multiple stores in the same developer app.
19
19
  attr_accessor :store_id
@@ -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
@@ -108,17 +108,12 @@ module OpenapiClient
108
108
  # @return Array for valid properties with the reasons
109
109
  def list_invalid_properties
110
110
  invalid_properties = Array.new
111
- if @response_type.nil?
112
- invalid_properties.push('invalid value for "response_type", response_type cannot be nil.')
113
- end
114
-
115
111
  invalid_properties
116
112
  end
117
113
 
118
114
  # Check to see if the all the properties in the model are valid
119
115
  # @return true if the model is valid
120
116
  def valid?
121
- return false if @response_type.nil?
122
117
  request_status_validator = EnumAttributeValidator.new('String', ['SUCCESS', 'LIST_EMPTY'])
123
118
  return false unless request_status_validator.valid?(@request_status)
124
119
  true
@@ -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,17 +13,21 @@ OpenAPI Generator version: unset
13
13
  require 'date'
14
14
 
15
15
  module OpenapiClient
16
- # Request to verify card.
16
+ # Request to verify card validity.
17
17
  class CardVerificationRequest
18
18
  attr_accessor :payment_card
19
19
 
20
20
  attr_accessor :billing_address
21
21
 
22
+ # An optional outlet ID for clients that support multiple stores in the same app.
23
+ attr_accessor :store_id
24
+
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
25
28
  :'payment_card' => :'paymentCard',
26
- :'billing_address' => :'billingAddress'
29
+ :'billing_address' => :'billingAddress',
30
+ :'store_id' => :'storeId'
27
31
  }
28
32
  end
29
33
 
@@ -31,7 +35,8 @@ module OpenapiClient
31
35
  def self.openapi_types
32
36
  {
33
37
  :'payment_card' => :'PaymentCard',
34
- :'billing_address' => :'Address'
38
+ :'billing_address' => :'Address',
39
+ :'store_id' => :'String'
35
40
  }
36
41
  end
37
42
 
@@ -50,6 +55,10 @@ module OpenapiClient
50
55
  if attributes.has_key?(:'billingAddress')
51
56
  self.billing_address = attributes[:'billingAddress']
52
57
  end
58
+
59
+ if attributes.has_key?(:'storeId')
60
+ self.store_id = attributes[:'storeId']
61
+ end
53
62
  end
54
63
 
55
64
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -60,6 +69,10 @@ module OpenapiClient
60
69
  invalid_properties.push('invalid value for "payment_card", payment_card cannot be nil.')
61
70
  end
62
71
 
72
+ if !@store_id.nil? && @store_id.to_s.length > 20
73
+ invalid_properties.push('invalid value for "store_id", the character length must be smaller than or equal to 20.')
74
+ end
75
+
63
76
  invalid_properties
64
77
  end
65
78
 
@@ -67,16 +80,28 @@ module OpenapiClient
67
80
  # @return true if the model is valid
68
81
  def valid?
69
82
  return false if @payment_card.nil?
83
+ return false if !@store_id.nil? && @store_id.to_s.length > 20
70
84
  true
71
85
  end
72
86
 
87
+ # Custom attribute writer method with validation
88
+ # @param [Object] store_id Value to be assigned
89
+ def store_id=(store_id)
90
+ if !store_id.nil? && store_id.to_s.length > 20
91
+ fail ArgumentError, 'invalid value for "store_id", the character length must be smaller than or equal to 20.'
92
+ end
93
+
94
+ @store_id = store_id
95
+ end
96
+
73
97
  # Checks equality by comparing each attribute.
74
98
  # @param [Object] Object to be compared
75
99
  def ==(o)
76
100
  return true if self.equal?(o)
77
101
  self.class == o.class &&
78
102
  payment_card == o.payment_card &&
79
- billing_address == o.billing_address
103
+ billing_address == o.billing_address &&
104
+ store_id == o.store_id
80
105
  end
81
106
 
82
107
  # @see the `==` method
@@ -88,7 +113,7 @@ module OpenapiClient
88
113
  # Calculates hash code according to all attributes.
89
114
  # @return [Fixnum] Hash code
90
115
  def hash
91
- [payment_card, billing_address].hash
116
+ [payment_card, billing_address, store_id].hash
92
117
  end
93
118
 
94
119
  # 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
@@ -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,17 +13,11 @@ OpenAPI Generator version: unset
13
13
  require 'date'
14
14
 
15
15
  module OpenapiClient
16
- # Object holding response verification information.
17
- class AuthenticationResponseVerification
18
- attr_accessor :type
16
+ # Payment method containing China Domestic information.
17
+ class ChinaDomesticPaymentMethod
18
+ attr_accessor :china_domestic
19
19
 
20
- # Use this to enter the customer mobile number for SMS verification.
21
- attr_accessor :sms_verification_code
22
-
23
- attr_accessor :merchant_data
24
-
25
- # Payer authentication result from Payment Authentication Response (PaRes)
26
- attr_accessor :pa_res
20
+ attr_accessor :brand
27
21
 
28
22
  class EnumAttributeValidator
29
23
  attr_reader :datatype
@@ -50,20 +44,16 @@ module OpenapiClient
50
44
  # Attribute mapping from ruby-style variable name to JSON key.
51
45
  def self.attribute_map
52
46
  {
53
- :'type' => :'type',
54
- :'sms_verification_code' => :'smsVerificationCode',
55
- :'merchant_data' => :'merchantData',
56
- :'pa_res' => :'paRes'
47
+ :'china_domestic' => :'chinaDomestic',
48
+ :'brand' => :'brand'
57
49
  }
58
50
  end
59
51
 
60
52
  # Attribute type mapping.
61
53
  def self.openapi_types
62
54
  {
63
- :'type' => :'String',
64
- :'sms_verification_code' => :'String',
65
- :'merchant_data' => :'String',
66
- :'pa_res' => :'String'
55
+ :'china_domestic' => :'ChinaDomestic',
56
+ :'brand' => :'String'
67
57
  }
68
58
  end
69
59
 
@@ -75,20 +65,12 @@ module OpenapiClient
75
65
  # convert string to symbol for hash key
76
66
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
77
67
 
78
- if attributes.has_key?(:'type')
79
- self.type = attributes[:'type']
80
- end
81
-
82
- if attributes.has_key?(:'smsVerificationCode')
83
- self.sms_verification_code = attributes[:'smsVerificationCode']
68
+ if attributes.has_key?(:'chinaDomestic')
69
+ self.china_domestic = attributes[:'chinaDomestic']
84
70
  end
85
71
 
86
- if attributes.has_key?(:'merchantData')
87
- self.merchant_data = attributes[:'merchantData']
88
- end
89
-
90
- if attributes.has_key?(:'paRes')
91
- self.pa_res = attributes[:'paRes']
72
+ if attributes.has_key?(:'brand')
73
+ self.brand = attributes[:'brand']
92
74
  end
93
75
  end
94
76
 
@@ -96,8 +78,12 @@ module OpenapiClient
96
78
  # @return Array for valid properties with the reasons
97
79
  def list_invalid_properties
98
80
  invalid_properties = Array.new
99
- if @type.nil?
100
- invalid_properties.push('invalid value for "type", type cannot be nil.')
81
+ if @china_domestic.nil?
82
+ invalid_properties.push('invalid value for "china_domestic", china_domestic cannot be nil.')
83
+ end
84
+
85
+ if @brand.nil?
86
+ invalid_properties.push('invalid value for "brand", brand cannot be nil.')
101
87
  end
102
88
 
103
89
  invalid_properties
@@ -106,20 +92,21 @@ module OpenapiClient
106
92
  # Check to see if the all the properties in the model are valid
107
93
  # @return true if the model is valid
108
94
  def valid?
109
- return false if @type.nil?
110
- type_validator = EnumAttributeValidator.new('String', ['SECURE_3D', 'UNIONPAY'])
111
- return false unless type_validator.valid?(@type)
95
+ return false if @china_domestic.nil?
96
+ return false if @brand.nil?
97
+ brand_validator = EnumAttributeValidator.new('String', ['ALIPAY_DOMESTIC', 'CUP_DOMESTIC', 'WECHAT_DOMESTIC'])
98
+ return false unless brand_validator.valid?(@brand)
112
99
  true
113
100
  end
114
101
 
115
102
  # Custom attribute writer method checking allowed values (enum).
116
- # @param [Object] type Object to be assigned
117
- def type=(type)
118
- validator = EnumAttributeValidator.new('String', ['SECURE_3D', 'UNIONPAY'])
119
- unless validator.valid?(type)
120
- fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
103
+ # @param [Object] brand Object to be assigned
104
+ def brand=(brand)
105
+ validator = EnumAttributeValidator.new('String', ['ALIPAY_DOMESTIC', 'CUP_DOMESTIC', 'WECHAT_DOMESTIC'])
106
+ unless validator.valid?(brand)
107
+ fail ArgumentError, 'invalid value for "brand", must be one of #{validator.allowable_values}.'
121
108
  end
122
- @type = type
109
+ @brand = brand
123
110
  end
124
111
 
125
112
  # Checks equality by comparing each attribute.
@@ -127,10 +114,8 @@ module OpenapiClient
127
114
  def ==(o)
128
115
  return true if self.equal?(o)
129
116
  self.class == o.class &&
130
- type == o.type &&
131
- sms_verification_code == o.sms_verification_code &&
132
- merchant_data == o.merchant_data &&
133
- pa_res == o.pa_res
117
+ china_domestic == o.china_domestic &&
118
+ brand == o.brand
134
119
  end
135
120
 
136
121
  # @see the `==` method
@@ -142,7 +127,7 @@ module OpenapiClient
142
127
  # Calculates hash code according to all attributes.
143
128
  # @return [Fixnum] Hash code
144
129
  def hash
145
- [type, sms_verification_code, merchant_data, pa_res].hash
130
+ [china_domestic, brand].hash
146
131
  end
147
132
 
148
133
  # Builds the object from hash
@@ -0,0 +1,286 @@
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 to create sale transaction using China PnR.
17
+ class ChinaPnRSaleTransaction
18
+ # Object name of the primary transaction request.
19
+ attr_accessor :request_type
20
+
21
+ # An optional outlet ID for clients that support multiple stores in the same app.
22
+ attr_accessor :store_id
23
+
24
+ # The unique merchant transaction ID from the request header, if supplied.
25
+ attr_accessor :merchant_transaction_id
26
+
27
+ attr_accessor :transaction_amount
28
+
29
+ attr_accessor :transaction_origin
30
+
31
+ attr_accessor :order
32
+
33
+ attr_accessor :payment_method
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'request_type' => :'requestType',
39
+ :'store_id' => :'storeId',
40
+ :'merchant_transaction_id' => :'merchantTransactionId',
41
+ :'transaction_amount' => :'transactionAmount',
42
+ :'transaction_origin' => :'transactionOrigin',
43
+ :'order' => :'order',
44
+ :'payment_method' => :'paymentMethod'
45
+ }
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'request_type' => :'String',
52
+ :'store_id' => :'String',
53
+ :'merchant_transaction_id' => :'String',
54
+ :'transaction_amount' => :'Amount',
55
+ :'transaction_origin' => :'TransactionOrigin',
56
+ :'order' => :'Order',
57
+ :'payment_method' => :'ChinaDomesticPaymentMethod'
58
+ }
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ return unless attributes.is_a?(Hash)
65
+
66
+ # convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
68
+
69
+ if attributes.has_key?(:'requestType')
70
+ self.request_type = attributes[:'requestType']
71
+ end
72
+
73
+ if attributes.has_key?(:'storeId')
74
+ self.store_id = attributes[:'storeId']
75
+ end
76
+
77
+ if attributes.has_key?(:'merchantTransactionId')
78
+ self.merchant_transaction_id = attributes[:'merchantTransactionId']
79
+ end
80
+
81
+ if attributes.has_key?(:'transactionAmount')
82
+ self.transaction_amount = attributes[:'transactionAmount']
83
+ end
84
+
85
+ if attributes.has_key?(:'transactionOrigin')
86
+ self.transaction_origin = attributes[:'transactionOrigin']
87
+ end
88
+
89
+ if attributes.has_key?(:'order')
90
+ self.order = attributes[:'order']
91
+ end
92
+
93
+ if attributes.has_key?(:'paymentMethod')
94
+ self.payment_method = attributes[:'paymentMethod']
95
+ end
96
+ end
97
+
98
+ # Show invalid properties with the reasons. Usually used together with valid?
99
+ # @return Array for valid properties with the reasons
100
+ def list_invalid_properties
101
+ invalid_properties = Array.new
102
+ if @request_type.nil?
103
+ invalid_properties.push('invalid value for "request_type", request_type cannot be nil.')
104
+ end
105
+
106
+ if !@store_id.nil? && @store_id.to_s.length > 20
107
+ invalid_properties.push('invalid value for "store_id", the character length must be smaller than or equal to 20.')
108
+ end
109
+
110
+ if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
111
+ invalid_properties.push('invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.')
112
+ end
113
+
114
+ if @transaction_amount.nil?
115
+ invalid_properties.push('invalid value for "transaction_amount", transaction_amount cannot be nil.')
116
+ end
117
+
118
+ if @payment_method.nil?
119
+ invalid_properties.push('invalid value for "payment_method", payment_method cannot be nil.')
120
+ end
121
+
122
+ invalid_properties
123
+ end
124
+
125
+ # Check to see if the all the properties in the model are valid
126
+ # @return true if the model is valid
127
+ def valid?
128
+ return false if @request_type.nil?
129
+ return false if !@store_id.nil? && @store_id.to_s.length > 20
130
+ return false if !@merchant_transaction_id.nil? && @merchant_transaction_id.to_s.length > 40
131
+ return false if @transaction_amount.nil?
132
+ return false if @payment_method.nil?
133
+ true
134
+ end
135
+
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] store_id Value to be assigned
138
+ def store_id=(store_id)
139
+ if !store_id.nil? && store_id.to_s.length > 20
140
+ fail ArgumentError, 'invalid value for "store_id", the character length must be smaller than or equal to 20.'
141
+ end
142
+
143
+ @store_id = store_id
144
+ end
145
+
146
+ # Custom attribute writer method with validation
147
+ # @param [Object] merchant_transaction_id Value to be assigned
148
+ def merchant_transaction_id=(merchant_transaction_id)
149
+ if !merchant_transaction_id.nil? && merchant_transaction_id.to_s.length > 40
150
+ fail ArgumentError, 'invalid value for "merchant_transaction_id", the character length must be smaller than or equal to 40.'
151
+ end
152
+
153
+ @merchant_transaction_id = merchant_transaction_id
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ request_type == o.request_type &&
162
+ store_id == o.store_id &&
163
+ merchant_transaction_id == o.merchant_transaction_id &&
164
+ transaction_amount == o.transaction_amount &&
165
+ transaction_origin == o.transaction_origin &&
166
+ order == o.order &&
167
+ payment_method == o.payment_method
168
+ end
169
+
170
+ # @see the `==` method
171
+ # @param [Object] Object to be compared
172
+ def eql?(o)
173
+ self == o
174
+ end
175
+
176
+ # Calculates hash code according to all attributes.
177
+ # @return [Fixnum] Hash code
178
+ def hash
179
+ [request_type, store_id, merchant_transaction_id, transaction_amount, transaction_origin, order, payment_method].hash
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def build_from_hash(attributes)
186
+ return nil unless attributes.is_a?(Hash)
187
+ self.class.openapi_types.each_pair do |key, type|
188
+ if type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
192
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
193
+ end
194
+ elsif !attributes[self.class.attribute_map[key]].nil?
195
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
196
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
197
+ end
198
+
199
+ self
200
+ end
201
+
202
+ # Deserializes the data based on type
203
+ # @param string type Data type
204
+ # @param string value Value to be deserialized
205
+ # @return [Object] Deserialized data
206
+ def _deserialize(type, value)
207
+ case type.to_sym
208
+ when :DateTime
209
+ DateTime.parse(value)
210
+ when :Date
211
+ Date.parse(value)
212
+ when :String
213
+ value.to_s
214
+ when :Integer
215
+ value.to_i
216
+ when :Float
217
+ value.to_f
218
+ when :BOOLEAN
219
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
220
+ true
221
+ else
222
+ false
223
+ end
224
+ when :Object
225
+ # generic object (usually a Hash), return directly
226
+ value
227
+ when /\AArray<(?<inner_type>.+)>\z/
228
+ inner_type = Regexp.last_match[:inner_type]
229
+ value.map { |v| _deserialize(inner_type, v) }
230
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
231
+ k_type = Regexp.last_match[:k_type]
232
+ v_type = Regexp.last_match[:v_type]
233
+ {}.tap do |hash|
234
+ value.each do |k, v|
235
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
236
+ end
237
+ end
238
+ else # model
239
+ temp_model = OpenapiClient.const_get(type).new
240
+ temp_model.build_from_hash(value)
241
+ end
242
+ end
243
+
244
+ # Returns the string representation of the object
245
+ # @return [String] String presentation of the object
246
+ def to_s
247
+ to_hash.to_s
248
+ end
249
+
250
+ # to_body is an alias to to_hash (backward compatibility)
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # Returns the object in the form of hash
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_hash
259
+ hash = {}
260
+ self.class.attribute_map.each_pair do |attr, param|
261
+ value = self.send(attr)
262
+ next if value.nil?
263
+ hash[param] = _to_hash(value)
264
+ end
265
+ hash
266
+ end
267
+
268
+ # Outputs non-array value in the form of hash
269
+ # For object, use to_hash. Otherwise, just return the value
270
+ # @param [Object] value Any valid value
271
+ # @return [Hash] Returns the value in the form of hash
272
+ def _to_hash(value)
273
+ if value.is_a?(Array)
274
+ value.compact.map { |v| _to_hash(v) }
275
+ elsif value.is_a?(Hash)
276
+ {}.tap do |hash|
277
+ value.each { |k, v| hash[k] = _to_hash(v) }
278
+ end
279
+ elsif value.respond_to? :to_hash
280
+ value.to_hash
281
+ else
282
+ value
283
+ end
284
+ end
285
+ end
286
+ end