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
@@ -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
@@ -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
@@ -0,0 +1,38 @@
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 PaymentUrlStatus
17
+ CREATED = "Created".freeze
18
+ USED = "Used".freeze
19
+ EXPIRED = "Expired".freeze
20
+ CANCELLED = "Cancelled".freeze
21
+
22
+ # Builds the enum from string
23
+ # @param [String] The enum value in the form of the string
24
+ # @return [String] The enum value
25
+ def self.build_from_hash(value)
26
+ new.build_from_hash(value)
27
+ end
28
+
29
+ # Builds the enum from string
30
+ # @param [String] The enum value in the form of the string
31
+ # @return [String] The enum value
32
+ def build_from_hash(value)
33
+ constantValues = PaymentUrlStatus.constants.select { |c| PaymentUrlStatus::const_get(c) == value }
34
+ raise "Invalid ENUM value #{value} for class #PaymentUrlStatus" if constantValues.empty?
35
+ value
36
+ end
37
+ end
38
+ end
@@ -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
@@ -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
@@ -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
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module OpenapiClient
16
16
  # Phone number.
17
- class CustomerAddressPhone
17
+ class Phone
18
18
  # Type of phone.
19
19
  attr_accessor :type
20
20
 
@@ -41,13 +41,13 @@ module OpenapiClient
41
41
  # @param [Hash] attributes Model attributes in the form of hash
42
42
  def initialize(attributes = {})
43
43
  if (!attributes.is_a?(Hash))
44
- fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::CustomerAddressPhone` initialize method"
44
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::Phone` initialize method"
45
45
  end
46
46
 
47
47
  # check to see if the attribute exists and convert string to symbol for hash key
48
48
  attributes = attributes.each_with_object({}) { |(k, v), h|
49
49
  if (!self.class.attribute_map.key?(k.to_sym))
50
- fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::CustomerAddressPhone`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::Phone`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
51
51
  end
52
52
  h[k.to_sym] = v
53
53
  }
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -15,7 +15,7 @@ require 'date'
15
15
  module OpenapiClient
16
16
  # Level 3 data for monitoring and controlling corporate expenditures.
17
17
  class PurchaseCardsLevel3
18
- # Line items.
18
+ # Line items of monitoring and controlling corporate expenditures data.
19
19
  attr_accessor :line_items
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -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
@@ -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
@@ -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
@@ -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
@@ -26,19 +26,14 @@ module OpenapiClient
26
26
  # Client order ID if supplied by client, otherwise the order ID.
27
27
  attr_accessor :order_id
28
28
 
29
- # The transaction time in seconds since epoch.
30
- attr_accessor :transaction_time
31
-
32
29
  attr_accessor :billing
33
30
 
34
31
  attr_accessor :shipping
35
32
 
36
- attr_accessor :mandate
37
-
38
33
  # Required for some payment methods (for example, Klarna).
39
34
  attr_accessor :transactions
40
35
 
41
- attr_accessor :processor
36
+ attr_accessor :additional_details
42
37
 
43
38
  attr_accessor :recurring_payment_details
44
39
 
@@ -49,12 +44,10 @@ module OpenapiClient
49
44
  :'api_trace_id' => :'apiTraceId',
50
45
  :'response_type' => :'responseType',
51
46
  :'order_id' => :'orderId',
52
- :'transaction_time' => :'transactionTime',
53
47
  :'billing' => :'billing',
54
48
  :'shipping' => :'shipping',
55
- :'mandate' => :'mandate',
56
49
  :'transactions' => :'transactions',
57
- :'processor' => :'processor',
50
+ :'additional_details' => :'additionalDetails',
58
51
  :'recurring_payment_details' => :'recurringPaymentDetails'
59
52
  }
60
53
  end
@@ -66,12 +59,10 @@ module OpenapiClient
66
59
  :'api_trace_id' => :'String',
67
60
  :'response_type' => :'ResponseType',
68
61
  :'order_id' => :'String',
69
- :'transaction_time' => :'Integer',
70
62
  :'billing' => :'Billing',
71
63
  :'shipping' => :'Shipping',
72
- :'mandate' => :'SepaMandate',
73
- :'transactions' => :'Array<Transaction>',
74
- :'processor' => :'ProcessorData',
64
+ :'transactions' => :'Array<TransactionResponse>',
65
+ :'additional_details' => :'AdditionalDetails',
75
66
  :'recurring_payment_details' => :'RecurringPaymentDetails'
76
67
  }
77
68
  end
@@ -114,10 +105,6 @@ module OpenapiClient
114
105
  self.order_id = attributes[:'order_id']
115
106
  end
116
107
 
117
- if attributes.key?(:'transaction_time')
118
- self.transaction_time = attributes[:'transaction_time']
119
- end
120
-
121
108
  if attributes.key?(:'billing')
122
109
  self.billing = attributes[:'billing']
123
110
  end
@@ -126,18 +113,14 @@ module OpenapiClient
126
113
  self.shipping = attributes[:'shipping']
127
114
  end
128
115
 
129
- if attributes.key?(:'mandate')
130
- self.mandate = attributes[:'mandate']
131
- end
132
-
133
116
  if attributes.key?(:'transactions')
134
117
  if (value = attributes[:'transactions']).is_a?(Array)
135
118
  self.transactions = value
136
119
  end
137
120
  end
138
121
 
139
- if attributes.key?(:'processor')
140
- self.processor = attributes[:'processor']
122
+ if attributes.key?(:'additional_details')
123
+ self.additional_details = attributes[:'additional_details']
141
124
  end
142
125
 
143
126
  if attributes.key?(:'recurring_payment_details')
@@ -167,12 +150,10 @@ module OpenapiClient
167
150
  api_trace_id == o.api_trace_id &&
168
151
  response_type == o.response_type &&
169
152
  order_id == o.order_id &&
170
- transaction_time == o.transaction_time &&
171
153
  billing == o.billing &&
172
154
  shipping == o.shipping &&
173
- mandate == o.mandate &&
174
155
  transactions == o.transactions &&
175
- processor == o.processor &&
156
+ additional_details == o.additional_details &&
176
157
  recurring_payment_details == o.recurring_payment_details
177
158
  end
178
159
 
@@ -185,7 +166,7 @@ module OpenapiClient
185
166
  # Calculates hash code according to all attributes.
186
167
  # @return [Integer] Hash code
187
168
  def hash
188
- [client_request_id, api_trace_id, response_type, order_id, transaction_time, billing, shipping, mandate, transactions, processor, recurring_payment_details].hash
169
+ [client_request_id, api_trace_id, response_type, order_id, billing, shipping, transactions, additional_details, recurring_payment_details].hash
189
170
  end
190
171
 
191
172
  # Builds the object from hash
@@ -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
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,300 @@
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
+ # A JSON object that holds info about the payment registration method.
17
+ class RegistrationMethod
18
+ # Unique ID for the payment method type.
19
+ attr_accessor :method_type
20
+
21
+ # The unique ID of this payment method if it was previously registered with a registration/method or if it is currently being registered. Must be unique for the entire system (not just within a specific merchant or industry). Mandatory if being used inside a registration/method.
22
+ attr_accessor :method_id
23
+
24
+ # A JSON object that carries any additional information that might be helpful for fraud detection.
25
+ attr_accessor :user_defined
26
+
27
+ # The address that should be used to send billing information for this payment method.
28
+ attr_accessor :billing_phone_number
29
+
30
+ # The address that should be used to send billing information for this payment method.
31
+ attr_accessor :method_alias
32
+
33
+ attr_accessor :card
34
+
35
+ attr_accessor :method_address
36
+
37
+ class EnumAttributeValidator
38
+ attr_reader :datatype
39
+ attr_reader :allowable_values
40
+
41
+ def initialize(datatype, allowable_values)
42
+ @allowable_values = allowable_values.map do |value|
43
+ case datatype.to_s
44
+ when /Integer/i
45
+ value.to_i
46
+ when /Float/i
47
+ value.to_f
48
+ else
49
+ value
50
+ end
51
+ end
52
+ end
53
+
54
+ def valid?(value)
55
+ !value || allowable_values.include?(value)
56
+ end
57
+ end
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'method_type' => :'methodType',
63
+ :'method_id' => :'methodId',
64
+ :'user_defined' => :'userDefined',
65
+ :'billing_phone_number' => :'billingPhoneNumber',
66
+ :'method_alias' => :'methodAlias',
67
+ :'card' => :'card',
68
+ :'method_address' => :'methodAddress'
69
+ }
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.openapi_types
74
+ {
75
+ :'method_type' => :'String',
76
+ :'method_id' => :'String',
77
+ :'user_defined' => :'Object',
78
+ :'billing_phone_number' => :'String',
79
+ :'method_alias' => :'String',
80
+ :'card' => :'FraudRegistrationCard',
81
+ :'method_address' => :'FraudAddress'
82
+ }
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::RegistrationMethod` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::RegistrationMethod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+ if attributes.key?(:'method_type')
101
+ self.method_type = attributes[:'method_type']
102
+ end
103
+
104
+ if attributes.key?(:'method_id')
105
+ self.method_id = attributes[:'method_id']
106
+ end
107
+
108
+ if attributes.key?(:'user_defined')
109
+ self.user_defined = attributes[:'user_defined']
110
+ end
111
+
112
+ if attributes.key?(:'billing_phone_number')
113
+ self.billing_phone_number = attributes[:'billing_phone_number']
114
+ end
115
+
116
+ if attributes.key?(:'method_alias')
117
+ self.method_alias = attributes[:'method_alias']
118
+ end
119
+
120
+ if attributes.key?(:'card')
121
+ self.card = attributes[:'card']
122
+ end
123
+
124
+ if attributes.key?(:'method_address')
125
+ self.method_address = attributes[:'method_address']
126
+ end
127
+ end
128
+
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properties with the reasons
131
+ def list_invalid_properties
132
+ invalid_properties = Array.new
133
+ if @method_type.nil?
134
+ invalid_properties.push('invalid value for "method_type", method_type cannot be nil.')
135
+ end
136
+
137
+ if @card.nil?
138
+ invalid_properties.push('invalid value for "card", card cannot be nil.')
139
+ end
140
+
141
+ invalid_properties
142
+ end
143
+
144
+ # Check to see if the all the properties in the model are valid
145
+ # @return true if the model is valid
146
+ def valid?
147
+ return false if @method_type.nil?
148
+ method_type_validator = EnumAttributeValidator.new('String', ["method/card", "method/wallet"])
149
+ return false unless method_type_validator.valid?(@method_type)
150
+ return false if @card.nil?
151
+ true
152
+ end
153
+
154
+ # Custom attribute writer method checking allowed values (enum).
155
+ # @param [Object] method_type Object to be assigned
156
+ def method_type=(method_type)
157
+ validator = EnumAttributeValidator.new('String', ["method/card", "method/wallet"])
158
+ unless validator.valid?(method_type)
159
+ fail ArgumentError, "invalid value for \"method_type\", must be one of #{validator.allowable_values}."
160
+ end
161
+ @method_type = method_type
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ method_type == o.method_type &&
170
+ method_id == o.method_id &&
171
+ user_defined == o.user_defined &&
172
+ billing_phone_number == o.billing_phone_number &&
173
+ method_alias == o.method_alias &&
174
+ card == o.card &&
175
+ method_address == o.method_address
176
+ end
177
+
178
+ # @see the `==` method
179
+ # @param [Object] Object to be compared
180
+ def eql?(o)
181
+ self == o
182
+ end
183
+
184
+ # Calculates hash code according to all attributes.
185
+ # @return [Integer] Hash code
186
+ def hash
187
+ [method_type, method_id, user_defined, billing_phone_number, method_alias, card, method_address].hash
188
+ end
189
+
190
+ # Builds the object from hash
191
+ # @param [Hash] attributes Model attributes in the form of hash
192
+ # @return [Object] Returns the model itself
193
+ def self.build_from_hash(attributes)
194
+ new.build_from_hash(attributes)
195
+ end
196
+
197
+ # Builds the object from hash
198
+ # @param [Hash] attributes Model attributes in the form of hash
199
+ # @return [Object] Returns the model itself
200
+ def build_from_hash(attributes)
201
+ return nil unless attributes.is_a?(Hash)
202
+ self.class.openapi_types.each_pair do |key, type|
203
+ if type =~ /\AArray<(.*)>/i
204
+ # check to ensure the input is an array given that the attribute
205
+ # is documented as an array but the input is not
206
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
207
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
208
+ end
209
+ elsif !attributes[self.class.attribute_map[key]].nil?
210
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
211
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
212
+ end
213
+
214
+ self
215
+ end
216
+
217
+ # Deserializes the data based on type
218
+ # @param string type Data type
219
+ # @param string value Value to be deserialized
220
+ # @return [Object] Deserialized data
221
+ def _deserialize(type, value)
222
+ case type.to_sym
223
+ when :DateTime
224
+ DateTime.parse(value)
225
+ when :Date
226
+ Date.parse(value)
227
+ when :String
228
+ value.to_s
229
+ when :Integer
230
+ value.to_i
231
+ when :Float
232
+ value.to_f
233
+ when :Boolean
234
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
235
+ true
236
+ else
237
+ false
238
+ end
239
+ when :Object
240
+ # generic object (usually a Hash), return directly
241
+ value
242
+ when /\AArray<(?<inner_type>.+)>\z/
243
+ inner_type = Regexp.last_match[:inner_type]
244
+ value.map { |v| _deserialize(inner_type, v) }
245
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
246
+ k_type = Regexp.last_match[:k_type]
247
+ v_type = Regexp.last_match[:v_type]
248
+ {}.tap do |hash|
249
+ value.each do |k, v|
250
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
251
+ end
252
+ end
253
+ else # model
254
+ OpenapiClient.const_get(type).build_from_hash(value)
255
+ end
256
+ end
257
+
258
+ # Returns the string representation of the object
259
+ # @return [String] String presentation of the object
260
+ def to_s
261
+ to_hash.to_s
262
+ end
263
+
264
+ # to_body is an alias to to_hash (backward compatibility)
265
+ # @return [Hash] Returns the object in the form of hash
266
+ def to_body
267
+ to_hash
268
+ end
269
+
270
+ # Returns the object in the form of hash
271
+ # @return [Hash] Returns the object in the form of hash
272
+ def to_hash
273
+ hash = {}
274
+ self.class.attribute_map.each_pair do |attr, param|
275
+ value = self.send(attr)
276
+ next if value.nil?
277
+ hash[param] = _to_hash(value)
278
+ end
279
+ hash
280
+ end
281
+
282
+ # Outputs non-array value in the form of hash
283
+ # For object, use to_hash. Otherwise, just return the value
284
+ # @param [Object] value Any valid value
285
+ # @return [Hash] Returns the value in the form of hash
286
+ def _to_hash(value)
287
+ if value.is_a?(Array)
288
+ value.compact.map { |v| _to_hash(v) }
289
+ elsif value.is_a?(Hash)
290
+ {}.tap do |hash|
291
+ value.each { |k, v| hash[k] = _to_hash(v) }
292
+ end
293
+ elsif value.respond_to? :to_hash
294
+ value.to_hash
295
+ else
296
+ value
297
+ end
298
+ end
299
+ end
300
+ end