first_data_gateway 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/docs/AirlineTravelRoute.md +1 -1
  4. data/docs/BancontactQR.md +19 -0
  5. data/docs/Billing.md +1 -1
  6. data/docs/BillingAddress.md +1 -1
  7. data/docs/BlockCard.md +21 -0
  8. data/docs/BlockDomain.md +17 -0
  9. data/docs/BlockIPAddress.md +19 -0
  10. data/docs/BlockName.md +19 -0
  11. data/docs/BlockedCardNumber.md +19 -0
  12. data/docs/BlockedItems.md +23 -0
  13. data/docs/CarRental.md +2 -2
  14. data/docs/ClientRegistration.md +29 -0
  15. data/docs/CountryProfile.md +17 -0
  16. data/docs/CustomerAddress.md +3 -3
  17. data/docs/DecryptedApplePay.md +31 -0
  18. data/docs/DecryptedApplePayWalletPaymentMethod.md +17 -0
  19. data/docs/DecryptedApplePayWalletPaymentMethodAllOf.md +17 -0
  20. data/docs/DecryptedGooglePay.md +31 -0
  21. data/docs/DecryptedGooglePayWalletPaymentMethod.md +17 -0
  22. data/docs/DecryptedGooglePayWalletPaymentMethodAllOf.md +17 -0
  23. data/docs/DecryptedSamsungPay.md +31 -0
  24. data/docs/DecryptedSamsungPayWalletPaymentMethod.md +17 -0
  25. data/docs/DecryptedSamsungPayWalletPaymentMethodAllOf.md +17 -0
  26. data/docs/Device.md +1 -1
  27. data/docs/EncryptedSamsungPay.md +19 -0
  28. data/docs/EncryptedSamsungPayWalletPaymentMethod.md +17 -0
  29. data/docs/EncryptedSamsungPayWalletPaymentMethodAllOf.md +17 -0
  30. data/docs/ErrorMessage.md +19 -0
  31. data/docs/Expiration.md +2 -2
  32. data/docs/FraudAddress.md +27 -0
  33. data/docs/FraudDetectApi.md +124 -0
  34. data/docs/FraudOrder.md +1 -1
  35. data/docs/FraudRegistration.md +27 -0
  36. data/docs/FraudRegistrationCard.md +27 -0
  37. data/docs/FraudRegistrationDevice.md +39 -0
  38. data/docs/FraudRegistrationDeviceItems.md +27 -0
  39. data/docs/FraudRegistrationError.md +17 -0
  40. data/docs/FraudRegistrationResponse.md +27 -0
  41. data/docs/FraudScore.md +23 -0
  42. data/docs/FraudSettings.md +23 -0
  43. data/docs/FraudSettingsResponse.md +37 -0
  44. data/docs/{PaymentIssuerResponse.md → IssuerResponse.md} +2 -2
  45. data/docs/{DeviceNetworks.md → Items.md} +2 -2
  46. data/docs/{MerchantLocation.md → Location.md} +3 -3
  47. data/docs/LockoutTime.md +19 -0
  48. data/docs/Lodging.md +2 -2
  49. data/docs/MaximumPurchaseAmount.md +19 -0
  50. data/docs/Merchant.md +1 -1
  51. data/docs/{PaymentPayMethod.md → Method.md} +2 -2
  52. data/docs/Order.md +3 -1
  53. data/docs/OrderErrorResponse.md +3 -7
  54. data/docs/OrderResponse.md +3 -7
  55. data/docs/Payment.md +6 -6
  56. data/docs/PaymentApi.md +3 -3
  57. data/docs/PaymentDevice.md +27 -0
  58. data/docs/PaymentDeviceCreditTransaction.md +17 -0
  59. data/docs/PaymentDeviceCreditTransactionAllOf.md +17 -0
  60. data/docs/PaymentDeviceDisbursementTransaction.md +19 -0
  61. data/docs/PaymentDeviceDisbursementTransactionAllOf.md +19 -0
  62. data/docs/PaymentDevicePaymentMethod.md +19 -0
  63. data/docs/PaymentDevicePaymentMethodAllOf.md +19 -0
  64. data/docs/PaymentDevicePaymentTokenizationRequest.md +17 -0
  65. data/docs/PaymentDevicePaymentTokenizationRequestAllOf.md +17 -0
  66. data/docs/PaymentDevicePreAuthTransaction.md +25 -0
  67. data/docs/PaymentDevicePreAuthTransactionAllOf.md +25 -0
  68. data/docs/PaymentDeviceSaleTransaction.md +21 -0
  69. data/docs/PaymentDeviceSaleTransactionAllOf.md +21 -0
  70. data/docs/PaymentRegistration.md +39 -0
  71. data/docs/PaymentSchedulesRequest.md +1 -1
  72. data/docs/PaymentTokenApi.md +2 -2
  73. data/docs/PaymentURLApi.md +142 -0
  74. data/docs/PaymentUrlDetail.md +25 -0
  75. data/docs/PaymentUrlDetailResponse.md +23 -0
  76. data/docs/PaymentUrlStatus.md +16 -0
  77. data/docs/{CustomerAddressPhone.md → Phone.md} +2 -2
  78. data/docs/ProcessorData.md +5 -1
  79. data/docs/PurchaseCardsLevel3.md +1 -1
  80. data/docs/RecurringPaymentDetailsResponse.md +3 -7
  81. data/docs/RegistrationMethod.md +29 -0
  82. data/docs/RemoveFraudBlockedItemsResponse.md +23 -0
  83. data/docs/ScoreOnlyRequest.md +1 -1
  84. data/docs/SepaMandate.md +1 -1
  85. data/docs/SharedSecretConfigurationRequest.md +17 -0
  86. data/docs/SharedSecretConfigurationResponse.md +29 -0
  87. data/docs/{FraudOrderShipToAddress.md → ShipToAddress.md} +2 -2
  88. data/docs/StoreFraudSettings.md +19 -0
  89. data/docs/StoreFraudSettingsResult.md +21 -0
  90. data/docs/StoreUrlConfiguration.md +31 -0
  91. data/docs/StoreUrlConfigurationRequest.md +17 -0
  92. data/docs/StoreUrlConfigurationResponse.md +23 -0
  93. data/docs/StoreUrlConfigurationResult.md +19 -0
  94. data/docs/TokenIdentifier.md +17 -0
  95. data/docs/UpdateFraudSettingsRequest.md +17 -0
  96. data/docs/UpdateFraudSettingsResponse.md +23 -0
  97. data/docs/UsePaymentToken.md +5 -1
  98. data/docs/{PaymentVerification3ds.md → Verification3ds.md} +2 -2
  99. data/docs/{PaymentVerificationAvs.md → VerificationAvs.md} +2 -2
  100. data/docs/{PaymentVerificationCvv.md → VerificationCvv.md} +2 -2
  101. data/lib/openapi_client.rb +34 -1
  102. data/lib/openapi_client/.DS_Store +0 -0
  103. data/lib/openapi_client/api/authentication_api.rb +1 -1
  104. data/lib/openapi_client/api/card_info_lookup_api.rb +1 -1
  105. data/lib/openapi_client/api/card_verification_api.rb +1 -1
  106. data/lib/openapi_client/api/currency_conversion_api.rb +1 -1
  107. data/lib/openapi_client/api/fraud_detect_api.rb +1 -1
  108. data/lib/openapi_client/api/order_api.rb +1 -1
  109. data/lib/openapi_client/api/payment_api.rb +1 -1
  110. data/lib/openapi_client/api/payment_schedules_api.rb +1 -1
  111. data/lib/openapi_client/api/payment_token_api.rb +1 -1
  112. data/lib/openapi_client/api/payment_url_api.rb +1 -1
  113. data/lib/openapi_client/api_client.rb +1 -2
  114. data/lib/openapi_client/api_error.rb +1 -1
  115. data/lib/openapi_client/configuration.rb +4 -3
  116. data/lib/openapi_client/models/access_token_response.rb +1 -1
  117. data/lib/openapi_client/models/account_updater_response.rb +1 -1
  118. data/lib/openapi_client/models/additional_amount_rate.rb +1 -1
  119. data/lib/openapi_client/models/additional_details.rb +1 -1
  120. data/lib/openapi_client/models/additional_transaction_details.rb +1 -1
  121. data/lib/openapi_client/models/address.rb +1 -1
  122. data/lib/openapi_client/models/airline.rb +1 -1
  123. data/lib/openapi_client/models/airline_ancillary_service_category.rb +1 -1
  124. data/lib/openapi_client/models/airline_travel_route.rb +1 -1
  125. data/lib/openapi_client/models/ali_pay.rb +1 -1
  126. data/lib/openapi_client/models/ali_pay_payment_method.rb +1 -1
  127. data/lib/openapi_client/models/ali_pay_payment_method_all_of.rb +1 -1
  128. data/lib/openapi_client/models/ali_pay_sale_transaction.rb +10 -16
  129. data/lib/openapi_client/models/ali_pay_sale_transaction_all_of.rb +89 -2
  130. data/lib/openapi_client/models/amount.rb +1 -1
  131. data/lib/openapi_client/models/amount_components.rb +1 -1
  132. data/lib/openapi_client/models/authentication.rb +1 -1
  133. data/lib/openapi_client/models/authentication_redirect.rb +1 -1
  134. data/lib/openapi_client/models/authentication_redirect_params.rb +1 -1
  135. data/lib/openapi_client/models/authentication_verification_request.rb +1 -1
  136. data/lib/openapi_client/models/avs_response.rb +1 -1
  137. data/lib/openapi_client/models/bancontact_qr.rb +262 -0
  138. data/lib/openapi_client/models/basic_response.rb +1 -1
  139. data/lib/openapi_client/models/billing.rb +1 -1
  140. data/lib/openapi_client/models/billing_address.rb +1 -1
  141. data/lib/openapi_client/models/block_card.rb +233 -0
  142. data/lib/openapi_client/models/block_domain.rb +198 -0
  143. data/lib/openapi_client/models/block_ip_address.rb +208 -0
  144. data/lib/openapi_client/models/block_name.rb +208 -0
  145. data/lib/openapi_client/models/blocked_card_number.rb +208 -0
  146. data/lib/openapi_client/models/blocked_items.rb +224 -0
  147. data/lib/openapi_client/models/car_rental.rb +1 -1
  148. data/lib/openapi_client/models/car_rental_extra_charges.rb +1 -1
  149. data/lib/openapi_client/models/card.rb +1 -1
  150. data/lib/openapi_client/models/card_function.rb +1 -1
  151. data/lib/openapi_client/models/card_info.rb +1 -1
  152. data/lib/openapi_client/models/card_info_lookup_request.rb +1 -1
  153. data/lib/openapi_client/models/card_info_lookup_response.rb +1 -1
  154. data/lib/openapi_client/models/card_verification_request.rb +1 -1
  155. data/lib/openapi_client/models/china_domestic.rb +1 -1
  156. data/lib/openapi_client/models/china_domestic_payment_method.rb +1 -1
  157. data/lib/openapi_client/models/china_domestic_payment_method_all_of.rb +1 -1
  158. data/lib/openapi_client/models/china_pn_r_sale_transaction.rb +10 -16
  159. data/lib/openapi_client/models/china_pn_r_sale_transaction_all_of.rb +89 -2
  160. data/lib/openapi_client/models/client_locale.rb +1 -1
  161. data/lib/openapi_client/models/client_registration.rb +1 -1
  162. data/lib/openapi_client/models/contact.rb +1 -1
  163. data/lib/openapi_client/models/country_profile.rb +198 -0
  164. data/lib/openapi_client/models/create_payment_token.rb +1 -1
  165. data/lib/openapi_client/models/currency_conversion.rb +1 -1
  166. data/lib/openapi_client/models/customer.rb +1 -1
  167. data/lib/openapi_client/models/customer_address.rb +1 -1
  168. data/lib/openapi_client/models/dcc.rb +13 -23
  169. data/lib/openapi_client/models/dcc_all_of.rb +39 -2
  170. data/lib/openapi_client/models/dcc_exchange_rate_request.rb +10 -16
  171. data/lib/openapi_client/models/dcc_exchange_rate_request_all_of.rb +47 -2
  172. data/lib/openapi_client/models/decrypted_apple_pay.rb +464 -0
  173. data/lib/openapi_client/models/decrypted_apple_pay_wallet_payment_method.rb +224 -0
  174. data/lib/openapi_client/models/decrypted_apple_pay_wallet_payment_method_all_of.rb +211 -0
  175. data/lib/openapi_client/models/decrypted_google_pay.rb +464 -0
  176. data/lib/openapi_client/models/decrypted_google_pay_wallet_payment_method.rb +224 -0
  177. data/lib/openapi_client/models/decrypted_google_pay_wallet_payment_method_all_of.rb +211 -0
  178. data/lib/openapi_client/models/decrypted_samsung_pay.rb +464 -0
  179. data/lib/openapi_client/models/decrypted_samsung_pay_wallet_payment_method.rb +224 -0
  180. data/lib/openapi_client/models/decrypted_samsung_pay_wallet_payment_method_all_of.rb +211 -0
  181. data/lib/openapi_client/models/device.rb +1 -1
  182. data/lib/openapi_client/models/disbursement.rb +1 -1
  183. data/lib/openapi_client/models/disbursement_transaction_type.rb +12 -22
  184. data/lib/openapi_client/models/disbursement_transaction_type_all_of.rb +215 -0
  185. data/lib/openapi_client/models/document.rb +1 -1
  186. data/lib/openapi_client/models/dynamic_pricing.rb +13 -23
  187. data/lib/openapi_client/models/dynamic_pricing_all_of.rb +39 -2
  188. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request.rb +10 -16
  189. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request_all_of.rb +47 -2
  190. data/lib/openapi_client/models/encrypted_apple_pay.rb +1 -1
  191. data/lib/openapi_client/models/encrypted_apple_pay_header.rb +1 -1
  192. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method.rb +10 -11
  193. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method_all_of.rb +12 -2
  194. data/lib/openapi_client/models/encrypted_google_pay.rb +1 -1
  195. data/lib/openapi_client/models/encrypted_google_pay_data.rb +1 -1
  196. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method.rb +10 -11
  197. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method_all_of.rb +12 -2
  198. data/lib/openapi_client/models/encrypted_samsung_pay.rb +1 -1
  199. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method.rb +10 -11
  200. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method_all_of.rb +12 -2
  201. data/lib/openapi_client/models/error.rb +1 -1
  202. data/lib/openapi_client/models/error_details.rb +1 -1
  203. data/lib/openapi_client/models/error_message.rb +1 -1
  204. data/lib/openapi_client/models/error_response.rb +1 -1
  205. data/lib/openapi_client/models/exchange_rate_request.rb +1 -1
  206. data/lib/openapi_client/models/exchange_rate_response.rb +1 -1
  207. data/lib/openapi_client/models/expiration.rb +9 -9
  208. data/lib/openapi_client/models/fraud_address.rb +1 -1
  209. data/lib/openapi_client/models/fraud_order.rb +1 -1
  210. data/lib/openapi_client/models/fraud_order_items.rb +1 -1
  211. data/lib/openapi_client/models/fraud_registration.rb +1 -1
  212. data/lib/openapi_client/models/fraud_registration_card.rb +1 -1
  213. data/lib/openapi_client/models/fraud_registration_device.rb +1 -1
  214. data/lib/openapi_client/models/fraud_registration_device_items.rb +1 -1
  215. data/lib/openapi_client/models/fraud_registration_error.rb +1 -1
  216. data/lib/openapi_client/models/fraud_registration_response.rb +1 -1
  217. data/lib/openapi_client/models/fraud_score.rb +1 -1
  218. data/lib/openapi_client/models/fraud_settings.rb +226 -0
  219. data/lib/openapi_client/models/fraud_settings_response.rb +313 -0
  220. data/lib/openapi_client/models/frequency.rb +1 -1
  221. data/lib/openapi_client/models/funding_transaction_type.rb +12 -22
  222. data/lib/openapi_client/models/funding_transaction_type_all_of.rb +215 -0
  223. data/lib/openapi_client/models/industry_specific_extensions.rb +1 -1
  224. data/lib/openapi_client/models/installment_options.rb +1 -1
  225. data/lib/openapi_client/models/issuer_response.rb +1 -1
  226. data/lib/openapi_client/models/items.rb +1 -1
  227. data/lib/openapi_client/models/location.rb +1 -1
  228. data/lib/openapi_client/models/lockout_time.rb +208 -0
  229. data/lib/openapi_client/models/lodging.rb +1 -1
  230. data/lib/openapi_client/models/lodging_extra_charges.rb +1 -1
  231. data/lib/openapi_client/models/loyalty.rb +1 -1
  232. data/lib/openapi_client/models/maximum_purchase_amount.rb +218 -0
  233. data/lib/openapi_client/models/merchant.rb +1 -1
  234. data/lib/openapi_client/models/method.rb +1 -1
  235. data/lib/openapi_client/models/order.rb +14 -5
  236. data/lib/openapi_client/models/order_error_response.rb +1 -1
  237. data/lib/openapi_client/models/order_response.rb +1 -1
  238. data/lib/openapi_client/models/pay_pal.rb +1 -1
  239. data/lib/openapi_client/models/pay_pal_payment_method.rb +1 -1
  240. data/lib/openapi_client/models/pay_pal_payment_method_all_of.rb +1 -1
  241. data/lib/openapi_client/models/payment.rb +1 -1
  242. data/lib/openapi_client/models/payment_card.rb +1 -1
  243. data/lib/openapi_client/models/payment_card_credit_transaction.rb +10 -16
  244. data/lib/openapi_client/models/payment_card_disbursement_transaction.rb +10 -16
  245. data/lib/openapi_client/models/payment_card_disbursement_transaction_all_of.rb +89 -2
  246. data/lib/openapi_client/models/payment_card_forced_ticket_transaction.rb +10 -16
  247. data/lib/openapi_client/models/payment_card_forced_ticket_transaction_all_of.rb +89 -2
  248. data/lib/openapi_client/models/payment_card_payer_auth_transaction.rb +10 -16
  249. data/lib/openapi_client/models/payment_card_payer_auth_transaction_all_of.rb +89 -2
  250. data/lib/openapi_client/models/payment_card_payment_method.rb +1 -1
  251. data/lib/openapi_client/models/payment_card_payment_method_all_of.rb +1 -1
  252. data/lib/openapi_client/models/payment_card_payment_tokenization_request.rb +10 -16
  253. data/lib/openapi_client/models/payment_card_payment_tokenization_request_all_of.rb +67 -2
  254. data/lib/openapi_client/models/payment_card_pre_auth_transaction.rb +10 -16
  255. data/lib/openapi_client/models/payment_card_pre_auth_transaction_all_of.rb +89 -2
  256. data/lib/openapi_client/models/payment_card_sale_transaction.rb +10 -16
  257. data/lib/openapi_client/models/payment_card_sale_transaction_all_of.rb +89 -2
  258. data/lib/openapi_client/models/payment_device.rb +1 -1
  259. data/lib/openapi_client/models/payment_device_credit_transaction.rb +10 -16
  260. data/lib/openapi_client/models/payment_device_credit_transaction_all_of.rb +89 -2
  261. data/lib/openapi_client/models/payment_device_disbursement_transaction.rb +10 -16
  262. data/lib/openapi_client/models/payment_device_disbursement_transaction_all_of.rb +89 -2
  263. data/lib/openapi_client/models/payment_device_payment_method.rb +1 -1
  264. data/lib/openapi_client/models/payment_device_payment_method_all_of.rb +1 -1
  265. data/lib/openapi_client/models/payment_device_payment_tokenization_request.rb +10 -16
  266. data/lib/openapi_client/models/payment_device_payment_tokenization_request_all_of.rb +67 -2
  267. data/lib/openapi_client/models/payment_device_pre_auth_transaction.rb +10 -16
  268. data/lib/openapi_client/models/payment_device_pre_auth_transaction_all_of.rb +89 -2
  269. data/lib/openapi_client/models/payment_device_sale_transaction.rb +10 -16
  270. data/lib/openapi_client/models/payment_device_sale_transaction_all_of.rb +89 -2
  271. data/lib/openapi_client/models/payment_facilitator.rb +1 -1
  272. data/lib/openapi_client/models/payment_method_details.rb +1 -1
  273. data/lib/openapi_client/models/payment_method_payment_schedules_request.rb +10 -26
  274. data/lib/openapi_client/models/payment_method_payment_schedules_request_all_of.rb +219 -2
  275. data/lib/openapi_client/models/payment_method_type.rb +1 -1
  276. data/lib/openapi_client/models/payment_registration.rb +1 -1
  277. data/lib/openapi_client/models/payment_schedules_error_response.rb +1 -1
  278. data/lib/openapi_client/models/payment_schedules_request.rb +1 -1
  279. data/lib/openapi_client/models/payment_schedules_response.rb +1 -1
  280. data/lib/openapi_client/models/payment_token_credit_transaction.rb +10 -16
  281. data/lib/openapi_client/models/payment_token_credit_transaction_all_of.rb +89 -2
  282. data/lib/openapi_client/models/payment_token_details.rb +1 -1
  283. data/lib/openapi_client/models/payment_token_details_all_of.rb +36 -2
  284. data/lib/openapi_client/models/payment_token_disbursement_transaction.rb +10 -16
  285. data/lib/openapi_client/models/payment_token_disbursement_transaction_all_of.rb +89 -2
  286. data/lib/openapi_client/models/payment_token_payment_method.rb +1 -1
  287. data/lib/openapi_client/models/payment_token_payment_method_all_of.rb +1 -1
  288. data/lib/openapi_client/models/payment_token_pre_auth_transaction.rb +10 -16
  289. data/lib/openapi_client/models/payment_token_pre_auth_transaction_all_of.rb +89 -2
  290. data/lib/openapi_client/models/payment_token_sale_transaction.rb +10 -16
  291. data/lib/openapi_client/models/payment_token_sale_transaction_all_of.rb +89 -2
  292. data/lib/openapi_client/models/payment_tokenization_error_response.rb +1 -1
  293. data/lib/openapi_client/models/payment_tokenization_request.rb +1 -1
  294. data/lib/openapi_client/models/payment_tokenization_response.rb +1 -1
  295. data/lib/openapi_client/models/payment_url_detail.rb +1 -1
  296. data/lib/openapi_client/models/payment_url_detail_response.rb +1 -1
  297. data/lib/openapi_client/models/payment_url_error_response.rb +1 -1
  298. data/lib/openapi_client/models/payment_url_request.rb +1 -1
  299. data/lib/openapi_client/models/payment_url_response.rb +1 -1
  300. data/lib/openapi_client/models/payment_url_status.rb +1 -1
  301. data/lib/openapi_client/models/paypal_credit_transaction.rb +10 -16
  302. data/lib/openapi_client/models/paypal_credit_transaction_all_of.rb +89 -2
  303. data/lib/openapi_client/models/phone.rb +1 -1
  304. data/lib/openapi_client/models/post_auth_transaction.rb +10 -11
  305. data/lib/openapi_client/models/post_auth_transaction_all_of.rb +47 -2
  306. data/lib/openapi_client/models/primary_transaction.rb +1 -1
  307. data/lib/openapi_client/models/processor_data.rb +27 -7
  308. data/lib/openapi_client/models/purchase_cards.rb +1 -1
  309. data/lib/openapi_client/models/purchase_cards_level2.rb +1 -1
  310. data/lib/openapi_client/models/purchase_cards_level3.rb +1 -1
  311. data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +1 -1
  312. data/lib/openapi_client/models/receiver_info.rb +1 -1
  313. data/lib/openapi_client/models/recurring_payment_details.rb +1 -1
  314. data/lib/openapi_client/models/recurring_payment_details_response.rb +1 -1
  315. data/lib/openapi_client/models/referenced_order_payment_schedules_request.rb +10 -26
  316. data/lib/openapi_client/models/referenced_order_payment_schedules_request_all_of.rb +219 -2
  317. data/lib/openapi_client/models/referenced_order_payment_tokenization_request.rb +10 -16
  318. data/lib/openapi_client/models/referenced_order_payment_tokenization_request_all_of.rb +67 -2
  319. data/lib/openapi_client/models/registration_method.rb +1 -1
  320. data/lib/openapi_client/models/remove_fraud_blocked_items_response.rb +234 -0
  321. data/lib/openapi_client/models/response_amount_components.rb +1 -1
  322. data/lib/openapi_client/models/response_amount_components_all_of.rb +62 -2
  323. data/lib/openapi_client/models/response_type.rb +1 -1
  324. data/lib/openapi_client/models/return_transaction.rb +10 -11
  325. data/lib/openapi_client/models/return_transaction_all_of.rb +47 -2
  326. data/lib/openapi_client/models/score_only_request.rb +1 -1
  327. data/lib/openapi_client/models/score_only_response.rb +1 -1
  328. data/lib/openapi_client/models/score_only_response_fraud_score.rb +13 -3
  329. data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +1 -1
  330. data/lib/openapi_client/models/secondary_transaction.rb +1 -1
  331. data/lib/openapi_client/models/secure3_d10_authentication_result.rb +10 -11
  332. data/lib/openapi_client/models/secure3_d10_authentication_result_all_of.rb +12 -2
  333. data/lib/openapi_client/models/secure3_d21_authentication_result.rb +10 -11
  334. data/lib/openapi_client/models/secure3_d21_authentication_result_all_of.rb +12 -2
  335. data/lib/openapi_client/models/secure3d_authentication_request.rb +12 -12
  336. data/lib/openapi_client/models/secure3d_authentication_request_all_of.rb +197 -0
  337. data/lib/openapi_client/models/secure3d_authentication_verification_request.rb +10 -11
  338. data/lib/openapi_client/models/secure3d_authentication_verification_request_all_of.rb +56 -2
  339. data/lib/openapi_client/models/secure3d_response.rb +1 -1
  340. data/lib/openapi_client/models/sender_info.rb +1 -1
  341. data/lib/openapi_client/models/sepa.rb +1 -1
  342. data/lib/openapi_client/models/sepa_mandate.rb +1 -1
  343. data/lib/openapi_client/models/sepa_payment_method.rb +1 -1
  344. data/lib/openapi_client/models/sepa_payment_method_all_of.rb +1 -1
  345. data/lib/openapi_client/models/sepa_sale_transaction.rb +10 -16
  346. data/lib/openapi_client/models/sepa_sale_transaction_all_of.rb +89 -2
  347. data/lib/openapi_client/models/shared_secret_configuration_request.rb +224 -0
  348. data/lib/openapi_client/models/shared_secret_configuration_response.rb +264 -0
  349. data/lib/openapi_client/models/ship_to_address.rb +1 -1
  350. data/lib/openapi_client/models/shipping.rb +1 -1
  351. data/lib/openapi_client/models/soft_descriptor.rb +1 -1
  352. data/lib/openapi_client/models/split_shipment.rb +1 -1
  353. data/lib/openapi_client/models/store_fraud_settings.rb +217 -0
  354. data/lib/openapi_client/models/store_fraud_settings_result.rb +217 -0
  355. data/lib/openapi_client/models/store_url_configuration.rb +272 -0
  356. data/lib/openapi_client/models/store_url_configuration_request.rb +199 -0
  357. data/lib/openapi_client/models/store_url_configuration_response.rb +235 -0
  358. data/lib/openapi_client/models/store_url_configuration_result.rb +207 -0
  359. data/lib/openapi_client/models/stored_credential.rb +1 -1
  360. data/lib/openapi_client/models/sub_merchant_data.rb +1 -1
  361. data/lib/openapi_client/models/sub_merchant_split.rb +1 -1
  362. data/lib/openapi_client/models/token_identifier.rb +198 -0
  363. data/lib/openapi_client/models/transaction_error_response.rb +1 -1
  364. data/lib/openapi_client/models/transaction_origin.rb +1 -1
  365. data/lib/openapi_client/models/transaction_response.rb +1 -1
  366. data/lib/openapi_client/models/transaction_type.rb +1 -1
  367. data/lib/openapi_client/models/union_pay_authentication_request.rb +10 -11
  368. data/lib/openapi_client/models/union_pay_authentication_request_all_of.rb +12 -2
  369. data/lib/openapi_client/models/union_pay_authentication_verification_request.rb +10 -11
  370. data/lib/openapi_client/models/union_pay_authentication_verification_request_all_of.rb +56 -2
  371. data/lib/openapi_client/models/update_fraud_settings_request.rb +199 -0
  372. data/lib/openapi_client/models/update_fraud_settings_response.rb +235 -0
  373. data/lib/openapi_client/models/use_payment_token.rb +14 -5
  374. data/lib/openapi_client/models/verification3ds.rb +1 -1
  375. data/lib/openapi_client/models/verification_avs.rb +1 -1
  376. data/lib/openapi_client/models/verification_cvv.rb +1 -1
  377. data/lib/openapi_client/models/void_transaction.rb +12 -12
  378. data/lib/openapi_client/models/void_transaction_all_of.rb +232 -0
  379. data/lib/openapi_client/models/wallet_payment_method.rb +2 -2
  380. data/lib/openapi_client/models/wallet_pre_auth_transaction.rb +10 -16
  381. data/lib/openapi_client/models/wallet_pre_auth_transaction_all_of.rb +89 -2
  382. data/lib/openapi_client/models/wallet_sale_transaction.rb +10 -16
  383. data/lib/openapi_client/models/wallet_sale_transaction_all_of.rb +89 -2
  384. data/lib/openapi_client/version.rb +2 -2
  385. data/lib/simple/client_context.rb +2 -2
  386. data/lib/simple/gateway.rb +2 -2
  387. data/spec/api/authentication_api_spec.rb +1 -1
  388. data/spec/api/card_info_lookup_api_spec.rb +1 -1
  389. data/spec/api/card_verification_api_spec.rb +1 -1
  390. data/spec/api/currency_conversion_api_spec.rb +1 -1
  391. data/spec/api/fraud_detect_api_spec.rb +37 -1
  392. data/spec/api/order_api_spec.rb +1 -1
  393. data/spec/api/payment_api_spec.rb +3 -3
  394. data/spec/api/payment_schedules_api_spec.rb +1 -1
  395. data/spec/api/payment_token_api_spec.rb +2 -2
  396. data/spec/api/payment_url_api_spec.rb +46 -1
  397. data/spec/api_client_spec.rb +1 -1
  398. data/spec/configuration_spec.rb +1 -1
  399. data/spec/models/access_token_response_spec.rb +1 -1
  400. data/spec/models/account_updater_response_spec.rb +1 -1
  401. data/spec/models/additional_amount_rate_spec.rb +1 -1
  402. data/spec/models/additional_details_spec.rb +1 -1
  403. data/spec/models/additional_transaction_details_spec.rb +2 -2
  404. data/spec/models/address_spec.rb +1 -1
  405. data/spec/models/airline_ancillary_service_category_spec.rb +1 -1
  406. data/spec/models/airline_spec.rb +1 -1
  407. data/spec/models/airline_travel_route_spec.rb +1 -1
  408. data/spec/models/ali_pay_payment_method_all_of_spec.rb +1 -1
  409. data/spec/models/ali_pay_payment_method_spec.rb +1 -1
  410. data/spec/models/ali_pay_sale_transaction_all_of_spec.rb +1 -1
  411. data/spec/models/ali_pay_sale_transaction_spec.rb +1 -1
  412. data/spec/models/ali_pay_spec.rb +1 -1
  413. data/spec/models/amount_components_spec.rb +1 -1
  414. data/spec/models/amount_spec.rb +1 -1
  415. data/spec/models/authentication_redirect_params_spec.rb +1 -1
  416. data/spec/models/authentication_redirect_spec.rb +1 -1
  417. data/spec/models/authentication_spec.rb +1 -1
  418. data/spec/models/authentication_verification_request_spec.rb +1 -1
  419. data/spec/models/avs_response_spec.rb +1 -1
  420. data/spec/models/bancontact_qr_spec.rb +51 -0
  421. data/spec/models/basic_response_spec.rb +1 -1
  422. data/spec/models/billing_address_spec.rb +1 -1
  423. data/spec/models/billing_spec.rb +1 -1
  424. data/spec/models/block_card_spec.rb +53 -0
  425. data/spec/models/block_domain_spec.rb +41 -0
  426. data/spec/models/{customer_address_phone_spec.rb → block_ip_address_spec.rb} +9 -9
  427. data/spec/models/block_name_spec.rb +47 -0
  428. data/spec/models/blocked_card_number_spec.rb +47 -0
  429. data/spec/models/blocked_items_spec.rb +59 -0
  430. data/spec/models/car_rental_extra_charges_spec.rb +1 -1
  431. data/spec/models/car_rental_spec.rb +1 -1
  432. data/spec/models/card_function_spec.rb +1 -1
  433. data/spec/models/card_info_lookup_request_spec.rb +1 -1
  434. data/spec/models/card_info_lookup_response_spec.rb +1 -1
  435. data/spec/models/card_info_spec.rb +1 -1
  436. data/spec/models/card_spec.rb +1 -1
  437. data/spec/models/card_verification_request_spec.rb +1 -1
  438. data/spec/models/china_domestic_payment_method_all_of_spec.rb +1 -1
  439. data/spec/models/china_domestic_payment_method_spec.rb +1 -1
  440. data/spec/models/china_domestic_spec.rb +1 -1
  441. data/spec/models/china_pn_r_sale_transaction_all_of_spec.rb +1 -1
  442. data/spec/models/china_pn_r_sale_transaction_spec.rb +1 -1
  443. data/spec/models/client_locale_spec.rb +1 -1
  444. data/spec/models/client_registration_spec.rb +77 -0
  445. data/spec/models/contact_spec.rb +1 -1
  446. data/spec/models/country_profile_spec.rb +41 -0
  447. data/spec/models/create_payment_token_spec.rb +1 -1
  448. data/spec/models/currency_conversion_spec.rb +1 -1
  449. data/spec/models/customer_address_spec.rb +3 -3
  450. data/spec/models/customer_spec.rb +1 -1
  451. data/spec/models/dcc_all_of_spec.rb +1 -1
  452. data/spec/models/dcc_exchange_rate_request_all_of_spec.rb +1 -1
  453. data/spec/models/dcc_exchange_rate_request_spec.rb +1 -1
  454. data/spec/models/dcc_spec.rb +1 -1
  455. data/spec/models/decrypted_apple_pay_spec.rb +83 -0
  456. data/spec/models/decrypted_apple_pay_wallet_payment_method_all_of_spec.rb +41 -0
  457. data/spec/models/decrypted_apple_pay_wallet_payment_method_spec.rb +41 -0
  458. data/spec/models/decrypted_google_pay_spec.rb +83 -0
  459. data/spec/models/decrypted_google_pay_wallet_payment_method_all_of_spec.rb +41 -0
  460. data/spec/models/decrypted_google_pay_wallet_payment_method_spec.rb +41 -0
  461. data/spec/models/decrypted_samsung_pay_spec.rb +83 -0
  462. data/spec/models/decrypted_samsung_pay_wallet_payment_method_all_of_spec.rb +41 -0
  463. data/spec/models/decrypted_samsung_pay_wallet_payment_method_spec.rb +41 -0
  464. data/spec/models/device_spec.rb +1 -1
  465. data/spec/models/disbursement_spec.rb +1 -1
  466. data/spec/models/disbursement_transaction_type_spec.rb +1 -1
  467. data/spec/models/document_spec.rb +1 -1
  468. data/spec/models/dynamic_pricing_all_of_spec.rb +1 -1
  469. data/spec/models/dynamic_pricing_exchange_rate_request_all_of_spec.rb +1 -1
  470. data/spec/models/dynamic_pricing_exchange_rate_request_spec.rb +1 -1
  471. data/spec/models/dynamic_pricing_spec.rb +1 -1
  472. data/spec/models/encrypted_apple_pay_header_spec.rb +1 -1
  473. data/spec/models/encrypted_apple_pay_spec.rb +1 -1
  474. data/spec/models/encrypted_apple_pay_wallet_payment_method_all_of_spec.rb +1 -1
  475. data/spec/models/encrypted_apple_pay_wallet_payment_method_spec.rb +1 -1
  476. data/spec/models/encrypted_google_pay_data_spec.rb +1 -1
  477. data/spec/models/encrypted_google_pay_spec.rb +1 -1
  478. data/spec/models/encrypted_google_pay_wallet_payment_method_all_of_spec.rb +1 -1
  479. data/spec/models/encrypted_google_pay_wallet_payment_method_spec.rb +1 -1
  480. data/spec/models/encrypted_samsung_pay_spec.rb +47 -0
  481. data/spec/models/encrypted_samsung_pay_wallet_payment_method_all_of_spec.rb +41 -0
  482. data/spec/models/encrypted_samsung_pay_wallet_payment_method_spec.rb +41 -0
  483. data/spec/models/error_details_spec.rb +1 -1
  484. data/spec/models/error_message_spec.rb +47 -0
  485. data/spec/models/error_response_spec.rb +1 -1
  486. data/spec/models/error_spec.rb +1 -1
  487. data/spec/models/exchange_rate_request_spec.rb +1 -1
  488. data/spec/models/exchange_rate_response_spec.rb +1 -1
  489. data/spec/models/expiration_spec.rb +1 -1
  490. data/spec/models/{merchant_location_merchant_address_spec.rb → fraud_address_spec.rb} +7 -7
  491. data/spec/models/fraud_order_items_spec.rb +1 -1
  492. data/spec/models/fraud_order_spec.rb +1 -1
  493. data/spec/models/fraud_registration_card_spec.rb +71 -0
  494. data/spec/models/fraud_registration_device_items_spec.rb +75 -0
  495. data/spec/models/{transaction_spec.rb → fraud_registration_device_spec.rb} +21 -25
  496. data/spec/models/fraud_registration_error_spec.rb +41 -0
  497. data/spec/models/fraud_registration_response_spec.rb +75 -0
  498. data/spec/models/fraud_registration_spec.rb +71 -0
  499. data/spec/models/fraud_score_spec.rb +59 -0
  500. data/spec/models/fraud_settings_response_spec.rb +101 -0
  501. data/spec/models/fraud_settings_spec.rb +59 -0
  502. data/spec/models/frequency_spec.rb +1 -1
  503. data/spec/models/funding_transaction_type_spec.rb +1 -1
  504. data/spec/models/industry_specific_extensions_spec.rb +1 -1
  505. data/spec/models/installment_options_spec.rb +1 -1
  506. data/spec/models/{payment_issuer_response_spec.rb → issuer_response_spec.rb} +7 -7
  507. data/spec/models/{device_networks_spec.rb → items_spec.rb} +7 -7
  508. data/spec/models/{merchant_location_spec.rb → location_spec.rb} +7 -7
  509. data/spec/models/lockout_time_spec.rb +47 -0
  510. data/spec/models/lodging_extra_charges_spec.rb +1 -1
  511. data/spec/models/lodging_spec.rb +1 -1
  512. data/spec/models/loyalty_spec.rb +1 -1
  513. data/spec/models/maximum_purchase_amount_spec.rb +47 -0
  514. data/spec/models/merchant_spec.rb +1 -1
  515. data/spec/models/{payment_pay_method_spec.rb → method_spec.rb} +7 -7
  516. data/spec/models/order_error_response_spec.rb +2 -14
  517. data/spec/models/order_response_spec.rb +2 -14
  518. data/spec/models/order_spec.rb +7 -1
  519. data/spec/models/pay_pal_payment_method_all_of_spec.rb +1 -1
  520. data/spec/models/pay_pal_payment_method_spec.rb +1 -1
  521. data/spec/models/pay_pal_spec.rb +1 -1
  522. data/spec/models/payment_card_credit_transaction_spec.rb +1 -1
  523. data/spec/models/payment_card_disbursement_transaction_all_of_spec.rb +1 -1
  524. data/spec/models/payment_card_disbursement_transaction_spec.rb +1 -1
  525. data/spec/models/payment_card_forced_ticket_transaction_all_of_spec.rb +1 -1
  526. data/spec/models/payment_card_forced_ticket_transaction_spec.rb +1 -1
  527. data/spec/models/payment_card_payer_auth_transaction_all_of_spec.rb +1 -1
  528. data/spec/models/payment_card_payer_auth_transaction_spec.rb +1 -1
  529. data/spec/models/payment_card_payment_method_all_of_spec.rb +1 -1
  530. data/spec/models/payment_card_payment_method_spec.rb +1 -1
  531. data/spec/models/payment_card_payment_tokenization_request_all_of_spec.rb +1 -1
  532. data/spec/models/payment_card_payment_tokenization_request_spec.rb +1 -1
  533. data/spec/models/payment_card_pre_auth_transaction_all_of_spec.rb +1 -1
  534. data/spec/models/payment_card_pre_auth_transaction_spec.rb +1 -1
  535. data/spec/models/payment_card_sale_transaction_all_of_spec.rb +1 -1
  536. data/spec/models/payment_card_sale_transaction_spec.rb +1 -1
  537. data/spec/models/payment_card_spec.rb +1 -1
  538. data/spec/models/payment_device_credit_transaction_all_of_spec.rb +41 -0
  539. data/spec/models/payment_device_credit_transaction_spec.rb +41 -0
  540. data/spec/models/payment_device_disbursement_transaction_all_of_spec.rb +47 -0
  541. data/spec/models/payment_device_disbursement_transaction_spec.rb +47 -0
  542. data/spec/models/payment_device_payment_method_all_of_spec.rb +47 -0
  543. data/spec/models/payment_device_payment_method_spec.rb +47 -0
  544. data/spec/models/payment_device_payment_tokenization_request_all_of_spec.rb +41 -0
  545. data/spec/models/payment_device_payment_tokenization_request_spec.rb +41 -0
  546. data/spec/models/payment_device_pre_auth_transaction_all_of_spec.rb +65 -0
  547. data/spec/models/payment_device_pre_auth_transaction_spec.rb +65 -0
  548. data/spec/models/payment_device_sale_transaction_all_of_spec.rb +53 -0
  549. data/spec/models/payment_device_sale_transaction_spec.rb +53 -0
  550. data/spec/models/payment_device_spec.rb +75 -0
  551. data/spec/models/payment_facilitator_spec.rb +1 -1
  552. data/spec/models/payment_method_details_spec.rb +1 -1
  553. data/spec/models/payment_method_payment_schedules_request_all_of_spec.rb +1 -1
  554. data/spec/models/payment_method_payment_schedules_request_spec.rb +1 -1
  555. data/spec/models/payment_method_type_spec.rb +1 -1
  556. data/spec/models/payment_registration_spec.rb +107 -0
  557. data/spec/models/payment_schedules_error_response_spec.rb +1 -1
  558. data/spec/models/payment_schedules_request_spec.rb +1 -1
  559. data/spec/models/payment_schedules_response_spec.rb +1 -1
  560. data/spec/models/payment_spec.rb +3 -3
  561. data/spec/models/payment_token_credit_transaction_all_of_spec.rb +1 -1
  562. data/spec/models/payment_token_credit_transaction_spec.rb +1 -1
  563. data/spec/models/payment_token_details_all_of_spec.rb +1 -1
  564. data/spec/models/payment_token_details_spec.rb +1 -1
  565. data/spec/models/payment_token_disbursement_transaction_all_of_spec.rb +1 -1
  566. data/spec/models/payment_token_disbursement_transaction_spec.rb +1 -1
  567. data/spec/models/payment_token_payment_method_all_of_spec.rb +1 -1
  568. data/spec/models/payment_token_payment_method_spec.rb +1 -1
  569. data/spec/models/payment_token_pre_auth_transaction_all_of_spec.rb +1 -1
  570. data/spec/models/payment_token_pre_auth_transaction_spec.rb +1 -1
  571. data/spec/models/payment_token_sale_transaction_all_of_spec.rb +1 -1
  572. data/spec/models/payment_token_sale_transaction_spec.rb +1 -1
  573. data/spec/models/payment_tokenization_error_response_spec.rb +1 -1
  574. data/spec/models/payment_tokenization_request_spec.rb +1 -1
  575. data/spec/models/payment_tokenization_response_spec.rb +1 -1
  576. data/spec/models/payment_url_detail_response_spec.rb +59 -0
  577. data/spec/models/payment_url_detail_spec.rb +65 -0
  578. data/spec/models/payment_url_error_response_spec.rb +1 -1
  579. data/spec/models/payment_url_request_spec.rb +1 -1
  580. data/spec/models/payment_url_response_spec.rb +1 -1
  581. data/spec/models/payment_url_status_spec.rb +35 -0
  582. data/spec/models/paypal_credit_transaction_all_of_spec.rb +1 -1
  583. data/spec/models/paypal_credit_transaction_spec.rb +1 -1
  584. data/spec/models/{billing_address_phone_spec.rb → phone_spec.rb} +7 -7
  585. data/spec/models/post_auth_transaction_all_of_spec.rb +1 -1
  586. data/spec/models/post_auth_transaction_spec.rb +1 -1
  587. data/spec/models/primary_transaction_spec.rb +1 -1
  588. data/spec/models/processor_data_spec.rb +14 -2
  589. data/spec/models/purchase_cards_level2_spec.rb +1 -1
  590. data/spec/models/purchase_cards_level3_line_items_spec.rb +1 -1
  591. data/spec/models/purchase_cards_level3_spec.rb +1 -1
  592. data/spec/models/purchase_cards_spec.rb +1 -1
  593. data/spec/models/receiver_info_spec.rb +1 -1
  594. data/spec/models/recurring_payment_details_response_spec.rb +2 -14
  595. data/spec/models/recurring_payment_details_spec.rb +1 -1
  596. data/spec/models/referenced_order_payment_schedules_request_all_of_spec.rb +1 -1
  597. data/spec/models/referenced_order_payment_schedules_request_spec.rb +1 -1
  598. data/spec/models/referenced_order_payment_tokenization_request_all_of_spec.rb +1 -1
  599. data/spec/models/referenced_order_payment_tokenization_request_spec.rb +1 -1
  600. data/spec/models/registration_method_spec.rb +81 -0
  601. data/spec/models/remove_fraud_blocked_items_response_spec.rb +59 -0
  602. data/spec/models/response_amount_components_all_of_spec.rb +1 -1
  603. data/spec/models/response_amount_components_spec.rb +1 -1
  604. data/spec/models/response_type_spec.rb +1 -1
  605. data/spec/models/return_transaction_all_of_spec.rb +1 -1
  606. data/spec/models/return_transaction_spec.rb +1 -1
  607. data/spec/models/score_only_request_spec.rb +1 -5
  608. data/spec/models/score_only_response_fraud_score_explanations_spec.rb +1 -1
  609. data/spec/models/score_only_response_fraud_score_spec.rb +1 -1
  610. data/spec/models/score_only_response_spec.rb +1 -1
  611. data/spec/models/secondary_transaction_spec.rb +1 -1
  612. data/spec/models/secure3_d10_authentication_result_all_of_spec.rb +1 -1
  613. data/spec/models/secure3_d10_authentication_result_spec.rb +1 -1
  614. data/spec/models/secure3_d21_authentication_result_all_of_spec.rb +1 -1
  615. data/spec/models/secure3_d21_authentication_result_spec.rb +1 -1
  616. data/spec/models/secure3d_authentication_request_spec.rb +1 -1
  617. data/spec/models/secure3d_authentication_verification_request_all_of_spec.rb +1 -1
  618. data/spec/models/secure3d_authentication_verification_request_spec.rb +1 -1
  619. data/spec/models/secure3d_response_spec.rb +1 -1
  620. data/spec/models/sender_info_spec.rb +1 -1
  621. data/spec/models/sepa_mandate_spec.rb +1 -1
  622. data/spec/models/sepa_payment_method_all_of_spec.rb +1 -1
  623. data/spec/models/sepa_payment_method_spec.rb +1 -1
  624. data/spec/models/sepa_sale_transaction_all_of_spec.rb +1 -1
  625. data/spec/models/sepa_sale_transaction_spec.rb +1 -1
  626. data/spec/models/sepa_spec.rb +1 -1
  627. data/spec/models/shared_secret_configuration_request_spec.rb +41 -0
  628. data/spec/models/shared_secret_configuration_response_spec.rb +77 -0
  629. data/spec/models/{fraud_order_ship_to_address_spec.rb → ship_to_address_spec.rb} +7 -7
  630. data/spec/models/shipping_spec.rb +1 -1
  631. data/spec/models/soft_descriptor_spec.rb +1 -1
  632. data/spec/models/split_shipment_spec.rb +1 -1
  633. data/spec/models/store_fraud_settings_result_spec.rb +53 -0
  634. data/spec/models/store_fraud_settings_spec.rb +47 -0
  635. data/spec/models/store_url_configuration_request_spec.rb +41 -0
  636. data/spec/models/store_url_configuration_response_spec.rb +59 -0
  637. data/spec/models/store_url_configuration_result_spec.rb +47 -0
  638. data/spec/models/store_url_configuration_spec.rb +83 -0
  639. data/spec/models/stored_credential_spec.rb +1 -1
  640. data/spec/models/sub_merchant_data_spec.rb +1 -1
  641. data/spec/models/sub_merchant_split_spec.rb +1 -1
  642. data/spec/models/token_identifier_spec.rb +41 -0
  643. data/spec/models/transaction_error_response_spec.rb +1 -1
  644. data/spec/models/transaction_origin_spec.rb +1 -1
  645. data/spec/models/transaction_response_spec.rb +1 -1
  646. data/spec/models/transaction_type_spec.rb +1 -1
  647. data/spec/models/union_pay_authentication_request_all_of_spec.rb +1 -1
  648. data/spec/models/union_pay_authentication_request_spec.rb +1 -1
  649. data/spec/models/union_pay_authentication_verification_request_all_of_spec.rb +1 -1
  650. data/spec/models/union_pay_authentication_verification_request_spec.rb +1 -1
  651. data/spec/models/update_fraud_settings_request_spec.rb +41 -0
  652. data/spec/models/update_fraud_settings_response_spec.rb +59 -0
  653. data/spec/models/use_payment_token_spec.rb +13 -1
  654. data/spec/models/{payment_verification_avs_spec.rb → verification3ds_spec.rb} +7 -7
  655. data/spec/models/{payment_verification_cvv_spec.rb → verification_avs_spec.rb} +7 -7
  656. data/spec/models/{payment_verification3ds_spec.rb → verification_cvv_spec.rb} +7 -7
  657. data/spec/models/void_transaction_spec.rb +1 -1
  658. data/spec/models/wallet_payment_method_spec.rb +1 -1
  659. data/spec/models/wallet_pre_auth_transaction_all_of_spec.rb +1 -1
  660. data/spec/models/wallet_pre_auth_transaction_spec.rb +1 -1
  661. data/spec/models/wallet_sale_transaction_all_of_spec.rb +1 -1
  662. data/spec/models/wallet_sale_transaction_spec.rb +1 -1
  663. data/spec/spec_helper.rb +1 -1
  664. metadata +259 -39
  665. data/Gemfile.lock +0 -79
  666. data/docs/BillingAddressPhone.md +0 -19
  667. data/docs/MerchantLocationMerchantAddress.md +0 -27
  668. data/docs/Transaction.md +0 -39
@@ -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
+ The version of the OpenAPI document: 6.9.1.20191223.002
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OpenapiClient
16
+ # Wallet payment method containing decrypted Google Pay information.
17
+ class DecryptedGooglePayWalletPaymentMethod < WalletPaymentMethod
18
+ # Type of wallet.
19
+ attr_accessor :wallet_type
20
+
21
+ attr_accessor :decrypted_google_pay
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'wallet_type' => :'walletType',
27
+ :'decrypted_google_pay' => :'decryptedGooglePay'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'wallet_type' => :'String',
35
+ :'decrypted_google_pay' => :'DecryptedGooglePay'
36
+ }
37
+ end
38
+
39
+ # List of class defined in allOf (OpenAPI v3)
40
+ def self.openapi_all_of
41
+ [
42
+ :'DecryptedGooglePayWalletPaymentMethodAllOf',
43
+ :'WalletPaymentMethod'
44
+ ]
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ if (!attributes.is_a?(Hash))
51
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::DecryptedGooglePayWalletPaymentMethod` initialize method"
52
+ end
53
+
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::DecryptedGooglePayWalletPaymentMethod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ end
59
+ h[k.to_sym] = v
60
+ }
61
+
62
+ # call parent's initialize
63
+ super(attributes)
64
+
65
+ if attributes.key?(:'wallet_type')
66
+ self.wallet_type = attributes[:'wallet_type']
67
+ end
68
+
69
+ if attributes.key?(:'decrypted_google_pay')
70
+ self.decrypted_google_pay = attributes[:'decrypted_google_pay']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = super
78
+ if @decrypted_google_pay.nil?
79
+ invalid_properties.push('invalid value for "decrypted_google_pay", decrypted_google_pay cannot be nil.')
80
+ end
81
+
82
+ invalid_properties
83
+ end
84
+
85
+ # Check to see if the all the properties in the model are valid
86
+ # @return true if the model is valid
87
+ def valid?
88
+ return false if @decrypted_google_pay.nil?
89
+ true && super
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] Object to be compared
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ wallet_type == o.wallet_type &&
98
+ decrypted_google_pay == o.decrypted_google_pay && super(o)
99
+ end
100
+
101
+ # @see the `==` method
102
+ # @param [Object] Object to be compared
103
+ def eql?(o)
104
+ self == o
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ def hash
110
+ [wallet_type, decrypted_google_pay].hash
111
+ end
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def self.build_from_hash(attributes)
117
+ new.build_from_hash(attributes)
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
+ super(attributes)
126
+ self.class.openapi_types.each_pair do |key, type|
127
+ if type =~ /\AArray<(.*)>/i
128
+ # check to ensure the input is an array given that the attribute
129
+ # is documented as an array but the input is not
130
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
131
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
132
+ end
133
+ elsif !attributes[self.class.attribute_map[key]].nil?
134
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
135
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
136
+ end
137
+
138
+ self
139
+ end
140
+
141
+ # Deserializes the data based on type
142
+ # @param string type Data type
143
+ # @param string value Value to be deserialized
144
+ # @return [Object] Deserialized data
145
+ def _deserialize(type, value)
146
+ case type.to_sym
147
+ when :DateTime
148
+ DateTime.parse(value)
149
+ when :Date
150
+ Date.parse(value)
151
+ when :String
152
+ value.to_s
153
+ when :Integer
154
+ value.to_i
155
+ when :Float
156
+ value.to_f
157
+ when :Boolean
158
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
+ true
160
+ else
161
+ false
162
+ end
163
+ when :Object
164
+ # generic object (usually a Hash), return directly
165
+ value
166
+ when /\AArray<(?<inner_type>.+)>\z/
167
+ inner_type = Regexp.last_match[:inner_type]
168
+ value.map { |v| _deserialize(inner_type, v) }
169
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
170
+ k_type = Regexp.last_match[:k_type]
171
+ v_type = Regexp.last_match[:v_type]
172
+ {}.tap do |hash|
173
+ value.each do |k, v|
174
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
175
+ end
176
+ end
177
+ else # model
178
+ OpenapiClient.const_get(type).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 = super
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,211 @@
1
+ =begin
2
+ #Payment Gateway API Specification.
3
+
4
+ #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
+
6
+ The version of the OpenAPI document: 6.9.1.20191223.002
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OpenapiClient
16
+ class DecryptedGooglePayWalletPaymentMethodAllOf
17
+ # Type of wallet.
18
+ attr_accessor :wallet_type
19
+
20
+ attr_accessor :decrypted_google_pay
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'wallet_type' => :'walletType',
26
+ :'decrypted_google_pay' => :'decryptedGooglePay'
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.openapi_types
32
+ {
33
+ :'wallet_type' => :'String',
34
+ :'decrypted_google_pay' => :'DecryptedGooglePay'
35
+ }
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ if (!attributes.is_a?(Hash))
42
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::DecryptedGooglePayWalletPaymentMethodAllOf` initialize method"
43
+ end
44
+
45
+ # check to see if the attribute exists and convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h|
47
+ if (!self.class.attribute_map.key?(k.to_sym))
48
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::DecryptedGooglePayWalletPaymentMethodAllOf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ end
50
+ h[k.to_sym] = v
51
+ }
52
+
53
+ if attributes.key?(:'wallet_type')
54
+ self.wallet_type = attributes[:'wallet_type']
55
+ end
56
+
57
+ if attributes.key?(:'decrypted_google_pay')
58
+ self.decrypted_google_pay = attributes[:'decrypted_google_pay']
59
+ end
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = Array.new
66
+ if @decrypted_google_pay.nil?
67
+ invalid_properties.push('invalid value for "decrypted_google_pay", decrypted_google_pay cannot be nil.')
68
+ end
69
+
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ return false if @decrypted_google_pay.nil?
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ wallet_type == o.wallet_type &&
86
+ decrypted_google_pay == o.decrypted_google_pay
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [wallet_type, decrypted_google_pay].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ new.build_from_hash(attributes)
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def build_from_hash(attributes)
112
+ return nil unless attributes.is_a?(Hash)
113
+ self.class.openapi_types.each_pair do |key, type|
114
+ if type =~ /\AArray<(.*)>/i
115
+ # check to ensure the input is an array given that the attribute
116
+ # is documented as an array but the input is not
117
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
118
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
119
+ end
120
+ elsif !attributes[self.class.attribute_map[key]].nil?
121
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
122
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
123
+ end
124
+
125
+ self
126
+ end
127
+
128
+ # Deserializes the data based on type
129
+ # @param string type Data type
130
+ # @param string value Value to be deserialized
131
+ # @return [Object] Deserialized data
132
+ def _deserialize(type, value)
133
+ case type.to_sym
134
+ when :DateTime
135
+ DateTime.parse(value)
136
+ when :Date
137
+ Date.parse(value)
138
+ when :String
139
+ value.to_s
140
+ when :Integer
141
+ value.to_i
142
+ when :Float
143
+ value.to_f
144
+ when :Boolean
145
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
146
+ true
147
+ else
148
+ false
149
+ end
150
+ when :Object
151
+ # generic object (usually a Hash), return directly
152
+ value
153
+ when /\AArray<(?<inner_type>.+)>\z/
154
+ inner_type = Regexp.last_match[:inner_type]
155
+ value.map { |v| _deserialize(inner_type, v) }
156
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
157
+ k_type = Regexp.last_match[:k_type]
158
+ v_type = Regexp.last_match[:v_type]
159
+ {}.tap do |hash|
160
+ value.each do |k, v|
161
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
162
+ end
163
+ end
164
+ else # model
165
+ OpenapiClient.const_get(type).build_from_hash(value)
166
+ end
167
+ end
168
+
169
+ # Returns the string representation of the object
170
+ # @return [String] String presentation of the object
171
+ def to_s
172
+ to_hash.to_s
173
+ end
174
+
175
+ # to_body is an alias to to_hash (backward compatibility)
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_body
178
+ to_hash
179
+ end
180
+
181
+ # Returns the object in the form of hash
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_hash
184
+ hash = {}
185
+ self.class.attribute_map.each_pair do |attr, param|
186
+ value = self.send(attr)
187
+ next if value.nil?
188
+ hash[param] = _to_hash(value)
189
+ end
190
+ hash
191
+ end
192
+
193
+ # Outputs non-array value in the form of hash
194
+ # For object, use to_hash. Otherwise, just return the value
195
+ # @param [Object] value Any valid value
196
+ # @return [Hash] Returns the value in the form of hash
197
+ def _to_hash(value)
198
+ if value.is_a?(Array)
199
+ value.compact.map { |v| _to_hash(v) }
200
+ elsif value.is_a?(Hash)
201
+ {}.tap do |hash|
202
+ value.each { |k, v| hash[k] = _to_hash(v) }
203
+ end
204
+ elsif value.respond_to? :to_hash
205
+ value.to_hash
206
+ else
207
+ value
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,464 @@
1
+ =begin
2
+ #Payment Gateway API Specification.
3
+
4
+ #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
+
6
+ The version of the OpenAPI document: 6.9.1.20191223.002
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OpenapiClient
16
+ # Decrypted Samsung Pay payload.
17
+ class DecryptedSamsungPay
18
+ # Payment card number.
19
+ attr_accessor :account_number
20
+
21
+ # Card expiration date in MMYYYY format.
22
+ attr_accessor :expiration
23
+
24
+ # Numeric currency code following ISO 4217 standards.
25
+ attr_accessor :currency_code
26
+
27
+ # Amount total.
28
+ attr_accessor :amount
29
+
30
+ # Name of the cardholder.
31
+ attr_accessor :cardholder_name
32
+
33
+ # Card brand.
34
+ attr_accessor :brand
35
+
36
+ # The wallet cryptogram from the decrypted data.
37
+ attr_accessor :cryptogram
38
+
39
+ # The ECI indicator from the decrypted data.
40
+ attr_accessor :eci_indicator
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'account_number' => :'accountNumber',
46
+ :'expiration' => :'expiration',
47
+ :'currency_code' => :'currencyCode',
48
+ :'amount' => :'amount',
49
+ :'cardholder_name' => :'cardholderName',
50
+ :'brand' => :'brand',
51
+ :'cryptogram' => :'cryptogram',
52
+ :'eci_indicator' => :'eciIndicator'
53
+ }
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.openapi_types
58
+ {
59
+ :'account_number' => :'String',
60
+ :'expiration' => :'String',
61
+ :'currency_code' => :'String',
62
+ :'amount' => :'Float',
63
+ :'cardholder_name' => :'String',
64
+ :'brand' => :'String',
65
+ :'cryptogram' => :'String',
66
+ :'eci_indicator' => :'String'
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ if (!attributes.is_a?(Hash))
74
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::DecryptedSamsungPay` initialize method"
75
+ end
76
+
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!self.class.attribute_map.key?(k.to_sym))
80
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::DecryptedSamsungPay`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
+ end
82
+ h[k.to_sym] = v
83
+ }
84
+
85
+ if attributes.key?(:'account_number')
86
+ self.account_number = attributes[:'account_number']
87
+ end
88
+
89
+ if attributes.key?(:'expiration')
90
+ self.expiration = attributes[:'expiration']
91
+ end
92
+
93
+ if attributes.key?(:'currency_code')
94
+ self.currency_code = attributes[:'currency_code']
95
+ end
96
+
97
+ if attributes.key?(:'amount')
98
+ self.amount = attributes[:'amount']
99
+ end
100
+
101
+ if attributes.key?(:'cardholder_name')
102
+ self.cardholder_name = attributes[:'cardholder_name']
103
+ end
104
+
105
+ if attributes.key?(:'brand')
106
+ self.brand = attributes[:'brand']
107
+ end
108
+
109
+ if attributes.key?(:'cryptogram')
110
+ self.cryptogram = attributes[:'cryptogram']
111
+ end
112
+
113
+ if attributes.key?(:'eci_indicator')
114
+ self.eci_indicator = attributes[:'eci_indicator']
115
+ end
116
+ end
117
+
118
+ # Show invalid properties with the reasons. Usually used together with valid?
119
+ # @return Array for valid properties with the reasons
120
+ def list_invalid_properties
121
+ invalid_properties = Array.new
122
+ if @account_number.nil?
123
+ invalid_properties.push('invalid value for "account_number", account_number cannot be nil.')
124
+ end
125
+
126
+ pattern = Regexp.new(/[0-9]{13,19}/)
127
+ if @account_number !~ pattern
128
+ invalid_properties.push("invalid value for \"account_number\", must conform to the pattern #{pattern}.")
129
+ end
130
+
131
+ if @expiration.nil?
132
+ invalid_properties.push('invalid value for "expiration", expiration cannot be nil.')
133
+ end
134
+
135
+ pattern = Regexp.new(/[0-9]{6}/)
136
+ if @expiration !~ pattern
137
+ invalid_properties.push("invalid value for \"expiration\", must conform to the pattern #{pattern}.")
138
+ end
139
+
140
+ if @currency_code.nil?
141
+ invalid_properties.push('invalid value for "currency_code", currency_code cannot be nil.')
142
+ end
143
+
144
+ pattern = Regexp.new(/[0-9]{3}/)
145
+ if @currency_code !~ pattern
146
+ invalid_properties.push("invalid value for \"currency_code\", must conform to the pattern #{pattern}.")
147
+ end
148
+
149
+ if @amount.nil?
150
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
151
+ end
152
+
153
+ if @cardholder_name.nil?
154
+ invalid_properties.push('invalid value for "cardholder_name", cardholder_name cannot be nil.')
155
+ end
156
+
157
+ if @cardholder_name.to_s.length > 96
158
+ invalid_properties.push('invalid value for "cardholder_name", the character length must be smaller than or equal to 96.')
159
+ end
160
+
161
+ pattern = Regexp.new(/^(?!\s*$).+/)
162
+ if @cardholder_name !~ pattern
163
+ invalid_properties.push("invalid value for \"cardholder_name\", must conform to the pattern #{pattern}.")
164
+ end
165
+
166
+ if @brand.nil?
167
+ invalid_properties.push('invalid value for "brand", brand cannot be nil.')
168
+ end
169
+
170
+ pattern = Regexp.new(/^(?!\s*$).+/)
171
+ if @brand !~ pattern
172
+ invalid_properties.push("invalid value for \"brand\", must conform to the pattern #{pattern}.")
173
+ end
174
+
175
+ if @cryptogram.nil?
176
+ invalid_properties.push('invalid value for "cryptogram", cryptogram cannot be nil.')
177
+ end
178
+
179
+ pattern = Regexp.new(/^(?!\s*$).+/)
180
+ if @cryptogram !~ pattern
181
+ invalid_properties.push("invalid value for \"cryptogram\", must conform to the pattern #{pattern}.")
182
+ end
183
+
184
+ if @eci_indicator.nil?
185
+ invalid_properties.push('invalid value for "eci_indicator", eci_indicator cannot be nil.')
186
+ end
187
+
188
+ pattern = Regexp.new(/[0-9]{2}/)
189
+ if @eci_indicator !~ pattern
190
+ invalid_properties.push("invalid value for \"eci_indicator\", must conform to the pattern #{pattern}.")
191
+ end
192
+
193
+ invalid_properties
194
+ end
195
+
196
+ # Check to see if the all the properties in the model are valid
197
+ # @return true if the model is valid
198
+ def valid?
199
+ return false if @account_number.nil?
200
+ return false if @account_number !~ Regexp.new(/[0-9]{13,19}/)
201
+ return false if @expiration.nil?
202
+ return false if @expiration !~ Regexp.new(/[0-9]{6}/)
203
+ return false if @currency_code.nil?
204
+ return false if @currency_code !~ Regexp.new(/[0-9]{3}/)
205
+ return false if @amount.nil?
206
+ return false if @cardholder_name.nil?
207
+ return false if @cardholder_name.to_s.length > 96
208
+ return false if @cardholder_name !~ Regexp.new(/^(?!\s*$).+/)
209
+ return false if @brand.nil?
210
+ return false if @brand !~ Regexp.new(/^(?!\s*$).+/)
211
+ return false if @cryptogram.nil?
212
+ return false if @cryptogram !~ Regexp.new(/^(?!\s*$).+/)
213
+ return false if @eci_indicator.nil?
214
+ return false if @eci_indicator !~ Regexp.new(/[0-9]{2}/)
215
+ true
216
+ end
217
+
218
+ # Custom attribute writer method with validation
219
+ # @param [Object] account_number Value to be assigned
220
+ def account_number=(account_number)
221
+ if account_number.nil?
222
+ fail ArgumentError, 'account_number cannot be nil'
223
+ end
224
+
225
+ pattern = Regexp.new(/[0-9]{13,19}/)
226
+ if account_number !~ pattern
227
+ fail ArgumentError, "invalid value for \"account_number\", must conform to the pattern #{pattern}."
228
+ end
229
+
230
+ @account_number = account_number
231
+ end
232
+
233
+ # Custom attribute writer method with validation
234
+ # @param [Object] expiration Value to be assigned
235
+ def expiration=(expiration)
236
+ if expiration.nil?
237
+ fail ArgumentError, 'expiration cannot be nil'
238
+ end
239
+
240
+ pattern = Regexp.new(/[0-9]{6}/)
241
+ if expiration !~ pattern
242
+ fail ArgumentError, "invalid value for \"expiration\", must conform to the pattern #{pattern}."
243
+ end
244
+
245
+ @expiration = expiration
246
+ end
247
+
248
+ # Custom attribute writer method with validation
249
+ # @param [Object] currency_code Value to be assigned
250
+ def currency_code=(currency_code)
251
+ if currency_code.nil?
252
+ fail ArgumentError, 'currency_code cannot be nil'
253
+ end
254
+
255
+ pattern = Regexp.new(/[0-9]{3}/)
256
+ if currency_code !~ pattern
257
+ fail ArgumentError, "invalid value for \"currency_code\", must conform to the pattern #{pattern}."
258
+ end
259
+
260
+ @currency_code = currency_code
261
+ end
262
+
263
+ # Custom attribute writer method with validation
264
+ # @param [Object] cardholder_name Value to be assigned
265
+ def cardholder_name=(cardholder_name)
266
+ if cardholder_name.nil?
267
+ fail ArgumentError, 'cardholder_name cannot be nil'
268
+ end
269
+
270
+ if cardholder_name.to_s.length > 96
271
+ fail ArgumentError, 'invalid value for "cardholder_name", the character length must be smaller than or equal to 96.'
272
+ end
273
+
274
+ pattern = Regexp.new(/^(?!\s*$).+/)
275
+ if cardholder_name !~ pattern
276
+ fail ArgumentError, "invalid value for \"cardholder_name\", must conform to the pattern #{pattern}."
277
+ end
278
+
279
+ @cardholder_name = cardholder_name
280
+ end
281
+
282
+ # Custom attribute writer method with validation
283
+ # @param [Object] brand Value to be assigned
284
+ def brand=(brand)
285
+ if brand.nil?
286
+ fail ArgumentError, 'brand cannot be nil'
287
+ end
288
+
289
+ pattern = Regexp.new(/^(?!\s*$).+/)
290
+ if brand !~ pattern
291
+ fail ArgumentError, "invalid value for \"brand\", must conform to the pattern #{pattern}."
292
+ end
293
+
294
+ @brand = brand
295
+ end
296
+
297
+ # Custom attribute writer method with validation
298
+ # @param [Object] cryptogram Value to be assigned
299
+ def cryptogram=(cryptogram)
300
+ if cryptogram.nil?
301
+ fail ArgumentError, 'cryptogram cannot be nil'
302
+ end
303
+
304
+ pattern = Regexp.new(/^(?!\s*$).+/)
305
+ if cryptogram !~ pattern
306
+ fail ArgumentError, "invalid value for \"cryptogram\", must conform to the pattern #{pattern}."
307
+ end
308
+
309
+ @cryptogram = cryptogram
310
+ end
311
+
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] eci_indicator Value to be assigned
314
+ def eci_indicator=(eci_indicator)
315
+ if eci_indicator.nil?
316
+ fail ArgumentError, 'eci_indicator cannot be nil'
317
+ end
318
+
319
+ pattern = Regexp.new(/[0-9]{2}/)
320
+ if eci_indicator !~ pattern
321
+ fail ArgumentError, "invalid value for \"eci_indicator\", must conform to the pattern #{pattern}."
322
+ end
323
+
324
+ @eci_indicator = eci_indicator
325
+ end
326
+
327
+ # Checks equality by comparing each attribute.
328
+ # @param [Object] Object to be compared
329
+ def ==(o)
330
+ return true if self.equal?(o)
331
+ self.class == o.class &&
332
+ account_number == o.account_number &&
333
+ expiration == o.expiration &&
334
+ currency_code == o.currency_code &&
335
+ amount == o.amount &&
336
+ cardholder_name == o.cardholder_name &&
337
+ brand == o.brand &&
338
+ cryptogram == o.cryptogram &&
339
+ eci_indicator == o.eci_indicator
340
+ end
341
+
342
+ # @see the `==` method
343
+ # @param [Object] Object to be compared
344
+ def eql?(o)
345
+ self == o
346
+ end
347
+
348
+ # Calculates hash code according to all attributes.
349
+ # @return [Integer] Hash code
350
+ def hash
351
+ [account_number, expiration, currency_code, amount, cardholder_name, brand, cryptogram, eci_indicator].hash
352
+ end
353
+
354
+ # Builds the object from hash
355
+ # @param [Hash] attributes Model attributes in the form of hash
356
+ # @return [Object] Returns the model itself
357
+ def self.build_from_hash(attributes)
358
+ new.build_from_hash(attributes)
359
+ end
360
+
361
+ # Builds the object from hash
362
+ # @param [Hash] attributes Model attributes in the form of hash
363
+ # @return [Object] Returns the model itself
364
+ def build_from_hash(attributes)
365
+ return nil unless attributes.is_a?(Hash)
366
+ self.class.openapi_types.each_pair do |key, type|
367
+ if type =~ /\AArray<(.*)>/i
368
+ # check to ensure the input is an array given that the attribute
369
+ # is documented as an array but the input is not
370
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
371
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
372
+ end
373
+ elsif !attributes[self.class.attribute_map[key]].nil?
374
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
375
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
376
+ end
377
+
378
+ self
379
+ end
380
+
381
+ # Deserializes the data based on type
382
+ # @param string type Data type
383
+ # @param string value Value to be deserialized
384
+ # @return [Object] Deserialized data
385
+ def _deserialize(type, value)
386
+ case type.to_sym
387
+ when :DateTime
388
+ DateTime.parse(value)
389
+ when :Date
390
+ Date.parse(value)
391
+ when :String
392
+ value.to_s
393
+ when :Integer
394
+ value.to_i
395
+ when :Float
396
+ value.to_f
397
+ when :Boolean
398
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
399
+ true
400
+ else
401
+ false
402
+ end
403
+ when :Object
404
+ # generic object (usually a Hash), return directly
405
+ value
406
+ when /\AArray<(?<inner_type>.+)>\z/
407
+ inner_type = Regexp.last_match[:inner_type]
408
+ value.map { |v| _deserialize(inner_type, v) }
409
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
410
+ k_type = Regexp.last_match[:k_type]
411
+ v_type = Regexp.last_match[:v_type]
412
+ {}.tap do |hash|
413
+ value.each do |k, v|
414
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
415
+ end
416
+ end
417
+ else # model
418
+ OpenapiClient.const_get(type).build_from_hash(value)
419
+ end
420
+ end
421
+
422
+ # Returns the string representation of the object
423
+ # @return [String] String presentation of the object
424
+ def to_s
425
+ to_hash.to_s
426
+ end
427
+
428
+ # to_body is an alias to to_hash (backward compatibility)
429
+ # @return [Hash] Returns the object in the form of hash
430
+ def to_body
431
+ to_hash
432
+ end
433
+
434
+ # Returns the object in the form of hash
435
+ # @return [Hash] Returns the object in the form of hash
436
+ def to_hash
437
+ hash = {}
438
+ self.class.attribute_map.each_pair do |attr, param|
439
+ value = self.send(attr)
440
+ next if value.nil?
441
+ hash[param] = _to_hash(value)
442
+ end
443
+ hash
444
+ end
445
+
446
+ # Outputs non-array value in the form of hash
447
+ # For object, use to_hash. Otherwise, just return the value
448
+ # @param [Object] value Any valid value
449
+ # @return [Hash] Returns the value in the form of hash
450
+ def _to_hash(value)
451
+ if value.is_a?(Array)
452
+ value.compact.map { |v| _to_hash(v) }
453
+ elsif value.is_a?(Hash)
454
+ {}.tap do |hash|
455
+ value.each { |k, v| hash[k] = _to_hash(v) }
456
+ end
457
+ elsif value.respond_to? :to_hash
458
+ value.to_hash
459
+ else
460
+ value
461
+ end
462
+ end
463
+ end
464
+ end