cybersource_rest_client 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +7 -0
  2. data/AuthenticationSDK/Cybersource.gemspec +23 -0
  3. data/AuthenticationSDK/authentication/http/GetSignatureParameter.rb +62 -0
  4. data/AuthenticationSDK/authentication/http/HttpSignatureHeader.rb +50 -0
  5. data/AuthenticationSDK/authentication/jwt/JwtToken.rb +62 -0
  6. data/AuthenticationSDK/authentication/payloadDigest/digest.rb +10 -0
  7. data/AuthenticationSDK/core/Authorization.rb +24 -0
  8. data/AuthenticationSDK/core/ITokenGeneration.rb +4 -0
  9. data/AuthenticationSDK/core/Logger.rb +26 -0
  10. data/AuthenticationSDK/core/MerchantConfig.rb +181 -0
  11. data/AuthenticationSDK/util/ApiException.rb +19 -0
  12. data/AuthenticationSDK/util/Cache.rb +36 -0
  13. data/AuthenticationSDK/util/Constants.rb +134 -0
  14. data/AuthenticationSDK/util/PropertiesUtil.rb +21 -0
  15. data/AuthenticationSDK/util/Utility.rb +31 -0
  16. data/lib/cyberSource_client.rb +286 -0
  17. data/lib/cyberSource_client/api/capture_api.rb +133 -0
  18. data/lib/cyberSource_client/api/credit_api.rb +127 -0
  19. data/lib/cyberSource_client/api/default_api.rb +75 -0
  20. data/lib/cyberSource_client/api/instrument_identifier_api.rb +393 -0
  21. data/lib/cyberSource_client/api/key_generation_api.rb +75 -0
  22. data/lib/cyberSource_client/api/payment_api.rb +127 -0
  23. data/lib/cyberSource_client/api/payment_instrument_api.rb +312 -0
  24. data/lib/cyberSource_client/api/refund_api.rb +191 -0
  25. data/lib/cyberSource_client/api/reversal_api.rb +133 -0
  26. data/lib/cyberSource_client/api/tokenization_api.rb +71 -0
  27. data/lib/cyberSource_client/api/void_api.rb +307 -0
  28. data/lib/cyberSource_client/api_client.rb +437 -0
  29. data/lib/cyberSource_client/api_error.rb +38 -0
  30. data/lib/cyberSource_client/configuration.rb +202 -0
  31. data/lib/cyberSource_client/models/auth_reversal_request.rb +219 -0
  32. data/lib/cyberSource_client/models/body.rb +295 -0
  33. data/lib/cyberSource_client/models/body_1.rb +183 -0
  34. data/lib/cyberSource_client/models/body_2.rb +331 -0
  35. data/lib/cyberSource_client/models/body_3.rb +331 -0
  36. data/lib/cyberSource_client/models/capture_payment_request.rb +267 -0
  37. data/lib/cyberSource_client/models/card_info.rb +214 -0
  38. data/lib/cyberSource_client/models/create_credit_request.rb +267 -0
  39. data/lib/cyberSource_client/models/create_payment_request.rb +285 -0
  40. data/lib/cyberSource_client/models/der_public_key.rb +205 -0
  41. data/lib/cyberSource_client/models/error.rb +192 -0
  42. data/lib/cyberSource_client/models/error_links.rb +205 -0
  43. data/lib/cyberSource_client/models/error_response.rb +192 -0
  44. data/lib/cyberSource_client/models/generate_public_key_request.rb +184 -0
  45. data/lib/cyberSource_client/models/inline_response_200.rb +202 -0
  46. data/lib/cyberSource_client/models/inline_response_200_1.rb +255 -0
  47. data/lib/cyberSource_client/models/inline_response_200_2.rb +377 -0
  48. data/lib/cyberSource_client/models/inline_response_200_2_buyer_information.rb +270 -0
  49. data/lib/cyberSource_client/models/inline_response_200_2_device_information.rb +219 -0
  50. data/lib/cyberSource_client/models/inline_response_200_2_merchant_information.rb +233 -0
  51. data/lib/cyberSource_client/models/inline_response_200_2_order_information.rb +230 -0
  52. data/lib/cyberSource_client/models/inline_response_200_2_order_information_amount_details.rb +385 -0
  53. data/lib/cyberSource_client/models/inline_response_200_2_order_information_bill_to.rb +459 -0
  54. data/lib/cyberSource_client/models/inline_response_200_2_order_information_invoice_details.rb +315 -0
  55. data/lib/cyberSource_client/models/inline_response_200_2_order_information_line_items.rb +564 -0
  56. data/lib/cyberSource_client/models/inline_response_200_2_order_information_ship_to.rb +429 -0
  57. data/lib/cyberSource_client/models/inline_response_200_2_payment_information.rb +192 -0
  58. data/lib/cyberSource_client/models/inline_response_200_2_payment_information_card.rb +274 -0
  59. data/lib/cyberSource_client/models/inline_response_200_2_payment_information_tokenized_card.rb +299 -0
  60. data/lib/cyberSource_client/models/inline_response_200_2_processing_information.rb +199 -0
  61. data/lib/cyberSource_client/models/inline_response_200_2_processor_information.rb +227 -0
  62. data/lib/cyberSource_client/models/inline_response_200_2_processor_information_avs.rb +199 -0
  63. data/lib/cyberSource_client/models/inline_response_200_2_processor_information_card_verification.rb +199 -0
  64. data/lib/cyberSource_client/models/inline_response_200_3.rb +314 -0
  65. data/lib/cyberSource_client/models/inline_response_200_4.rb +350 -0
  66. data/lib/cyberSource_client/models/inline_response_200_4_device_information.rb +199 -0
  67. data/lib/cyberSource_client/models/inline_response_200_4_order_information.rb +230 -0
  68. data/lib/cyberSource_client/models/inline_response_200_4_order_information_amount_details.rb +360 -0
  69. data/lib/cyberSource_client/models/inline_response_200_4_order_information_invoice_details.rb +305 -0
  70. data/lib/cyberSource_client/models/inline_response_200_4_order_information_ship_to.rb +249 -0
  71. data/lib/cyberSource_client/models/inline_response_200_4_processing_information.rb +208 -0
  72. data/lib/cyberSource_client/models/inline_response_200_4_processing_information_authorization_options.rb +199 -0
  73. data/lib/cyberSource_client/models/inline_response_200_5.rb +305 -0
  74. data/lib/cyberSource_client/models/inline_response_200_6.rb +305 -0
  75. data/lib/cyberSource_client/models/inline_response_200_7.rb +295 -0
  76. data/lib/cyberSource_client/models/inline_response_200_8.rb +277 -0
  77. data/lib/cyberSource_client/models/inline_response_200_8__links.rb +219 -0
  78. data/lib/cyberSource_client/models/inline_response_200_8__links_first.rb +184 -0
  79. data/lib/cyberSource_client/models/inline_response_200_8__links_last.rb +184 -0
  80. data/lib/cyberSource_client/models/inline_response_200_8__links_next.rb +184 -0
  81. data/lib/cyberSource_client/models/inline_response_200_8__links_prev.rb +184 -0
  82. data/lib/cyberSource_client/models/inline_response_200_8__links_self.rb +184 -0
  83. data/lib/cyberSource_client/models/inline_response_200_der.rb +205 -0
  84. data/lib/cyberSource_client/models/inline_response_200_jwk.rb +225 -0
  85. data/lib/cyberSource_client/models/inline_response_201.rb +350 -0
  86. data/lib/cyberSource_client/models/inline_response_201_1.rb +332 -0
  87. data/lib/cyberSource_client/models/inline_response_201_1_authorization_information.rb +224 -0
  88. data/lib/cyberSource_client/models/inline_response_201_1_processor_information.rb +324 -0
  89. data/lib/cyberSource_client/models/inline_response_201_1_reversal_amount_details.rb +249 -0
  90. data/lib/cyberSource_client/models/inline_response_201_2.rb +314 -0
  91. data/lib/cyberSource_client/models/inline_response_201_2__links.rb +201 -0
  92. data/lib/cyberSource_client/models/inline_response_201_2_order_information.rb +192 -0
  93. data/lib/cyberSource_client/models/inline_response_201_2_order_information_amount_details.rb +224 -0
  94. data/lib/cyberSource_client/models/inline_response_201_2_processor_information.rb +199 -0
  95. data/lib/cyberSource_client/models/inline_response_201_3.rb +323 -0
  96. data/lib/cyberSource_client/models/inline_response_201_3__links.rb +192 -0
  97. data/lib/cyberSource_client/models/inline_response_201_3_order_information.rb +183 -0
  98. data/lib/cyberSource_client/models/inline_response_201_3_processor_information.rb +224 -0
  99. data/lib/cyberSource_client/models/inline_response_201_3_refund_amount_details.rb +224 -0
  100. data/lib/cyberSource_client/models/inline_response_201_4.rb +323 -0
  101. data/lib/cyberSource_client/models/inline_response_201_4_credit_amount_details.rb +224 -0
  102. data/lib/cyberSource_client/models/inline_response_201_5.rb +280 -0
  103. data/lib/cyberSource_client/models/inline_response_201_5_void_amount_details.rb +219 -0
  104. data/lib/cyberSource_client/models/inline_response_201_6.rb +331 -0
  105. data/lib/cyberSource_client/models/inline_response_201__embedded.rb +183 -0
  106. data/lib/cyberSource_client/models/inline_response_201__embedded_capture.rb +193 -0
  107. data/lib/cyberSource_client/models/inline_response_201__embedded_capture__links.rb +183 -0
  108. data/lib/cyberSource_client/models/inline_response_201__links.rb +201 -0
  109. data/lib/cyberSource_client/models/inline_response_201__links_self.rb +194 -0
  110. data/lib/cyberSource_client/models/inline_response_201_client_reference_information.rb +199 -0
  111. data/lib/cyberSource_client/models/inline_response_201_error_information.rb +239 -0
  112. data/lib/cyberSource_client/models/inline_response_201_error_information_details.rb +228 -0
  113. data/lib/cyberSource_client/models/inline_response_201_order_information.rb +192 -0
  114. data/lib/cyberSource_client/models/inline_response_201_order_information_amount_details.rb +249 -0
  115. data/lib/cyberSource_client/models/inline_response_201_order_information_invoice_details.rb +184 -0
  116. data/lib/cyberSource_client/models/inline_response_201_payment_information.rb +201 -0
  117. data/lib/cyberSource_client/models/inline_response_201_payment_information_account_features.rb +623 -0
  118. data/lib/cyberSource_client/models/inline_response_201_payment_information_card.rb +199 -0
  119. data/lib/cyberSource_client/models/inline_response_201_payment_information_tokenized_card.rb +349 -0
  120. data/lib/cyberSource_client/models/inline_response_201_point_of_sale_information.rb +208 -0
  121. data/lib/cyberSource_client/models/inline_response_201_point_of_sale_information_emv.rb +199 -0
  122. data/lib/cyberSource_client/models/inline_response_201_processor_information.rb +642 -0
  123. data/lib/cyberSource_client/models/inline_response_201_processor_information_avs.rb +224 -0
  124. data/lib/cyberSource_client/models/inline_response_201_processor_information_card_verification.rb +224 -0
  125. data/lib/cyberSource_client/models/inline_response_201_processor_information_consumer_authentication_response.rb +224 -0
  126. data/lib/cyberSource_client/models/inline_response_201_processor_information_customer.rb +199 -0
  127. data/lib/cyberSource_client/models/inline_response_201_processor_information_electronic_verification_results.rb +474 -0
  128. data/lib/cyberSource_client/models/inline_response_201_processor_information_issuer.rb +224 -0
  129. data/lib/cyberSource_client/models/inline_response_201_processor_information_merchant_advice.rb +224 -0
  130. data/lib/cyberSource_client/models/inline_response_400.rb +271 -0
  131. data/lib/cyberSource_client/models/inline_response_400_1.rb +271 -0
  132. data/lib/cyberSource_client/models/inline_response_400_2.rb +271 -0
  133. data/lib/cyberSource_client/models/inline_response_400_3.rb +271 -0
  134. data/lib/cyberSource_client/models/inline_response_400_4.rb +271 -0
  135. data/lib/cyberSource_client/models/inline_response_400_5.rb +259 -0
  136. data/lib/cyberSource_client/models/inline_response_400_6.rb +202 -0
  137. data/lib/cyberSource_client/models/inline_response_409.rb +183 -0
  138. data/lib/cyberSource_client/models/inline_response_409__links.rb +183 -0
  139. data/lib/cyberSource_client/models/inline_response_409__links_payment_instruments.rb +183 -0
  140. data/lib/cyberSource_client/models/inline_response_502.rb +260 -0
  141. data/lib/cyberSource_client/models/inline_response_default.rb +192 -0
  142. data/lib/cyberSource_client/models/inline_response_default__links.rb +205 -0
  143. data/lib/cyberSource_client/models/inline_response_default__links_next.rb +204 -0
  144. data/lib/cyberSource_client/models/inline_response_default_response_status.rb +225 -0
  145. data/lib/cyberSource_client/models/inline_response_default_response_status_details.rb +194 -0
  146. data/lib/cyberSource_client/models/instrumentidentifiers__links.rb +201 -0
  147. data/lib/cyberSource_client/models/instrumentidentifiers__links_self.rb +183 -0
  148. data/lib/cyberSource_client/models/instrumentidentifiers_authorization_options_merchant_initiated_transaction.rb +184 -0
  149. data/lib/cyberSource_client/models/instrumentidentifiers_bank_account.rb +194 -0
  150. data/lib/cyberSource_client/models/instrumentidentifiers_card.rb +184 -0
  151. data/lib/cyberSource_client/models/instrumentidentifiers_details.rb +194 -0
  152. data/lib/cyberSource_client/models/instrumentidentifiers_metadata.rb +184 -0
  153. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information.rb +183 -0
  154. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information_authorization_options.rb +183 -0
  155. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information_authorization_options_initiator.rb +183 -0
  156. data/lib/cyberSource_client/models/json_web_key.rb +225 -0
  157. data/lib/cyberSource_client/models/key_parameters.rb +184 -0
  158. data/lib/cyberSource_client/models/key_result.rb +202 -0
  159. data/lib/cyberSource_client/models/link.rb +204 -0
  160. data/lib/cyberSource_client/models/links.rb +205 -0
  161. data/lib/cyberSource_client/models/oct_create_payment_request.rb +237 -0
  162. data/lib/cyberSource_client/models/paymentinstruments_bank_account.rb +184 -0
  163. data/lib/cyberSource_client/models/paymentinstruments_bill_to.rb +284 -0
  164. data/lib/cyberSource_client/models/paymentinstruments_buyer_information.rb +215 -0
  165. data/lib/cyberSource_client/models/paymentinstruments_buyer_information_issued_by.rb +184 -0
  166. data/lib/cyberSource_client/models/paymentinstruments_buyer_information_personal_identification.rb +203 -0
  167. data/lib/cyberSource_client/models/paymentinstruments_card.rb +278 -0
  168. data/lib/cyberSource_client/models/paymentinstruments_instrument_identifier.rb +295 -0
  169. data/lib/cyberSource_client/models/paymentinstruments_merchant_information.rb +183 -0
  170. data/lib/cyberSource_client/models/paymentinstruments_merchant_information_merchant_descriptor.rb +184 -0
  171. data/lib/cyberSource_client/models/paymentinstruments_processing_information.rb +193 -0
  172. data/lib/cyberSource_client/models/paymentinstruments_processing_information_bank_transfer_options.rb +184 -0
  173. data/lib/cyberSource_client/models/paymentsflexv1tokens_card_info.rb +214 -0
  174. data/lib/cyberSource_client/models/refund_capture_request.rb +267 -0
  175. data/lib/cyberSource_client/models/refund_payment_request.rb +267 -0
  176. data/lib/cyberSource_client/models/response_status.rb +225 -0
  177. data/lib/cyberSource_client/models/response_status_details.rb +194 -0
  178. data/lib/cyberSource_client/models/tokenize_parameters.rb +193 -0
  179. data/lib/cyberSource_client/models/tokenize_request.rb +193 -0
  180. data/lib/cyberSource_client/models/tokenize_result.rb +255 -0
  181. data/lib/cyberSource_client/models/v2credits_point_of_sale_information.rb +183 -0
  182. data/lib/cyberSource_client/models/v2credits_point_of_sale_information_emv.rb +221 -0
  183. data/lib/cyberSource_client/models/v2credits_processing_information.rb +383 -0
  184. data/lib/cyberSource_client/models/v2payments_aggregator_information.rb +233 -0
  185. data/lib/cyberSource_client/models/v2payments_aggregator_information_sub_merchant.rb +424 -0
  186. data/lib/cyberSource_client/models/v2payments_buyer_information.rb +285 -0
  187. data/lib/cyberSource_client/models/v2payments_buyer_information_personal_identification.rb +252 -0
  188. data/lib/cyberSource_client/models/v2payments_client_reference_information.rb +219 -0
  189. data/lib/cyberSource_client/models/v2payments_consumer_authentication_information.rb +374 -0
  190. data/lib/cyberSource_client/models/v2payments_device_information.rb +249 -0
  191. data/lib/cyberSource_client/models/v2payments_merchant_defined_information.rb +224 -0
  192. data/lib/cyberSource_client/models/v2payments_merchant_information.rb +308 -0
  193. data/lib/cyberSource_client/models/v2payments_merchant_information_merchant_descriptor.rb +374 -0
  194. data/lib/cyberSource_client/models/v2payments_order_information.rb +230 -0
  195. data/lib/cyberSource_client/models/v2payments_order_information_amount_details.rb +605 -0
  196. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_amex_additional_amounts.rb +224 -0
  197. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_surcharge.rb +209 -0
  198. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_tax_details.rb +328 -0
  199. data/lib/cyberSource_client/models/v2payments_order_information_bill_to.rb +618 -0
  200. data/lib/cyberSource_client/models/v2payments_order_information_invoice_details.rb +330 -0
  201. data/lib/cyberSource_client/models/v2payments_order_information_invoice_details_transaction_advice_addendum.rb +199 -0
  202. data/lib/cyberSource_client/models/v2payments_order_information_line_items.rb +649 -0
  203. data/lib/cyberSource_client/models/v2payments_order_information_ship_to.rb +474 -0
  204. data/lib/cyberSource_client/models/v2payments_order_information_shipping_details.rb +234 -0
  205. data/lib/cyberSource_client/models/v2payments_payment_information.rb +210 -0
  206. data/lib/cyberSource_client/models/v2payments_payment_information_card.rb +474 -0
  207. data/lib/cyberSource_client/models/v2payments_payment_information_customer.rb +202 -0
  208. data/lib/cyberSource_client/models/v2payments_payment_information_fluid_data.rb +259 -0
  209. data/lib/cyberSource_client/models/v2payments_payment_information_tokenized_card.rb +424 -0
  210. data/lib/cyberSource_client/models/v2payments_point_of_sale_information.rb +440 -0
  211. data/lib/cyberSource_client/models/v2payments_point_of_sale_information_emv.rb +256 -0
  212. data/lib/cyberSource_client/models/v2payments_processing_information.rb +432 -0
  213. data/lib/cyberSource_client/models/v2payments_processing_information_authorization_options.rb +361 -0
  214. data/lib/cyberSource_client/models/v2payments_processing_information_authorization_options_initiator.rb +247 -0
  215. data/lib/cyberSource_client/models/v2payments_processing_information_authorization_options_merchant_initiated_transaction.rb +224 -0
  216. data/lib/cyberSource_client/models/v2payments_processing_information_capture_options.rb +267 -0
  217. data/lib/cyberSource_client/models/v2payments_processing_information_issuer.rb +199 -0
  218. data/lib/cyberSource_client/models/v2payments_processing_information_recurring_options.rb +198 -0
  219. data/lib/cyberSource_client/models/v2payments_recipient_information.rb +249 -0
  220. data/lib/cyberSource_client/models/v2paymentsidcaptures_aggregator_information.rb +233 -0
  221. data/lib/cyberSource_client/models/v2paymentsidcaptures_aggregator_information_sub_merchant.rb +374 -0
  222. data/lib/cyberSource_client/models/v2paymentsidcaptures_buyer_information.rb +224 -0
  223. data/lib/cyberSource_client/models/v2paymentsidcaptures_merchant_information.rb +258 -0
  224. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information.rb +230 -0
  225. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_amount_details.rb +546 -0
  226. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_bill_to.rb +449 -0
  227. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_invoice_details.rb +320 -0
  228. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_ship_to.rb +249 -0
  229. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_shipping_details.rb +199 -0
  230. data/lib/cyberSource_client/models/v2paymentsidcaptures_payment_information.rb +183 -0
  231. data/lib/cyberSource_client/models/v2paymentsidcaptures_point_of_sale_information.rb +208 -0
  232. data/lib/cyberSource_client/models/v2paymentsidcaptures_point_of_sale_information_emv.rb +211 -0
  233. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information.rb +351 -0
  234. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information_authorization_options.rb +249 -0
  235. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information_capture_options.rb +242 -0
  236. data/lib/cyberSource_client/models/v2paymentsidrefunds_merchant_information.rb +258 -0
  237. data/lib/cyberSource_client/models/v2paymentsidrefunds_order_information.rb +230 -0
  238. data/lib/cyberSource_client/models/v2paymentsidrefunds_order_information_line_items.rb +639 -0
  239. data/lib/cyberSource_client/models/v2paymentsidrefunds_payment_information.rb +183 -0
  240. data/lib/cyberSource_client/models/v2paymentsidrefunds_payment_information_card.rb +374 -0
  241. data/lib/cyberSource_client/models/v2paymentsidrefunds_point_of_sale_information.rb +183 -0
  242. data/lib/cyberSource_client/models/v2paymentsidrefunds_processing_information.rb +333 -0
  243. data/lib/cyberSource_client/models/v2paymentsidrefunds_processing_information_recurring_options.rb +186 -0
  244. data/lib/cyberSource_client/models/v2paymentsidreversals_client_reference_information.rb +209 -0
  245. data/lib/cyberSource_client/models/v2paymentsidreversals_order_information.rb +185 -0
  246. data/lib/cyberSource_client/models/v2paymentsidreversals_order_information_line_items.rb +233 -0
  247. data/lib/cyberSource_client/models/v2paymentsidreversals_point_of_sale_information.rb +183 -0
  248. data/lib/cyberSource_client/models/v2paymentsidreversals_processing_information.rb +308 -0
  249. data/lib/cyberSource_client/models/v2paymentsidreversals_reversal_information.rb +211 -0
  250. data/lib/cyberSource_client/models/v2paymentsidreversals_reversal_information_amount_details.rb +224 -0
  251. data/lib/cyberSource_client/models/v2payouts_merchant_information.rb +258 -0
  252. data/lib/cyberSource_client/models/v2payouts_merchant_information_merchant_descriptor.rb +324 -0
  253. data/lib/cyberSource_client/models/v2payouts_order_information.rb +192 -0
  254. data/lib/cyberSource_client/models/v2payouts_order_information_amount_details.rb +249 -0
  255. data/lib/cyberSource_client/models/v2payouts_order_information_bill_to.rb +443 -0
  256. data/lib/cyberSource_client/models/v2payouts_payment_information.rb +183 -0
  257. data/lib/cyberSource_client/models/v2payouts_payment_information_card.rb +299 -0
  258. data/lib/cyberSource_client/models/v2payouts_processing_information.rb +283 -0
  259. data/lib/cyberSource_client/models/v2payouts_processing_information_payouts_options.rb +274 -0
  260. data/lib/cyberSource_client/models/v2payouts_recipient_information.rb +433 -0
  261. data/lib/cyberSource_client/models/v2payouts_sender_information.rb +517 -0
  262. data/lib/cyberSource_client/models/v2payouts_sender_information_account.rb +233 -0
  263. data/lib/cyberSource_client/models/void_capture_request.rb +183 -0
  264. data/lib/cyberSource_client/models/void_credit_request.rb +183 -0
  265. data/lib/cyberSource_client/models/void_payment_request.rb +183 -0
  266. data/lib/cyberSource_client/models/void_refund_request.rb +183 -0
  267. data/lib/cyberSource_client/version.rb +15 -0
  268. metadata +572 -0
@@ -0,0 +1,208 @@
1
+ =begin
2
+ #CyberSource Flex API
3
+
4
+ #Simple PAN tokenization service
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class InlineResponse2004ProcessingInformation
17
+ # Type of digital payment solution that is being used for the transaction. Possible Values: - **visacheckout**: Visa Checkout. - **001**: Apple Pay. - **005**: Masterpass. Required for Masterpass transactions on OmniPay Direct. - **006**: Android Pay. - **008**: Samsung Pay.
18
+ attr_accessor :payment_solution
19
+
20
+ attr_accessor :authorization_options
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'payment_solution' => :'paymentSolution',
26
+ :'authorization_options' => :'authorizationOptions'
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.swagger_types
32
+ {
33
+ :'payment_solution' => :'String',
34
+ :'authorization_options' => :'InlineResponse2004ProcessingInformationAuthorizationOptions'
35
+ }
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ return unless attributes.is_a?(Hash)
42
+
43
+ # convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
45
+
46
+ if attributes.has_key?(:'paymentSolution')
47
+ self.payment_solution = attributes[:'paymentSolution']
48
+ end
49
+
50
+ if attributes.has_key?(:'authorizationOptions')
51
+ self.authorization_options = attributes[:'authorizationOptions']
52
+ end
53
+ end
54
+
55
+ # Show invalid properties with the reasons. Usually used together with valid?
56
+ # @return Array for valid properties with the reasons
57
+ def list_invalid_properties
58
+ invalid_properties = Array.new
59
+ if !@payment_solution.nil? && @payment_solution.to_s.length > 12
60
+ invalid_properties.push('invalid value for "payment_solution", the character length must be smaller than or equal to 12.')
61
+ end
62
+
63
+ invalid_properties
64
+ end
65
+
66
+ # Check to see if the all the properties in the model are valid
67
+ # @return true if the model is valid
68
+ def valid?
69
+ return false if !@payment_solution.nil? && @payment_solution.to_s.length > 12
70
+ true
71
+ end
72
+
73
+ # Custom attribute writer method with validation
74
+ # @param [Object] payment_solution Value to be assigned
75
+ def payment_solution=(payment_solution)
76
+ if !payment_solution.nil? && payment_solution.to_s.length > 12
77
+ fail ArgumentError, 'invalid value for "payment_solution", the character length must be smaller than or equal to 12.'
78
+ end
79
+
80
+ @payment_solution = payment_solution
81
+ end
82
+
83
+ # Checks equality by comparing each attribute.
84
+ # @param [Object] Object to be compared
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ payment_solution == o.payment_solution &&
89
+ authorization_options == o.authorization_options
90
+ end
91
+
92
+ # @see the `==` method
93
+ # @param [Object] Object to be compared
94
+ def eql?(o)
95
+ self == o
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Fixnum] Hash code
100
+ def hash
101
+ [payment_solution, authorization_options].hash
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ self.class.swagger_types.each_pair do |key, type|
110
+ if type =~ /\AArray<(.*)>/i
111
+ # check to ensure the input is an array given that the the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
115
+ end
116
+ elsif !attributes[self.class.attribute_map[key]].nil?
117
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
118
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
119
+ end
120
+
121
+ self
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def _deserialize(type, value)
129
+ case type.to_sym
130
+ when :DateTime
131
+ DateTime.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :BOOLEAN
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ temp_model = CyberSource.const_get(type).new
162
+ temp_model.build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ # Returns the string representation of the object
167
+ # @return [String] String presentation of the object
168
+ def to_s
169
+ to_hash.to_s
170
+ end
171
+
172
+ # to_body is an alias to to_hash (backward compatibility)
173
+ # @return [Hash] Returns the object in the form of hash
174
+ def to_body
175
+ to_hash
176
+ end
177
+
178
+ # Returns the object in the form of hash
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_hash
181
+ hash = {}
182
+ self.class.attribute_map.each_pair do |attr, param|
183
+ value = self.send(attr)
184
+ next if value.nil?
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ # Outputs non-array value in the form of hash
191
+ # For object, use to_hash. Otherwise, just return the value
192
+ # @param [Object] value Any valid value
193
+ # @return [Hash] Returns the value in the form of hash
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map { |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to? :to_hash
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+ end
208
+ end
@@ -0,0 +1,199 @@
1
+ =begin
2
+ #CyberSource Flex API
3
+
4
+ #Simple PAN tokenization service
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class InlineResponse2004ProcessingInformationAuthorizationOptions
17
+ # Authorization code. **Forced Capture** Use this field to send the authorization code you received from a payment that you authorized outside the CyberSource system. **Verbal Authorization** Use this field in CAPTURE API to send the verbally received authorization code. For processor-specific information, see the auth_code field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)
18
+ attr_accessor :verbal_auth_code
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'verbal_auth_code' => :'verbalAuthCode'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'verbal_auth_code' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'verbalAuthCode')
43
+ self.verbal_auth_code = attributes[:'verbalAuthCode']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ if !@verbal_auth_code.nil? && @verbal_auth_code.to_s.length > 7
52
+ invalid_properties.push('invalid value for "verbal_auth_code", the character length must be smaller than or equal to 7.')
53
+ end
54
+
55
+ invalid_properties
56
+ end
57
+
58
+ # Check to see if the all the properties in the model are valid
59
+ # @return true if the model is valid
60
+ def valid?
61
+ return false if !@verbal_auth_code.nil? && @verbal_auth_code.to_s.length > 7
62
+ true
63
+ end
64
+
65
+ # Custom attribute writer method with validation
66
+ # @param [Object] verbal_auth_code Value to be assigned
67
+ def verbal_auth_code=(verbal_auth_code)
68
+ if !verbal_auth_code.nil? && verbal_auth_code.to_s.length > 7
69
+ fail ArgumentError, 'invalid value for "verbal_auth_code", the character length must be smaller than or equal to 7.'
70
+ end
71
+
72
+ @verbal_auth_code = verbal_auth_code
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param [Object] Object to be compared
77
+ def ==(o)
78
+ return true if self.equal?(o)
79
+ self.class == o.class &&
80
+ verbal_auth_code == o.verbal_auth_code
81
+ end
82
+
83
+ # @see the `==` method
84
+ # @param [Object] Object to be compared
85
+ def eql?(o)
86
+ self == o
87
+ end
88
+
89
+ # Calculates hash code according to all attributes.
90
+ # @return [Fixnum] Hash code
91
+ def hash
92
+ [verbal_auth_code].hash
93
+ end
94
+
95
+ # Builds the object from hash
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ # @return [Object] Returns the model itself
98
+ def build_from_hash(attributes)
99
+ return nil unless attributes.is_a?(Hash)
100
+ self.class.swagger_types.each_pair do |key, type|
101
+ if type =~ /\AArray<(.*)>/i
102
+ # check to ensure the input is an array given that the the attribute
103
+ # is documented as an array but the input is not
104
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
105
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
106
+ end
107
+ elsif !attributes[self.class.attribute_map[key]].nil?
108
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
109
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+
112
+ self
113
+ end
114
+
115
+ # Deserializes the data based on type
116
+ # @param string type Data type
117
+ # @param string value Value to be deserialized
118
+ # @return [Object] Deserialized data
119
+ def _deserialize(type, value)
120
+ case type.to_sym
121
+ when :DateTime
122
+ DateTime.parse(value)
123
+ when :Date
124
+ Date.parse(value)
125
+ when :String
126
+ value.to_s
127
+ when :Integer
128
+ value.to_i
129
+ when :Float
130
+ value.to_f
131
+ when :BOOLEAN
132
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
133
+ true
134
+ else
135
+ false
136
+ end
137
+ when :Object
138
+ # generic object (usually a Hash), return directly
139
+ value
140
+ when /\AArray<(?<inner_type>.+)>\z/
141
+ inner_type = Regexp.last_match[:inner_type]
142
+ value.map { |v| _deserialize(inner_type, v) }
143
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
144
+ k_type = Regexp.last_match[:k_type]
145
+ v_type = Regexp.last_match[:v_type]
146
+ {}.tap do |hash|
147
+ value.each do |k, v|
148
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
149
+ end
150
+ end
151
+ else # model
152
+ temp_model = CyberSource.const_get(type).new
153
+ temp_model.build_from_hash(value)
154
+ end
155
+ end
156
+
157
+ # Returns the string representation of the object
158
+ # @return [String] String presentation of the object
159
+ def to_s
160
+ to_hash.to_s
161
+ end
162
+
163
+ # to_body is an alias to to_hash (backward compatibility)
164
+ # @return [Hash] Returns the object in the form of hash
165
+ def to_body
166
+ to_hash
167
+ end
168
+
169
+ # Returns the object in the form of hash
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_hash
172
+ hash = {}
173
+ self.class.attribute_map.each_pair do |attr, param|
174
+ value = self.send(attr)
175
+ next if value.nil?
176
+ hash[param] = _to_hash(value)
177
+ end
178
+ hash
179
+ end
180
+
181
+ # Outputs non-array value in the form of hash
182
+ # For object, use to_hash. Otherwise, just return the value
183
+ # @param [Object] value Any valid value
184
+ # @return [Hash] Returns the value in the form of hash
185
+ def _to_hash(value)
186
+ if value.is_a?(Array)
187
+ value.compact.map { |v| _to_hash(v) }
188
+ elsif value.is_a?(Hash)
189
+ {}.tap do |hash|
190
+ value.each { |k, v| hash[k] = _to_hash(v) }
191
+ end
192
+ elsif value.respond_to? :to_hash
193
+ value.to_hash
194
+ else
195
+ value
196
+ end
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,305 @@
1
+ =begin
2
+ #CyberSource Flex API
3
+
4
+ #Simple PAN tokenization service
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class InlineResponse2005
17
+ attr_accessor :_links
18
+
19
+ # An unique identification number assigned by CyberSource to identify the submitted request.
20
+ attr_accessor :id
21
+
22
+ # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.
23
+ attr_accessor :submit_time_utc
24
+
25
+ # The status of the submitted transaction.
26
+ attr_accessor :status
27
+
28
+ # The reconciliation id for the submitted transaction. This value is not returned for all processors.
29
+ attr_accessor :reconciliation_id
30
+
31
+ attr_accessor :client_reference_information
32
+
33
+ attr_accessor :refund_amount_details
34
+
35
+ class EnumAttributeValidator
36
+ attr_reader :datatype
37
+ attr_reader :allowable_values
38
+
39
+ def initialize(datatype, allowable_values)
40
+ @allowable_values = allowable_values.map do |value|
41
+ case datatype.to_s
42
+ when /Integer/i
43
+ value.to_i
44
+ when /Float/i
45
+ value.to_f
46
+ else
47
+ value
48
+ end
49
+ end
50
+ end
51
+
52
+ def valid?(value)
53
+ !value || allowable_values.include?(value)
54
+ end
55
+ end
56
+
57
+ # Attribute mapping from ruby-style variable name to JSON key.
58
+ def self.attribute_map
59
+ {
60
+ :'_links' => :'_links',
61
+ :'id' => :'id',
62
+ :'submit_time_utc' => :'submitTimeUtc',
63
+ :'status' => :'status',
64
+ :'reconciliation_id' => :'reconciliationId',
65
+ :'client_reference_information' => :'clientReferenceInformation',
66
+ :'refund_amount_details' => :'refundAmountDetails'
67
+ }
68
+ end
69
+
70
+ # Attribute type mapping.
71
+ def self.swagger_types
72
+ {
73
+ :'_links' => :'InlineResponse2013Links',
74
+ :'id' => :'String',
75
+ :'submit_time_utc' => :'String',
76
+ :'status' => :'String',
77
+ :'reconciliation_id' => :'String',
78
+ :'client_reference_information' => :'InlineResponse201ClientReferenceInformation',
79
+ :'refund_amount_details' => :'InlineResponse2013RefundAmountDetails'
80
+ }
81
+ end
82
+
83
+ # Initializes the object
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ def initialize(attributes = {})
86
+ return unless attributes.is_a?(Hash)
87
+
88
+ # convert string to symbol for hash key
89
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
90
+
91
+ if attributes.has_key?(:'_links')
92
+ self._links = attributes[:'_links']
93
+ end
94
+
95
+ if attributes.has_key?(:'id')
96
+ self.id = attributes[:'id']
97
+ end
98
+
99
+ if attributes.has_key?(:'submitTimeUtc')
100
+ self.submit_time_utc = attributes[:'submitTimeUtc']
101
+ end
102
+
103
+ if attributes.has_key?(:'status')
104
+ self.status = attributes[:'status']
105
+ end
106
+
107
+ if attributes.has_key?(:'reconciliationId')
108
+ self.reconciliation_id = attributes[:'reconciliationId']
109
+ end
110
+
111
+ if attributes.has_key?(:'clientReferenceInformation')
112
+ self.client_reference_information = attributes[:'clientReferenceInformation']
113
+ end
114
+
115
+ if attributes.has_key?(:'refundAmountDetails')
116
+ self.refund_amount_details = attributes[:'refundAmountDetails']
117
+ end
118
+ end
119
+
120
+ # Show invalid properties with the reasons. Usually used together with valid?
121
+ # @return Array for valid properties with the reasons
122
+ def list_invalid_properties
123
+ invalid_properties = Array.new
124
+ if !@id.nil? && @id.to_s.length > 26
125
+ invalid_properties.push('invalid value for "id", the character length must be smaller than or equal to 26.')
126
+ end
127
+
128
+ if !@reconciliation_id.nil? && @reconciliation_id.to_s.length > 60
129
+ invalid_properties.push('invalid value for "reconciliation_id", the character length must be smaller than or equal to 60.')
130
+ end
131
+
132
+ invalid_properties
133
+ end
134
+
135
+ # Check to see if the all the properties in the model are valid
136
+ # @return true if the model is valid
137
+ def valid?
138
+ return false if !@id.nil? && @id.to_s.length > 26
139
+ status_validator = EnumAttributeValidator.new('String', ['PENDING', 'TRANSMITTED', 'BATCH_ERROR', 'VOIDED'])
140
+ return false unless status_validator.valid?(@status)
141
+ return false if !@reconciliation_id.nil? && @reconciliation_id.to_s.length > 60
142
+ true
143
+ end
144
+
145
+ # Custom attribute writer method with validation
146
+ # @param [Object] id Value to be assigned
147
+ def id=(id)
148
+ if !id.nil? && id.to_s.length > 26
149
+ fail ArgumentError, 'invalid value for "id", the character length must be smaller than or equal to 26.'
150
+ end
151
+
152
+ @id = id
153
+ end
154
+
155
+ # Custom attribute writer method checking allowed values (enum).
156
+ # @param [Object] status Object to be assigned
157
+ def status=(status)
158
+ validator = EnumAttributeValidator.new('String', ['PENDING', 'TRANSMITTED', 'BATCH_ERROR', 'VOIDED'])
159
+ unless validator.valid?(status)
160
+ fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
161
+ end
162
+ @status = status
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] reconciliation_id Value to be assigned
167
+ def reconciliation_id=(reconciliation_id)
168
+ if !reconciliation_id.nil? && reconciliation_id.to_s.length > 60
169
+ fail ArgumentError, 'invalid value for "reconciliation_id", the character length must be smaller than or equal to 60.'
170
+ end
171
+
172
+ @reconciliation_id = reconciliation_id
173
+ end
174
+
175
+ # Checks equality by comparing each attribute.
176
+ # @param [Object] Object to be compared
177
+ def ==(o)
178
+ return true if self.equal?(o)
179
+ self.class == o.class &&
180
+ _links == o._links &&
181
+ id == o.id &&
182
+ submit_time_utc == o.submit_time_utc &&
183
+ status == o.status &&
184
+ reconciliation_id == o.reconciliation_id &&
185
+ client_reference_information == o.client_reference_information &&
186
+ refund_amount_details == o.refund_amount_details
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Fixnum] Hash code
197
+ def hash
198
+ [_links, id, submit_time_utc, status, reconciliation_id, client_reference_information, refund_amount_details].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ self.class.swagger_types.each_pair do |key, type|
207
+ if type =~ /\AArray<(.*)>/i
208
+ # check to ensure the input is an array given that the the attribute
209
+ # is documented as an array but the input is not
210
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
211
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
212
+ end
213
+ elsif !attributes[self.class.attribute_map[key]].nil?
214
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
215
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
216
+ end
217
+
218
+ self
219
+ end
220
+
221
+ # Deserializes the data based on type
222
+ # @param string type Data type
223
+ # @param string value Value to be deserialized
224
+ # @return [Object] Deserialized data
225
+ def _deserialize(type, value)
226
+ case type.to_sym
227
+ when :DateTime
228
+ DateTime.parse(value)
229
+ when :Date
230
+ Date.parse(value)
231
+ when :String
232
+ value.to_s
233
+ when :Integer
234
+ value.to_i
235
+ when :Float
236
+ value.to_f
237
+ when :BOOLEAN
238
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
239
+ true
240
+ else
241
+ false
242
+ end
243
+ when :Object
244
+ # generic object (usually a Hash), return directly
245
+ value
246
+ when /\AArray<(?<inner_type>.+)>\z/
247
+ inner_type = Regexp.last_match[:inner_type]
248
+ value.map { |v| _deserialize(inner_type, v) }
249
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
250
+ k_type = Regexp.last_match[:k_type]
251
+ v_type = Regexp.last_match[:v_type]
252
+ {}.tap do |hash|
253
+ value.each do |k, v|
254
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
255
+ end
256
+ end
257
+ else # model
258
+ temp_model = CyberSource.const_get(type).new
259
+ temp_model.build_from_hash(value)
260
+ end
261
+ end
262
+
263
+ # Returns the string representation of the object
264
+ # @return [String] String presentation of the object
265
+ def to_s
266
+ to_hash.to_s
267
+ end
268
+
269
+ # to_body is an alias to to_hash (backward compatibility)
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_body
272
+ to_hash
273
+ end
274
+
275
+ # Returns the object in the form of hash
276
+ # @return [Hash] Returns the object in the form of hash
277
+ def to_hash
278
+ hash = {}
279
+ self.class.attribute_map.each_pair do |attr, param|
280
+ value = self.send(attr)
281
+ next if value.nil?
282
+ hash[param] = _to_hash(value)
283
+ end
284
+ hash
285
+ end
286
+
287
+ # Outputs non-array value in the form of hash
288
+ # For object, use to_hash. Otherwise, just return the value
289
+ # @param [Object] value Any valid value
290
+ # @return [Hash] Returns the value in the form of hash
291
+ def _to_hash(value)
292
+ if value.is_a?(Array)
293
+ value.compact.map { |v| _to_hash(v) }
294
+ elsif value.is_a?(Hash)
295
+ {}.tap do |hash|
296
+ value.each { |k, v| hash[k] = _to_hash(v) }
297
+ end
298
+ elsif value.respond_to? :to_hash
299
+ value.to_hash
300
+ else
301
+ value
302
+ end
303
+ end
304
+ end
305
+ end