first_data_gateway 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/lib/openapi_client.rb +41 -13
  4. data/lib/openapi_client/api/authentication_api.rb +2 -2
  5. data/lib/openapi_client/api/card_info_lookup_api.rb +2 -2
  6. data/lib/openapi_client/api/card_verification_api.rb +2 -2
  7. data/lib/openapi_client/api/currency_conversion_api.rb +2 -2
  8. data/lib/openapi_client/api/fraud_detect_api.rb +214 -4
  9. data/lib/openapi_client/api/order_api.rb +4 -4
  10. data/lib/openapi_client/api/payment_api.rb +9 -9
  11. data/lib/openapi_client/api/payment_schedules_api.rb +5 -5
  12. data/lib/openapi_client/api/payment_token_api.rb +7 -6
  13. data/lib/openapi_client/api/payment_url_api.rb +233 -2
  14. data/lib/openapi_client/api_client.rb +31 -31
  15. data/lib/openapi_client/api_error.rb +1 -1
  16. data/lib/openapi_client/configuration.rb +2 -5
  17. data/lib/openapi_client/models/access_token_response.rb +1 -1
  18. data/lib/openapi_client/models/account_updater_response.rb +1 -1
  19. data/lib/openapi_client/models/additional_amount_rate.rb +1 -1
  20. data/lib/openapi_client/models/additional_details.rb +1 -1
  21. data/lib/openapi_client/models/additional_transaction_details.rb +3 -3
  22. data/lib/openapi_client/models/address.rb +1 -1
  23. data/lib/openapi_client/models/airline.rb +1 -1
  24. data/lib/openapi_client/models/airline_ancillary_service_category.rb +1 -1
  25. data/lib/openapi_client/models/airline_travel_route.rb +1 -1
  26. data/lib/openapi_client/models/ali_pay.rb +1 -1
  27. data/lib/openapi_client/models/ali_pay_payment_method.rb +1 -1
  28. data/lib/openapi_client/models/ali_pay_payment_method_all_of.rb +1 -1
  29. data/lib/openapi_client/models/ali_pay_sale_transaction.rb +1 -1
  30. data/lib/openapi_client/models/ali_pay_sale_transaction_all_of.rb +1 -1
  31. data/lib/openapi_client/models/amount.rb +1 -1
  32. data/lib/openapi_client/models/amount_components.rb +1 -1
  33. data/lib/openapi_client/models/authentication.rb +1 -1
  34. data/lib/openapi_client/models/authentication_redirect.rb +1 -1
  35. data/lib/openapi_client/models/authentication_redirect_params.rb +1 -1
  36. data/lib/openapi_client/models/authentication_verification_request.rb +1 -1
  37. data/lib/openapi_client/models/avs_response.rb +1 -1
  38. data/lib/openapi_client/models/basic_response.rb +1 -1
  39. data/lib/openapi_client/models/billing.rb +1 -1
  40. data/lib/openapi_client/models/billing_address.rb +2 -2
  41. data/lib/openapi_client/models/car_rental.rb +1 -1
  42. data/lib/openapi_client/models/car_rental_extra_charges.rb +1 -1
  43. data/lib/openapi_client/models/card.rb +1 -1
  44. data/lib/openapi_client/models/card_function.rb +1 -1
  45. data/lib/openapi_client/models/card_info.rb +1 -1
  46. data/lib/openapi_client/models/card_info_lookup_request.rb +1 -1
  47. data/lib/openapi_client/models/card_info_lookup_response.rb +1 -1
  48. data/lib/openapi_client/models/card_verification_request.rb +1 -1
  49. data/lib/openapi_client/models/china_domestic.rb +1 -1
  50. data/lib/openapi_client/models/china_domestic_payment_method.rb +1 -1
  51. data/lib/openapi_client/models/china_domestic_payment_method_all_of.rb +1 -1
  52. data/lib/openapi_client/models/china_pn_r_sale_transaction.rb +1 -1
  53. data/lib/openapi_client/models/china_pn_r_sale_transaction_all_of.rb +1 -1
  54. data/lib/openapi_client/models/client_locale.rb +1 -1
  55. data/lib/openapi_client/models/client_registration.rb +281 -0
  56. data/lib/openapi_client/models/contact.rb +1 -1
  57. data/lib/openapi_client/models/create_payment_token.rb +1 -1
  58. data/lib/openapi_client/models/currency_conversion.rb +1 -1
  59. data/lib/openapi_client/models/customer.rb +1 -1
  60. data/lib/openapi_client/models/customer_address.rb +21 -14
  61. data/lib/openapi_client/models/dcc.rb +1 -1
  62. data/lib/openapi_client/models/dcc_all_of.rb +1 -1
  63. data/lib/openapi_client/models/dcc_exchange_rate_request.rb +1 -1
  64. data/lib/openapi_client/models/dcc_exchange_rate_request_all_of.rb +1 -1
  65. data/lib/openapi_client/models/device.rb +2 -2
  66. data/lib/openapi_client/models/disbursement.rb +1 -1
  67. data/lib/openapi_client/models/disbursement_transaction_type.rb +1 -1
  68. data/lib/openapi_client/models/document.rb +1 -1
  69. data/lib/openapi_client/models/dynamic_pricing.rb +13 -4
  70. data/lib/openapi_client/models/dynamic_pricing_all_of.rb +13 -4
  71. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request.rb +1 -1
  72. data/lib/openapi_client/models/dynamic_pricing_exchange_rate_request_all_of.rb +1 -1
  73. data/lib/openapi_client/models/encrypted_apple_pay.rb +1 -1
  74. data/lib/openapi_client/models/encrypted_apple_pay_header.rb +1 -1
  75. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method.rb +1 -1
  76. data/lib/openapi_client/models/encrypted_apple_pay_wallet_payment_method_all_of.rb +1 -1
  77. data/lib/openapi_client/models/encrypted_google_pay.rb +1 -1
  78. data/lib/openapi_client/models/encrypted_google_pay_data.rb +1 -1
  79. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method.rb +1 -1
  80. data/lib/openapi_client/models/encrypted_google_pay_wallet_payment_method_all_of.rb +1 -1
  81. data/lib/openapi_client/models/encrypted_samsung_pay.rb +251 -0
  82. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method.rb +225 -0
  83. data/lib/openapi_client/models/encrypted_samsung_pay_wallet_payment_method_all_of.rb +201 -0
  84. data/lib/openapi_client/models/error.rb +1 -1
  85. data/lib/openapi_client/models/error_details.rb +1 -1
  86. data/lib/openapi_client/models/error_message.rb +208 -0
  87. data/lib/openapi_client/models/error_response.rb +1 -1
  88. data/lib/openapi_client/models/exchange_rate_request.rb +1 -1
  89. data/lib/openapi_client/models/exchange_rate_response.rb +1 -1
  90. data/lib/openapi_client/models/expiration.rb +1 -1
  91. data/lib/openapi_client/models/{merchant_location_merchant_address.rb → fraud_address.rb} +9 -9
  92. data/lib/openapi_client/models/fraud_order.rb +2 -2
  93. data/lib/openapi_client/models/fraud_order_items.rb +1 -1
  94. data/lib/openapi_client/models/fraud_registration.rb +259 -0
  95. data/lib/openapi_client/models/fraud_registration_card.rb +248 -0
  96. data/lib/openapi_client/models/fraud_registration_device.rb +375 -0
  97. data/lib/openapi_client/models/fraud_registration_device_items.rb +287 -0
  98. data/lib/openapi_client/models/{billing_address_phone.rb → fraud_registration_error.rb} +14 -23
  99. data/lib/openapi_client/models/fraud_registration_response.rb +279 -0
  100. data/lib/openapi_client/models/fraud_score.rb +232 -0
  101. data/lib/openapi_client/models/frequency.rb +1 -1
  102. data/lib/openapi_client/models/funding_transaction_type.rb +1 -1
  103. data/lib/openapi_client/models/industry_specific_extensions.rb +1 -1
  104. data/lib/openapi_client/models/installment_options.rb +1 -1
  105. data/lib/openapi_client/models/{payment_issuer_response.rb → issuer_response.rb} +4 -4
  106. data/lib/openapi_client/models/{device_networks.rb → items.rb} +4 -4
  107. data/lib/openapi_client/models/{merchant_location.rb → location.rb} +5 -5
  108. data/lib/openapi_client/models/lodging.rb +1 -1
  109. data/lib/openapi_client/models/lodging_extra_charges.rb +1 -1
  110. data/lib/openapi_client/models/loyalty.rb +1 -1
  111. data/lib/openapi_client/models/merchant.rb +2 -2
  112. data/lib/openapi_client/models/{payment_pay_method.rb → method.rb} +4 -4
  113. data/lib/openapi_client/models/order.rb +1 -1
  114. data/lib/openapi_client/models/order_error_response.rb +9 -28
  115. data/lib/openapi_client/models/order_response.rb +9 -28
  116. data/lib/openapi_client/models/pay_pal.rb +1 -1
  117. data/lib/openapi_client/models/pay_pal_payment_method.rb +1 -1
  118. data/lib/openapi_client/models/pay_pal_payment_method_all_of.rb +1 -1
  119. data/lib/openapi_client/models/payment.rb +10 -10
  120. data/lib/openapi_client/models/payment_card.rb +1 -1
  121. data/lib/openapi_client/models/payment_card_credit_transaction.rb +1 -1
  122. data/lib/openapi_client/models/payment_card_disbursement_transaction.rb +1 -1
  123. data/lib/openapi_client/models/payment_card_disbursement_transaction_all_of.rb +1 -1
  124. data/lib/openapi_client/models/payment_card_forced_ticket_transaction.rb +1 -1
  125. data/lib/openapi_client/models/payment_card_forced_ticket_transaction_all_of.rb +1 -1
  126. data/lib/openapi_client/models/payment_card_payer_auth_transaction.rb +1 -1
  127. data/lib/openapi_client/models/payment_card_payer_auth_transaction_all_of.rb +1 -1
  128. data/lib/openapi_client/models/payment_card_payment_method.rb +1 -1
  129. data/lib/openapi_client/models/payment_card_payment_method_all_of.rb +1 -1
  130. data/lib/openapi_client/models/payment_card_payment_tokenization_request.rb +1 -1
  131. data/lib/openapi_client/models/payment_card_payment_tokenization_request_all_of.rb +1 -1
  132. data/lib/openapi_client/models/payment_card_pre_auth_transaction.rb +1 -1
  133. data/lib/openapi_client/models/payment_card_pre_auth_transaction_all_of.rb +1 -1
  134. data/lib/openapi_client/models/payment_card_sale_transaction.rb +1 -1
  135. data/lib/openapi_client/models/payment_card_sale_transaction_all_of.rb +1 -1
  136. data/lib/openapi_client/models/payment_device.rb +336 -0
  137. data/lib/openapi_client/models/payment_device_credit_transaction.rb +307 -0
  138. data/lib/openapi_client/models/payment_device_credit_transaction_all_of.rb +201 -0
  139. data/lib/openapi_client/models/payment_device_disbursement_transaction.rb +321 -0
  140. data/lib/openapi_client/models/payment_device_disbursement_transaction_all_of.rb +215 -0
  141. data/lib/openapi_client/models/payment_device_payment_method.rb +219 -0
  142. data/lib/openapi_client/models/payment_device_payment_method_all_of.rb +210 -0
  143. data/lib/openapi_client/models/payment_device_payment_tokenization_request.rb +285 -0
  144. data/lib/openapi_client/models/payment_device_payment_tokenization_request_all_of.rb +201 -0
  145. data/lib/openapi_client/models/payment_device_pre_auth_transaction.rb +346 -0
  146. data/lib/openapi_client/models/payment_device_pre_auth_transaction_all_of.rb +240 -0
  147. data/lib/openapi_client/models/payment_device_sale_transaction.rb +325 -0
  148. data/lib/openapi_client/models/payment_device_sale_transaction_all_of.rb +219 -0
  149. data/lib/openapi_client/models/payment_facilitator.rb +1 -1
  150. data/lib/openapi_client/models/payment_method_details.rb +1 -1
  151. data/lib/openapi_client/models/payment_method_payment_schedules_request.rb +1 -1
  152. data/lib/openapi_client/models/payment_method_payment_schedules_request_all_of.rb +1 -1
  153. data/lib/openapi_client/models/payment_method_type.rb +2 -1
  154. data/lib/openapi_client/models/payment_registration.rb +331 -0
  155. data/lib/openapi_client/models/payment_schedules_error_response.rb +1 -1
  156. data/lib/openapi_client/models/payment_schedules_request.rb +1 -1
  157. data/lib/openapi_client/models/payment_schedules_response.rb +1 -1
  158. data/lib/openapi_client/models/payment_token_credit_transaction.rb +1 -1
  159. data/lib/openapi_client/models/payment_token_credit_transaction_all_of.rb +1 -1
  160. data/lib/openapi_client/models/payment_token_details.rb +1 -1
  161. data/lib/openapi_client/models/payment_token_details_all_of.rb +1 -1
  162. data/lib/openapi_client/models/payment_token_disbursement_transaction.rb +1 -1
  163. data/lib/openapi_client/models/payment_token_disbursement_transaction_all_of.rb +1 -1
  164. data/lib/openapi_client/models/payment_token_payment_method.rb +1 -1
  165. data/lib/openapi_client/models/payment_token_payment_method_all_of.rb +1 -1
  166. data/lib/openapi_client/models/payment_token_pre_auth_transaction.rb +1 -1
  167. data/lib/openapi_client/models/payment_token_pre_auth_transaction_all_of.rb +1 -1
  168. data/lib/openapi_client/models/payment_token_sale_transaction.rb +1 -1
  169. data/lib/openapi_client/models/payment_token_sale_transaction_all_of.rb +1 -1
  170. data/lib/openapi_client/models/payment_tokenization_error_response.rb +1 -1
  171. data/lib/openapi_client/models/payment_tokenization_request.rb +1 -1
  172. data/lib/openapi_client/models/payment_tokenization_response.rb +1 -1
  173. data/lib/openapi_client/models/payment_url_detail.rb +252 -0
  174. data/lib/openapi_client/models/payment_url_detail_response.rb +236 -0
  175. data/lib/openapi_client/models/payment_url_error_response.rb +1 -1
  176. data/lib/openapi_client/models/payment_url_request.rb +1 -1
  177. data/lib/openapi_client/models/payment_url_response.rb +1 -1
  178. data/lib/openapi_client/models/payment_url_status.rb +38 -0
  179. data/lib/openapi_client/models/paypal_credit_transaction.rb +1 -1
  180. data/lib/openapi_client/models/paypal_credit_transaction_all_of.rb +1 -1
  181. data/lib/openapi_client/models/{customer_address_phone.rb → phone.rb} +4 -4
  182. data/lib/openapi_client/models/post_auth_transaction.rb +1 -1
  183. data/lib/openapi_client/models/post_auth_transaction_all_of.rb +1 -1
  184. data/lib/openapi_client/models/primary_transaction.rb +1 -1
  185. data/lib/openapi_client/models/processor_data.rb +1 -1
  186. data/lib/openapi_client/models/purchase_cards.rb +1 -1
  187. data/lib/openapi_client/models/purchase_cards_level2.rb +1 -1
  188. data/lib/openapi_client/models/purchase_cards_level3.rb +2 -2
  189. data/lib/openapi_client/models/purchase_cards_level3_line_items.rb +1 -1
  190. data/lib/openapi_client/models/receiver_info.rb +1 -1
  191. data/lib/openapi_client/models/recurring_payment_details.rb +1 -1
  192. data/lib/openapi_client/models/recurring_payment_details_response.rb +9 -28
  193. data/lib/openapi_client/models/referenced_order_payment_schedules_request.rb +1 -1
  194. data/lib/openapi_client/models/referenced_order_payment_schedules_request_all_of.rb +1 -1
  195. data/lib/openapi_client/models/referenced_order_payment_tokenization_request.rb +1 -1
  196. data/lib/openapi_client/models/referenced_order_payment_tokenization_request_all_of.rb +1 -1
  197. data/lib/openapi_client/models/registration_method.rb +300 -0
  198. data/lib/openapi_client/models/response_amount_components.rb +1 -1
  199. data/lib/openapi_client/models/response_amount_components_all_of.rb +1 -1
  200. data/lib/openapi_client/models/response_type.rb +1 -1
  201. data/lib/openapi_client/models/return_transaction.rb +1 -1
  202. data/lib/openapi_client/models/return_transaction_all_of.rb +1 -1
  203. data/lib/openapi_client/models/score_only_request.rb +1 -13
  204. data/lib/openapi_client/models/score_only_response.rb +1 -1
  205. data/lib/openapi_client/models/score_only_response_fraud_score.rb +1 -1
  206. data/lib/openapi_client/models/score_only_response_fraud_score_explanations.rb +1 -1
  207. data/lib/openapi_client/models/secondary_transaction.rb +1 -1
  208. data/lib/openapi_client/models/secure3_d10_authentication_result.rb +1 -1
  209. data/lib/openapi_client/models/secure3_d10_authentication_result_all_of.rb +1 -1
  210. data/lib/openapi_client/models/secure3_d21_authentication_result.rb +1 -1
  211. data/lib/openapi_client/models/secure3_d21_authentication_result_all_of.rb +1 -1
  212. data/lib/openapi_client/models/secure3d_authentication_request.rb +1 -1
  213. data/lib/openapi_client/models/secure3d_authentication_verification_request.rb +1 -1
  214. data/lib/openapi_client/models/secure3d_authentication_verification_request_all_of.rb +1 -1
  215. data/lib/openapi_client/models/secure3d_response.rb +1 -1
  216. data/lib/openapi_client/models/sender_info.rb +1 -1
  217. data/lib/openapi_client/models/sepa.rb +1 -1
  218. data/lib/openapi_client/models/sepa_mandate.rb +1 -1
  219. data/lib/openapi_client/models/sepa_payment_method.rb +1 -1
  220. data/lib/openapi_client/models/sepa_payment_method_all_of.rb +1 -1
  221. data/lib/openapi_client/models/sepa_sale_transaction.rb +1 -1
  222. data/lib/openapi_client/models/sepa_sale_transaction_all_of.rb +1 -1
  223. data/lib/openapi_client/models/{fraud_order_ship_to_address.rb → ship_to_address.rb} +4 -4
  224. data/lib/openapi_client/models/shipping.rb +1 -1
  225. data/lib/openapi_client/models/soft_descriptor.rb +1 -1
  226. data/lib/openapi_client/models/split_shipment.rb +1 -1
  227. data/lib/openapi_client/models/stored_credential.rb +1 -1
  228. data/lib/openapi_client/models/sub_merchant_data.rb +1 -1
  229. data/lib/openapi_client/models/sub_merchant_split.rb +1 -1
  230. data/lib/openapi_client/models/transaction_error_response.rb +1 -1
  231. data/lib/openapi_client/models/transaction_origin.rb +1 -1
  232. data/lib/openapi_client/models/transaction_response.rb +1 -1
  233. data/lib/openapi_client/models/transaction_type.rb +1 -1
  234. data/lib/openapi_client/models/union_pay_authentication_request.rb +1 -1
  235. data/lib/openapi_client/models/union_pay_authentication_request_all_of.rb +1 -1
  236. data/lib/openapi_client/models/union_pay_authentication_verification_request.rb +1 -1
  237. data/lib/openapi_client/models/union_pay_authentication_verification_request_all_of.rb +1 -1
  238. data/lib/openapi_client/models/use_payment_token.rb +27 -2
  239. data/lib/openapi_client/models/{payment_verification3ds.rb → verification3ds.rb} +4 -4
  240. data/lib/openapi_client/models/{payment_verification_avs.rb → verification_avs.rb} +4 -4
  241. data/lib/openapi_client/models/{payment_verification_cvv.rb → verification_cvv.rb} +4 -4
  242. data/lib/openapi_client/models/void_transaction.rb +1 -1
  243. data/lib/openapi_client/models/wallet_payment_method.rb +2 -2
  244. data/lib/openapi_client/models/wallet_pre_auth_transaction.rb +1 -1
  245. data/lib/openapi_client/models/wallet_pre_auth_transaction_all_of.rb +1 -1
  246. data/lib/openapi_client/models/wallet_sale_transaction.rb +1 -1
  247. data/lib/openapi_client/models/wallet_sale_transaction_all_of.rb +1 -1
  248. data/lib/openapi_client/version.rb +2 -2
  249. data/lib/simple/gateway.rb +73 -0
  250. metadata +42 -17
  251. data/lib/openapi_client/.DS_Store +0 -0
  252. data/lib/openapi_client/api/.DS_Store +0 -0
  253. data/lib/openapi_client/models/.DS_Store +0 -0
  254. data/lib/openapi_client/models/transaction.rb +0 -350
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The documentation here is designed to provide all of the technical guidance required to consume and integrate with our APIs for payment processing. To learn more about our APIs please visit https://docs.firstdata.com/org/gateway.
5
5
 
6
- The version of the OpenAPI document: 6.6.0.20190507.002
6
+ The version of the OpenAPI document: 6.8.0.20190731.002
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: unset
@@ -13,27 +13,21 @@ OpenAPI Generator version: unset
13
13
  require 'date'
14
14
 
15
15
  module OpenapiClient
16
- # Phone number.
17
- class BillingAddressPhone
18
- # Type of phone.
19
- attr_accessor :type
20
-
21
- # Free-form phone number.
22
- attr_accessor :number
16
+ # Error occurred during the registration.
17
+ class FraudRegistrationError
18
+ attr_accessor :messages
23
19
 
24
20
  # Attribute mapping from ruby-style variable name to JSON key.
25
21
  def self.attribute_map
26
22
  {
27
- :'type' => :'type',
28
- :'number' => :'number'
23
+ :'messages' => :'messages'
29
24
  }
30
25
  end
31
26
 
32
27
  # Attribute type mapping.
33
28
  def self.openapi_types
34
29
  {
35
- :'type' => :'String',
36
- :'number' => :'String'
30
+ :'messages' => :'Array<ErrorMessage>'
37
31
  }
38
32
  end
39
33
 
@@ -41,23 +35,21 @@ module OpenapiClient
41
35
  # @param [Hash] attributes Model attributes in the form of hash
42
36
  def initialize(attributes = {})
43
37
  if (!attributes.is_a?(Hash))
44
- fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::BillingAddressPhone` initialize method"
38
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::FraudRegistrationError` initialize method"
45
39
  end
46
40
 
47
41
  # check to see if the attribute exists and convert string to symbol for hash key
48
42
  attributes = attributes.each_with_object({}) { |(k, v), h|
49
43
  if (!self.class.attribute_map.key?(k.to_sym))
50
- fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::BillingAddressPhone`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
44
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::FraudRegistrationError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
51
45
  end
52
46
  h[k.to_sym] = v
53
47
  }
54
48
 
55
- if attributes.key?(:'type')
56
- self.type = attributes[:'type']
57
- end
58
-
59
- if attributes.key?(:'number')
60
- self.number = attributes[:'number']
49
+ if attributes.key?(:'messages')
50
+ if (value = attributes[:'messages']).is_a?(Array)
51
+ self.messages = value
52
+ end
61
53
  end
62
54
  end
63
55
 
@@ -79,8 +71,7 @@ module OpenapiClient
79
71
  def ==(o)
80
72
  return true if self.equal?(o)
81
73
  self.class == o.class &&
82
- type == o.type &&
83
- number == o.number
74
+ messages == o.messages
84
75
  end
85
76
 
86
77
  # @see the `==` method
@@ -92,7 +83,7 @@ module OpenapiClient
92
83
  # Calculates hash code according to all attributes.
93
84
  # @return [Integer] Hash code
94
85
  def hash
95
- [type, number].hash
86
+ [messages].hash
96
87
  end
97
88
 
98
89
  # Builds the object from hash
@@ -0,0 +1,279 @@
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.8.0.20190731.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 FraudRegistrationResponse
17
+ # The value used to track the transaction.
18
+ attr_accessor :correlation_id
19
+
20
+ # Status of the transaction. Valid values are 'Not Processed' and 'Scored Successfully'
21
+ attr_accessor :transaction_status
22
+
23
+ # If status returned is \"failure\", input validation errors occurred. Please refer to the \"Errors Section\" for more info. Valid values are 'success' and 'failed'.
24
+ attr_accessor :validation_status
25
+
26
+ # The transactionType provided in request.
27
+ attr_accessor :transaction_type
28
+
29
+ attr_accessor :fraud_score
30
+
31
+ attr_accessor :error
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'correlation_id' => :'correlationId',
59
+ :'transaction_status' => :'transactionStatus',
60
+ :'validation_status' => :'validationStatus',
61
+ :'transaction_type' => :'transactionType',
62
+ :'fraud_score' => :'fraudScore',
63
+ :'error' => :'Error'
64
+ }
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'correlation_id' => :'String',
71
+ :'transaction_status' => :'String',
72
+ :'validation_status' => :'String',
73
+ :'transaction_type' => :'String',
74
+ :'fraud_score' => :'FraudScore',
75
+ :'error' => :'FraudRegistrationError'
76
+ }
77
+ end
78
+
79
+ # Initializes the object
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::FraudRegistrationResponse` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ attributes = attributes.each_with_object({}) { |(k, v), h|
88
+ if (!self.class.attribute_map.key?(k.to_sym))
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::FraudRegistrationResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ end
91
+ h[k.to_sym] = v
92
+ }
93
+
94
+ if attributes.key?(:'correlation_id')
95
+ self.correlation_id = attributes[:'correlation_id']
96
+ end
97
+
98
+ if attributes.key?(:'transaction_status')
99
+ self.transaction_status = attributes[:'transaction_status']
100
+ end
101
+
102
+ if attributes.key?(:'validation_status')
103
+ self.validation_status = attributes[:'validation_status']
104
+ end
105
+
106
+ if attributes.key?(:'transaction_type')
107
+ self.transaction_type = attributes[:'transaction_type']
108
+ end
109
+
110
+ if attributes.key?(:'fraud_score')
111
+ self.fraud_score = attributes[:'fraud_score']
112
+ end
113
+
114
+ if attributes.key?(:'error')
115
+ self.error = attributes[:'error']
116
+ end
117
+ end
118
+
119
+ # Show invalid properties with the reasons. Usually used together with valid?
120
+ # @return Array for valid properties with the reasons
121
+ def list_invalid_properties
122
+ invalid_properties = Array.new
123
+ invalid_properties
124
+ end
125
+
126
+ # Check to see if the all the properties in the model are valid
127
+ # @return true if the model is valid
128
+ def valid?
129
+ transaction_status_validator = EnumAttributeValidator.new('String', ["Scored Successfully", "Not Processed"])
130
+ return false unless transaction_status_validator.valid?(@transaction_status)
131
+ true
132
+ end
133
+
134
+ # Custom attribute writer method checking allowed values (enum).
135
+ # @param [Object] transaction_status Object to be assigned
136
+ def transaction_status=(transaction_status)
137
+ validator = EnumAttributeValidator.new('String', ["Scored Successfully", "Not Processed"])
138
+ unless validator.valid?(transaction_status)
139
+ fail ArgumentError, "invalid value for \"transaction_status\", must be one of #{validator.allowable_values}."
140
+ end
141
+ @transaction_status = transaction_status
142
+ end
143
+
144
+ # Checks equality by comparing each attribute.
145
+ # @param [Object] Object to be compared
146
+ def ==(o)
147
+ return true if self.equal?(o)
148
+ self.class == o.class &&
149
+ correlation_id == o.correlation_id &&
150
+ transaction_status == o.transaction_status &&
151
+ validation_status == o.validation_status &&
152
+ transaction_type == o.transaction_type &&
153
+ fraud_score == o.fraud_score &&
154
+ error == o.error
155
+ end
156
+
157
+ # @see the `==` method
158
+ # @param [Object] Object to be compared
159
+ def eql?(o)
160
+ self == o
161
+ end
162
+
163
+ # Calculates hash code according to all attributes.
164
+ # @return [Integer] Hash code
165
+ def hash
166
+ [correlation_id, transaction_status, validation_status, transaction_type, fraud_score, error].hash
167
+ end
168
+
169
+ # Builds the object from hash
170
+ # @param [Hash] attributes Model attributes in the form of hash
171
+ # @return [Object] Returns the model itself
172
+ def self.build_from_hash(attributes)
173
+ new.build_from_hash(attributes)
174
+ end
175
+
176
+ # Builds the object from hash
177
+ # @param [Hash] attributes Model attributes in the form of hash
178
+ # @return [Object] Returns the model itself
179
+ def build_from_hash(attributes)
180
+ return nil unless attributes.is_a?(Hash)
181
+ self.class.openapi_types.each_pair do |key, type|
182
+ if type =~ /\AArray<(.*)>/i
183
+ # check to ensure the input is an array given that the attribute
184
+ # is documented as an array but the input is not
185
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
186
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
187
+ end
188
+ elsif !attributes[self.class.attribute_map[key]].nil?
189
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
190
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
191
+ end
192
+
193
+ self
194
+ end
195
+
196
+ # Deserializes the data based on type
197
+ # @param string type Data type
198
+ # @param string value Value to be deserialized
199
+ # @return [Object] Deserialized data
200
+ def _deserialize(type, value)
201
+ case type.to_sym
202
+ when :DateTime
203
+ DateTime.parse(value)
204
+ when :Date
205
+ Date.parse(value)
206
+ when :String
207
+ value.to_s
208
+ when :Integer
209
+ value.to_i
210
+ when :Float
211
+ value.to_f
212
+ when :Boolean
213
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
214
+ true
215
+ else
216
+ false
217
+ end
218
+ when :Object
219
+ # generic object (usually a Hash), return directly
220
+ value
221
+ when /\AArray<(?<inner_type>.+)>\z/
222
+ inner_type = Regexp.last_match[:inner_type]
223
+ value.map { |v| _deserialize(inner_type, v) }
224
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
225
+ k_type = Regexp.last_match[:k_type]
226
+ v_type = Regexp.last_match[:v_type]
227
+ {}.tap do |hash|
228
+ value.each do |k, v|
229
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
230
+ end
231
+ end
232
+ else # model
233
+ OpenapiClient.const_get(type).build_from_hash(value)
234
+ end
235
+ end
236
+
237
+ # Returns the string representation of the object
238
+ # @return [String] String presentation of the object
239
+ def to_s
240
+ to_hash.to_s
241
+ end
242
+
243
+ # to_body is an alias to to_hash (backward compatibility)
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_body
246
+ to_hash
247
+ end
248
+
249
+ # Returns the object in the form of hash
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_hash
252
+ hash = {}
253
+ self.class.attribute_map.each_pair do |attr, param|
254
+ value = self.send(attr)
255
+ next if value.nil?
256
+ hash[param] = _to_hash(value)
257
+ end
258
+ hash
259
+ end
260
+
261
+ # Outputs non-array value in the form of hash
262
+ # For object, use to_hash. Otherwise, just return the value
263
+ # @param [Object] value Any valid value
264
+ # @return [Hash] Returns the value in the form of hash
265
+ def _to_hash(value)
266
+ if value.is_a?(Array)
267
+ value.compact.map { |v| _to_hash(v) }
268
+ elsif value.is_a?(Hash)
269
+ {}.tap do |hash|
270
+ value.each { |k, v| hash[k] = _to_hash(v) }
271
+ end
272
+ elsif value.respond_to? :to_hash
273
+ value.to_hash
274
+ else
275
+ value
276
+ end
277
+ end
278
+ end
279
+ end
@@ -0,0 +1,232 @@
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.8.0.20190731.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
+ # Fraud likelihood assessment consisting of a score, associated warning(s), and explanation(s) of score received.
17
+ class FraudScore
18
+ # The score attributed to this request by our machine learning system, ranging from 0 (less likely to be fraud) to 1000 (more likely to be fraud).
19
+ attr_accessor :score
20
+
21
+ # A list of non-critical warnings raised while processing the request. Warnings included in this list will have integration and data-quality related messages.
22
+ attr_accessor :warnings
23
+
24
+ # Explanation of the fraud score applied consisting of a description, type of the explanation, and rule (if applicable).
25
+ attr_accessor :explanations
26
+
27
+ # The score attributed to this request by our machine learning system, ranging from 0 (less likely to be fraud) to 1000 (more likely to be fraud).
28
+ attr_accessor :recommended_decision
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'score' => :'score',
34
+ :'warnings' => :'warnings',
35
+ :'explanations' => :'explanations',
36
+ :'recommended_decision' => :'recommendedDecision'
37
+ }
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'score' => :'String',
44
+ :'warnings' => :'Array<String>',
45
+ :'explanations' => :'Array<Object>',
46
+ :'recommended_decision' => :'String'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::FraudScore` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::FraudScore`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'score')
66
+ self.score = attributes[:'score']
67
+ end
68
+
69
+ if attributes.key?(:'warnings')
70
+ if (value = attributes[:'warnings']).is_a?(Array)
71
+ self.warnings = value
72
+ end
73
+ end
74
+
75
+ if attributes.key?(:'explanations')
76
+ if (value = attributes[:'explanations']).is_a?(Array)
77
+ self.explanations = value
78
+ end
79
+ end
80
+
81
+ if attributes.key?(:'recommended_decision')
82
+ self.recommended_decision = attributes[:'recommended_decision']
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ true
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] Object to be compared
101
+ def ==(o)
102
+ return true if self.equal?(o)
103
+ self.class == o.class &&
104
+ score == o.score &&
105
+ warnings == o.warnings &&
106
+ explanations == o.explanations &&
107
+ recommended_decision == o.recommended_decision
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] Object to be compared
112
+ def eql?(o)
113
+ self == o
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ def hash
119
+ [score, warnings, explanations, recommended_decision].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def self.build_from_hash(attributes)
126
+ new.build_from_hash(attributes)
127
+ end
128
+
129
+ # Builds the object from hash
130
+ # @param [Hash] attributes Model attributes in the form of hash
131
+ # @return [Object] Returns the model itself
132
+ def build_from_hash(attributes)
133
+ return nil unless attributes.is_a?(Hash)
134
+ self.class.openapi_types.each_pair do |key, type|
135
+ if type =~ /\AArray<(.*)>/i
136
+ # check to ensure the input is an array given that the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :Boolean
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ OpenapiClient.const_get(type).build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ next if value.nil?
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ # Outputs non-array value in the form of hash
215
+ # For object, use to_hash. Otherwise, just return the value
216
+ # @param [Object] value Any valid value
217
+ # @return [Hash] Returns the value in the form of hash
218
+ def _to_hash(value)
219
+ if value.is_a?(Array)
220
+ value.compact.map { |v| _to_hash(v) }
221
+ elsif value.is_a?(Hash)
222
+ {}.tap do |hash|
223
+ value.each { |k, v| hash[k] = _to_hash(v) }
224
+ end
225
+ elsif value.respond_to? :to_hash
226
+ value.to_hash
227
+ else
228
+ value
229
+ end
230
+ end
231
+ end
232
+ end