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 InlineResponse201PointOfSaleInformation
17
+ attr_accessor :emv
18
+
19
+ # Point-of-sale details for the transaction. This value is returned only for **American Express Direct**. CyberSource generates this value, which consists of a series of codes that identify terminal capability, security data, and specific conditions present at the time the transaction occurred. To comply with the CAPN requirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on credits. When you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from the authorization service to the subsequent services for you. However, when you perform authorizations through CyberSource and perform subsequent services through other financial institutions, you must ensure that your requests for captures and credits include this value.
20
+ attr_accessor :amex_capn_data
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'emv' => :'emv',
26
+ :'amex_capn_data' => :'amexCapnData'
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.swagger_types
32
+ {
33
+ :'emv' => :'InlineResponse201PointOfSaleInformationEmv',
34
+ :'amex_capn_data' => :'String'
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?(:'emv')
47
+ self.emv = attributes[:'emv']
48
+ end
49
+
50
+ if attributes.has_key?(:'amexCapnData')
51
+ self.amex_capn_data = attributes[:'amexCapnData']
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 !@amex_capn_data.nil? && @amex_capn_data.to_s.length > 12
60
+ invalid_properties.push('invalid value for "amex_capn_data", 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 !@amex_capn_data.nil? && @amex_capn_data.to_s.length > 12
70
+ true
71
+ end
72
+
73
+ # Custom attribute writer method with validation
74
+ # @param [Object] amex_capn_data Value to be assigned
75
+ def amex_capn_data=(amex_capn_data)
76
+ if !amex_capn_data.nil? && amex_capn_data.to_s.length > 12
77
+ fail ArgumentError, 'invalid value for "amex_capn_data", the character length must be smaller than or equal to 12.'
78
+ end
79
+
80
+ @amex_capn_data = amex_capn_data
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
+ emv == o.emv &&
89
+ amex_capn_data == o.amex_capn_data
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
+ [emv, amex_capn_data].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 InlineResponse201PointOfSaleInformationEmv
17
+ # EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV data is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags. `Important` The following tags contain sensitive information and **must not** be included in this field: - **56**: Track 1 equivalent data - **57**: Track 2 equivalent data - **5A**: Application PAN - **5F20**: Cardholder name - **5F24**: Application expiration date (This sensitivity has been relaxed for cmcic, amexdirect, fdiglobal, opdfde, six) - **99**: Transaction PIN - **9F0B**: Cardholder name (extended) - **9F1F**: Track 1 discretionary data - **9F20**: Track 2 discretionary data For captures, this field is required for contact EMV transactions. Otherwise, it is optional. For credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits. Otherwise, it is optional. `Important` For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits, you must include the following tags in this field. For all other types of EMV transactions, the following tags are optional. - **95**: Terminal verification results - **9F10**: Issuer application data - **9F26**: Application cryptogram
18
+ attr_accessor :tags
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'tags' => :'tags'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'tags' => :'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?(:'tags')
43
+ self.tags = attributes[:'tags']
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 !@tags.nil? && @tags.to_s.length > 1998
52
+ invalid_properties.push('invalid value for "tags", the character length must be smaller than or equal to 1998.')
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 !@tags.nil? && @tags.to_s.length > 1998
62
+ true
63
+ end
64
+
65
+ # Custom attribute writer method with validation
66
+ # @param [Object] tags Value to be assigned
67
+ def tags=(tags)
68
+ if !tags.nil? && tags.to_s.length > 1998
69
+ fail ArgumentError, 'invalid value for "tags", the character length must be smaller than or equal to 1998.'
70
+ end
71
+
72
+ @tags = tags
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
+ tags == o.tags
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
+ [tags].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,642 @@
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 InlineResponse201ProcessorInformation
17
+ # Authorization code. Returned only when the processor returns this value.
18
+ attr_accessor :approval_code
19
+
20
+ # Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value.
21
+ attr_accessor :transaction_id
22
+
23
+ # TBD
24
+ attr_accessor :network_transaction_id
25
+
26
+ # TBD
27
+ attr_accessor :provider_transaction_id
28
+
29
+ # For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. Important Do not use this field to evaluate the result of the authorization.
30
+ attr_accessor :response_code
31
+
32
+ # Used by Visa only and contains the response source/reason code that identifies the source of the response decision.
33
+ attr_accessor :response_code_source
34
+
35
+ # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**.
36
+ attr_accessor :response_details
37
+
38
+ # Processor-defined response category code. The associated detail error code is in the auth_auth_response field or the auth_reversal_auth_ response field depending on which service you requested. This field is supported only for: - Japanese issuers - Domestic transactions in Japan - Comercio Latino—processor transaction ID required for troubleshooting **Maximum length for processors**: - Comercio Latino: 32 - All other processors: 3
39
+ attr_accessor :response_category_code
40
+
41
+ # Name of the Japanese acquirer that processed the transaction. Returned only for CCS (CAFIS) and JCN Gateway. Please contact the CyberSource Japan Support Group for more information.
42
+ attr_accessor :forwarded_acquirer_code
43
+
44
+ attr_accessor :avs
45
+
46
+ attr_accessor :card_verification
47
+
48
+ attr_accessor :merchant_advice
49
+
50
+ attr_accessor :electronic_verification_results
51
+
52
+ attr_accessor :customer
53
+
54
+ attr_accessor :consumer_authentication_response
55
+
56
+ attr_accessor :issuer
57
+
58
+ # This field is returned only for **American Express Direct** and **CyberSource through VisaNet**. **American Express Direct** System trace audit number (STAN). This value identifies the transaction and is useful when investigating a chargeback dispute. **CyberSource through VisaNet** System trace number that must be printed on the customer’s receipt.
59
+ attr_accessor :system_trace_audit_number
60
+
61
+ # Visa-generated reference number that identifies a card-present transaction for which youprovided one of the following: - Visa primary account number (PAN) - Visa-generated token for a PAN This reference number serves as a link to the cardholder account and to all transactions for that account.
62
+ attr_accessor :payment_account_reference_number
63
+
64
+ # Transaction integrity classification provided by Mastercard. This value specifies Mastercard’s evaluation of the transaction’s safety and security. This field is returned only for **CyberSource through VisaNet**. For card-present transactions, possible values: - **A1**: EMV or token in a secure, trusted environment - **B1**: EMV or chip equivalent - **C1**: Magnetic stripe - **E1**: Key entered - **U0**: Unclassified For card-not-present transactions, possible values: - **A2**: Digital transactions - **B2**: Authenticated checkout - **C2**: Transaction validation - **D2**: Enhanced data - **E2**: Generic messaging - **U0**: Unclassified For information about these values, contact Mastercard or your acquirer.
65
+ attr_accessor :transaction_integrity_code
66
+
67
+ # Referral response number for a verbal authorization with FDMS Nashville when using an American Express card. Give this number to American Express when you call them for the verbal authorization.
68
+ attr_accessor :amex_verbal_auth_reference_number
69
+
70
+ # Transaction identifier that CyberSource generates. You have the option of printing the sales slip number on the receipt. This field is supported only for **JCN Gateway**.
71
+ attr_accessor :sales_slip_number
72
+
73
+ # Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource. Possible value: - 53: Mastercard card-on-file token service
74
+ attr_accessor :master_card_service_code
75
+
76
+ # Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource. Possible values: - **C**: Service completed successfully. - **F**: One of the following: - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or authorization reversal. - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request. - Token requestor ID is missing or formatted incorrectly. - **I**: One of the following: - Invalid token requestor ID. - Suspended or deactivated token. - Invalid token (not in mapping table). - **T**: Invalid combination of token requestor ID and token. - **U**: Expired token. - **W**: Primary account number (PAN) listed in electronic warning bulletin. Note This field is returned only for **CyberSource through VisaNet**.
77
+ attr_accessor :master_card_service_reply_code
78
+
79
+ # Type of authentication for which the transaction qualifies as determined by the Mastercard authentication service, which confirms the identity of the cardholder. Mastercard provides this value to CyberSource. Possible values: - **1**: Transaction qualifies for Mastercard authentication type 1. - **2**: Transaction qualifies for Mastercard authentication type 2.
80
+ attr_accessor :master_card_authentication_type
81
+
82
+ # Name of the Processor.
83
+ attr_accessor :name
84
+
85
+ # Attribute mapping from ruby-style variable name to JSON key.
86
+ def self.attribute_map
87
+ {
88
+ :'approval_code' => :'approvalCode',
89
+ :'transaction_id' => :'transactionId',
90
+ :'network_transaction_id' => :'networkTransactionId',
91
+ :'provider_transaction_id' => :'providerTransactionId',
92
+ :'response_code' => :'responseCode',
93
+ :'response_code_source' => :'responseCodeSource',
94
+ :'response_details' => :'responseDetails',
95
+ :'response_category_code' => :'responseCategoryCode',
96
+ :'forwarded_acquirer_code' => :'forwardedAcquirerCode',
97
+ :'avs' => :'avs',
98
+ :'card_verification' => :'cardVerification',
99
+ :'merchant_advice' => :'merchantAdvice',
100
+ :'electronic_verification_results' => :'electronicVerificationResults',
101
+ :'customer' => :'customer',
102
+ :'consumer_authentication_response' => :'consumerAuthenticationResponse',
103
+ :'issuer' => :'issuer',
104
+ :'system_trace_audit_number' => :'systemTraceAuditNumber',
105
+ :'payment_account_reference_number' => :'paymentAccountReferenceNumber',
106
+ :'transaction_integrity_code' => :'transactionIntegrityCode',
107
+ :'amex_verbal_auth_reference_number' => :'amexVerbalAuthReferenceNumber',
108
+ :'sales_slip_number' => :'salesSlipNumber',
109
+ :'master_card_service_code' => :'masterCardServiceCode',
110
+ :'master_card_service_reply_code' => :'masterCardServiceReplyCode',
111
+ :'master_card_authentication_type' => :'masterCardAuthenticationType',
112
+ :'name' => :'name'
113
+ }
114
+ end
115
+
116
+ # Attribute type mapping.
117
+ def self.swagger_types
118
+ {
119
+ :'approval_code' => :'String',
120
+ :'transaction_id' => :'String',
121
+ :'network_transaction_id' => :'String',
122
+ :'provider_transaction_id' => :'String',
123
+ :'response_code' => :'String',
124
+ :'response_code_source' => :'String',
125
+ :'response_details' => :'String',
126
+ :'response_category_code' => :'String',
127
+ :'forwarded_acquirer_code' => :'String',
128
+ :'avs' => :'InlineResponse201ProcessorInformationAvs',
129
+ :'card_verification' => :'InlineResponse201ProcessorInformationCardVerification',
130
+ :'merchant_advice' => :'InlineResponse201ProcessorInformationMerchantAdvice',
131
+ :'electronic_verification_results' => :'InlineResponse201ProcessorInformationElectronicVerificationResults',
132
+ :'customer' => :'InlineResponse201ProcessorInformationCustomer',
133
+ :'consumer_authentication_response' => :'InlineResponse201ProcessorInformationConsumerAuthenticationResponse',
134
+ :'issuer' => :'InlineResponse201ProcessorInformationIssuer',
135
+ :'system_trace_audit_number' => :'String',
136
+ :'payment_account_reference_number' => :'String',
137
+ :'transaction_integrity_code' => :'String',
138
+ :'amex_verbal_auth_reference_number' => :'String',
139
+ :'sales_slip_number' => :'Float',
140
+ :'master_card_service_code' => :'String',
141
+ :'master_card_service_reply_code' => :'String',
142
+ :'master_card_authentication_type' => :'String',
143
+ :'name' => :'String'
144
+ }
145
+ end
146
+
147
+ # Initializes the object
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ def initialize(attributes = {})
150
+ return unless attributes.is_a?(Hash)
151
+
152
+ # convert string to symbol for hash key
153
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
154
+
155
+ if attributes.has_key?(:'approvalCode')
156
+ self.approval_code = attributes[:'approvalCode']
157
+ end
158
+
159
+ if attributes.has_key?(:'transactionId')
160
+ self.transaction_id = attributes[:'transactionId']
161
+ end
162
+
163
+ if attributes.has_key?(:'networkTransactionId')
164
+ self.network_transaction_id = attributes[:'networkTransactionId']
165
+ end
166
+
167
+ if attributes.has_key?(:'providerTransactionId')
168
+ self.provider_transaction_id = attributes[:'providerTransactionId']
169
+ end
170
+
171
+ if attributes.has_key?(:'responseCode')
172
+ self.response_code = attributes[:'responseCode']
173
+ end
174
+
175
+ if attributes.has_key?(:'responseCodeSource')
176
+ self.response_code_source = attributes[:'responseCodeSource']
177
+ end
178
+
179
+ if attributes.has_key?(:'responseDetails')
180
+ self.response_details = attributes[:'responseDetails']
181
+ end
182
+
183
+ if attributes.has_key?(:'responseCategoryCode')
184
+ self.response_category_code = attributes[:'responseCategoryCode']
185
+ end
186
+
187
+ if attributes.has_key?(:'forwardedAcquirerCode')
188
+ self.forwarded_acquirer_code = attributes[:'forwardedAcquirerCode']
189
+ end
190
+
191
+ if attributes.has_key?(:'avs')
192
+ self.avs = attributes[:'avs']
193
+ end
194
+
195
+ if attributes.has_key?(:'cardVerification')
196
+ self.card_verification = attributes[:'cardVerification']
197
+ end
198
+
199
+ if attributes.has_key?(:'merchantAdvice')
200
+ self.merchant_advice = attributes[:'merchantAdvice']
201
+ end
202
+
203
+ if attributes.has_key?(:'electronicVerificationResults')
204
+ self.electronic_verification_results = attributes[:'electronicVerificationResults']
205
+ end
206
+
207
+ if attributes.has_key?(:'customer')
208
+ self.customer = attributes[:'customer']
209
+ end
210
+
211
+ if attributes.has_key?(:'consumerAuthenticationResponse')
212
+ self.consumer_authentication_response = attributes[:'consumerAuthenticationResponse']
213
+ end
214
+
215
+ if attributes.has_key?(:'issuer')
216
+ self.issuer = attributes[:'issuer']
217
+ end
218
+
219
+ if attributes.has_key?(:'systemTraceAuditNumber')
220
+ self.system_trace_audit_number = attributes[:'systemTraceAuditNumber']
221
+ end
222
+
223
+ if attributes.has_key?(:'paymentAccountReferenceNumber')
224
+ self.payment_account_reference_number = attributes[:'paymentAccountReferenceNumber']
225
+ end
226
+
227
+ if attributes.has_key?(:'transactionIntegrityCode')
228
+ self.transaction_integrity_code = attributes[:'transactionIntegrityCode']
229
+ end
230
+
231
+ if attributes.has_key?(:'amexVerbalAuthReferenceNumber')
232
+ self.amex_verbal_auth_reference_number = attributes[:'amexVerbalAuthReferenceNumber']
233
+ end
234
+
235
+ if attributes.has_key?(:'salesSlipNumber')
236
+ self.sales_slip_number = attributes[:'salesSlipNumber']
237
+ end
238
+
239
+ if attributes.has_key?(:'masterCardServiceCode')
240
+ self.master_card_service_code = attributes[:'masterCardServiceCode']
241
+ end
242
+
243
+ if attributes.has_key?(:'masterCardServiceReplyCode')
244
+ self.master_card_service_reply_code = attributes[:'masterCardServiceReplyCode']
245
+ end
246
+
247
+ if attributes.has_key?(:'masterCardAuthenticationType')
248
+ self.master_card_authentication_type = attributes[:'masterCardAuthenticationType']
249
+ end
250
+
251
+ if attributes.has_key?(:'name')
252
+ self.name = attributes[:'name']
253
+ end
254
+ end
255
+
256
+ # Show invalid properties with the reasons. Usually used together with valid?
257
+ # @return Array for valid properties with the reasons
258
+ def list_invalid_properties
259
+ invalid_properties = Array.new
260
+ if !@transaction_id.nil? && @transaction_id.to_s.length > 50
261
+ invalid_properties.push('invalid value for "transaction_id", the character length must be smaller than or equal to 50.')
262
+ end
263
+
264
+ if !@response_code.nil? && @response_code.to_s.length > 10
265
+ invalid_properties.push('invalid value for "response_code", the character length must be smaller than or equal to 10.')
266
+ end
267
+
268
+ if !@response_code_source.nil? && @response_code_source.to_s.length > 1
269
+ invalid_properties.push('invalid value for "response_code_source", the character length must be smaller than or equal to 1.')
270
+ end
271
+
272
+ if !@response_details.nil? && @response_details.to_s.length > 255
273
+ invalid_properties.push('invalid value for "response_details", the character length must be smaller than or equal to 255.')
274
+ end
275
+
276
+ if !@response_category_code.nil? && @response_category_code.to_s.length > 32
277
+ invalid_properties.push('invalid value for "response_category_code", the character length must be smaller than or equal to 32.')
278
+ end
279
+
280
+ if !@forwarded_acquirer_code.nil? && @forwarded_acquirer_code.to_s.length > 32
281
+ invalid_properties.push('invalid value for "forwarded_acquirer_code", the character length must be smaller than or equal to 32.')
282
+ end
283
+
284
+ if !@system_trace_audit_number.nil? && @system_trace_audit_number.to_s.length > 6
285
+ invalid_properties.push('invalid value for "system_trace_audit_number", the character length must be smaller than or equal to 6.')
286
+ end
287
+
288
+ if !@payment_account_reference_number.nil? && @payment_account_reference_number.to_s.length > 32
289
+ invalid_properties.push('invalid value for "payment_account_reference_number", the character length must be smaller than or equal to 32.')
290
+ end
291
+
292
+ if !@transaction_integrity_code.nil? && @transaction_integrity_code.to_s.length > 2
293
+ invalid_properties.push('invalid value for "transaction_integrity_code", the character length must be smaller than or equal to 2.')
294
+ end
295
+
296
+ if !@amex_verbal_auth_reference_number.nil? && @amex_verbal_auth_reference_number.to_s.length > 6
297
+ invalid_properties.push('invalid value for "amex_verbal_auth_reference_number", the character length must be smaller than or equal to 6.')
298
+ end
299
+
300
+ if !@sales_slip_number.nil? && @sales_slip_number > 99999
301
+ invalid_properties.push('invalid value for "sales_slip_number", must be smaller than or equal to 99999.')
302
+ end
303
+
304
+ if !@master_card_service_code.nil? && @master_card_service_code.to_s.length > 2
305
+ invalid_properties.push('invalid value for "master_card_service_code", the character length must be smaller than or equal to 2.')
306
+ end
307
+
308
+ if !@master_card_service_reply_code.nil? && @master_card_service_reply_code.to_s.length > 1
309
+ invalid_properties.push('invalid value for "master_card_service_reply_code", the character length must be smaller than or equal to 1.')
310
+ end
311
+
312
+ if !@master_card_authentication_type.nil? && @master_card_authentication_type.to_s.length > 1
313
+ invalid_properties.push('invalid value for "master_card_authentication_type", the character length must be smaller than or equal to 1.')
314
+ end
315
+
316
+ if !@name.nil? && @name.to_s.length > 30
317
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 30.')
318
+ end
319
+
320
+ invalid_properties
321
+ end
322
+
323
+ # Check to see if the all the properties in the model are valid
324
+ # @return true if the model is valid
325
+ def valid?
326
+ return false if !@transaction_id.nil? && @transaction_id.to_s.length > 50
327
+ return false if !@response_code.nil? && @response_code.to_s.length > 10
328
+ return false if !@response_code_source.nil? && @response_code_source.to_s.length > 1
329
+ return false if !@response_details.nil? && @response_details.to_s.length > 255
330
+ return false if !@response_category_code.nil? && @response_category_code.to_s.length > 32
331
+ return false if !@forwarded_acquirer_code.nil? && @forwarded_acquirer_code.to_s.length > 32
332
+ return false if !@system_trace_audit_number.nil? && @system_trace_audit_number.to_s.length > 6
333
+ return false if !@payment_account_reference_number.nil? && @payment_account_reference_number.to_s.length > 32
334
+ return false if !@transaction_integrity_code.nil? && @transaction_integrity_code.to_s.length > 2
335
+ return false if !@amex_verbal_auth_reference_number.nil? && @amex_verbal_auth_reference_number.to_s.length > 6
336
+ return false if !@sales_slip_number.nil? && @sales_slip_number > 99999
337
+ return false if !@master_card_service_code.nil? && @master_card_service_code.to_s.length > 2
338
+ return false if !@master_card_service_reply_code.nil? && @master_card_service_reply_code.to_s.length > 1
339
+ return false if !@master_card_authentication_type.nil? && @master_card_authentication_type.to_s.length > 1
340
+ return false if !@name.nil? && @name.to_s.length > 30
341
+ true
342
+ end
343
+
344
+ # Custom attribute writer method with validation
345
+ # @param [Object] transaction_id Value to be assigned
346
+ def transaction_id=(transaction_id)
347
+ if !transaction_id.nil? && transaction_id.to_s.length > 50
348
+ fail ArgumentError, 'invalid value for "transaction_id", the character length must be smaller than or equal to 50.'
349
+ end
350
+
351
+ @transaction_id = transaction_id
352
+ end
353
+
354
+ # Custom attribute writer method with validation
355
+ # @param [Object] response_code Value to be assigned
356
+ def response_code=(response_code)
357
+ if !response_code.nil? && response_code.to_s.length > 10
358
+ fail ArgumentError, 'invalid value for "response_code", the character length must be smaller than or equal to 10.'
359
+ end
360
+
361
+ @response_code = response_code
362
+ end
363
+
364
+ # Custom attribute writer method with validation
365
+ # @param [Object] response_code_source Value to be assigned
366
+ def response_code_source=(response_code_source)
367
+ if !response_code_source.nil? && response_code_source.to_s.length > 1
368
+ fail ArgumentError, 'invalid value for "response_code_source", the character length must be smaller than or equal to 1.'
369
+ end
370
+
371
+ @response_code_source = response_code_source
372
+ end
373
+
374
+ # Custom attribute writer method with validation
375
+ # @param [Object] response_details Value to be assigned
376
+ def response_details=(response_details)
377
+ if !response_details.nil? && response_details.to_s.length > 255
378
+ fail ArgumentError, 'invalid value for "response_details", the character length must be smaller than or equal to 255.'
379
+ end
380
+
381
+ @response_details = response_details
382
+ end
383
+
384
+ # Custom attribute writer method with validation
385
+ # @param [Object] response_category_code Value to be assigned
386
+ def response_category_code=(response_category_code)
387
+ if !response_category_code.nil? && response_category_code.to_s.length > 32
388
+ fail ArgumentError, 'invalid value for "response_category_code", the character length must be smaller than or equal to 32.'
389
+ end
390
+
391
+ @response_category_code = response_category_code
392
+ end
393
+
394
+ # Custom attribute writer method with validation
395
+ # @param [Object] forwarded_acquirer_code Value to be assigned
396
+ def forwarded_acquirer_code=(forwarded_acquirer_code)
397
+ if !forwarded_acquirer_code.nil? && forwarded_acquirer_code.to_s.length > 32
398
+ fail ArgumentError, 'invalid value for "forwarded_acquirer_code", the character length must be smaller than or equal to 32.'
399
+ end
400
+
401
+ @forwarded_acquirer_code = forwarded_acquirer_code
402
+ end
403
+
404
+ # Custom attribute writer method with validation
405
+ # @param [Object] system_trace_audit_number Value to be assigned
406
+ def system_trace_audit_number=(system_trace_audit_number)
407
+ if !system_trace_audit_number.nil? && system_trace_audit_number.to_s.length > 6
408
+ fail ArgumentError, 'invalid value for "system_trace_audit_number", the character length must be smaller than or equal to 6.'
409
+ end
410
+
411
+ @system_trace_audit_number = system_trace_audit_number
412
+ end
413
+
414
+ # Custom attribute writer method with validation
415
+ # @param [Object] payment_account_reference_number Value to be assigned
416
+ def payment_account_reference_number=(payment_account_reference_number)
417
+ if !payment_account_reference_number.nil? && payment_account_reference_number.to_s.length > 32
418
+ fail ArgumentError, 'invalid value for "payment_account_reference_number", the character length must be smaller than or equal to 32.'
419
+ end
420
+
421
+ @payment_account_reference_number = payment_account_reference_number
422
+ end
423
+
424
+ # Custom attribute writer method with validation
425
+ # @param [Object] transaction_integrity_code Value to be assigned
426
+ def transaction_integrity_code=(transaction_integrity_code)
427
+ if !transaction_integrity_code.nil? && transaction_integrity_code.to_s.length > 2
428
+ fail ArgumentError, 'invalid value for "transaction_integrity_code", the character length must be smaller than or equal to 2.'
429
+ end
430
+
431
+ @transaction_integrity_code = transaction_integrity_code
432
+ end
433
+
434
+ # Custom attribute writer method with validation
435
+ # @param [Object] amex_verbal_auth_reference_number Value to be assigned
436
+ def amex_verbal_auth_reference_number=(amex_verbal_auth_reference_number)
437
+ if !amex_verbal_auth_reference_number.nil? && amex_verbal_auth_reference_number.to_s.length > 6
438
+ fail ArgumentError, 'invalid value for "amex_verbal_auth_reference_number", the character length must be smaller than or equal to 6.'
439
+ end
440
+
441
+ @amex_verbal_auth_reference_number = amex_verbal_auth_reference_number
442
+ end
443
+
444
+ # Custom attribute writer method with validation
445
+ # @param [Object] sales_slip_number Value to be assigned
446
+ def sales_slip_number=(sales_slip_number)
447
+ if !sales_slip_number.nil? && sales_slip_number > 99999
448
+ fail ArgumentError, 'invalid value for "sales_slip_number", must be smaller than or equal to 99999.'
449
+ end
450
+
451
+ @sales_slip_number = sales_slip_number
452
+ end
453
+
454
+ # Custom attribute writer method with validation
455
+ # @param [Object] master_card_service_code Value to be assigned
456
+ def master_card_service_code=(master_card_service_code)
457
+ if !master_card_service_code.nil? && master_card_service_code.to_s.length > 2
458
+ fail ArgumentError, 'invalid value for "master_card_service_code", the character length must be smaller than or equal to 2.'
459
+ end
460
+
461
+ @master_card_service_code = master_card_service_code
462
+ end
463
+
464
+ # Custom attribute writer method with validation
465
+ # @param [Object] master_card_service_reply_code Value to be assigned
466
+ def master_card_service_reply_code=(master_card_service_reply_code)
467
+ if !master_card_service_reply_code.nil? && master_card_service_reply_code.to_s.length > 1
468
+ fail ArgumentError, 'invalid value for "master_card_service_reply_code", the character length must be smaller than or equal to 1.'
469
+ end
470
+
471
+ @master_card_service_reply_code = master_card_service_reply_code
472
+ end
473
+
474
+ # Custom attribute writer method with validation
475
+ # @param [Object] master_card_authentication_type Value to be assigned
476
+ def master_card_authentication_type=(master_card_authentication_type)
477
+ if !master_card_authentication_type.nil? && master_card_authentication_type.to_s.length > 1
478
+ fail ArgumentError, 'invalid value for "master_card_authentication_type", the character length must be smaller than or equal to 1.'
479
+ end
480
+
481
+ @master_card_authentication_type = master_card_authentication_type
482
+ end
483
+
484
+ # Custom attribute writer method with validation
485
+ # @param [Object] name Value to be assigned
486
+ def name=(name)
487
+ if !name.nil? && name.to_s.length > 30
488
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 30.'
489
+ end
490
+
491
+ @name = name
492
+ end
493
+
494
+ # Checks equality by comparing each attribute.
495
+ # @param [Object] Object to be compared
496
+ def ==(o)
497
+ return true if self.equal?(o)
498
+ self.class == o.class &&
499
+ approval_code == o.approval_code &&
500
+ transaction_id == o.transaction_id &&
501
+ network_transaction_id == o.network_transaction_id &&
502
+ provider_transaction_id == o.provider_transaction_id &&
503
+ response_code == o.response_code &&
504
+ response_code_source == o.response_code_source &&
505
+ response_details == o.response_details &&
506
+ response_category_code == o.response_category_code &&
507
+ forwarded_acquirer_code == o.forwarded_acquirer_code &&
508
+ avs == o.avs &&
509
+ card_verification == o.card_verification &&
510
+ merchant_advice == o.merchant_advice &&
511
+ electronic_verification_results == o.electronic_verification_results &&
512
+ customer == o.customer &&
513
+ consumer_authentication_response == o.consumer_authentication_response &&
514
+ issuer == o.issuer &&
515
+ system_trace_audit_number == o.system_trace_audit_number &&
516
+ payment_account_reference_number == o.payment_account_reference_number &&
517
+ transaction_integrity_code == o.transaction_integrity_code &&
518
+ amex_verbal_auth_reference_number == o.amex_verbal_auth_reference_number &&
519
+ sales_slip_number == o.sales_slip_number &&
520
+ master_card_service_code == o.master_card_service_code &&
521
+ master_card_service_reply_code == o.master_card_service_reply_code &&
522
+ master_card_authentication_type == o.master_card_authentication_type &&
523
+ name == o.name
524
+ end
525
+
526
+ # @see the `==` method
527
+ # @param [Object] Object to be compared
528
+ def eql?(o)
529
+ self == o
530
+ end
531
+
532
+ # Calculates hash code according to all attributes.
533
+ # @return [Fixnum] Hash code
534
+ def hash
535
+ [approval_code, transaction_id, network_transaction_id, provider_transaction_id, response_code, response_code_source, response_details, response_category_code, forwarded_acquirer_code, avs, card_verification, merchant_advice, electronic_verification_results, customer, consumer_authentication_response, issuer, system_trace_audit_number, payment_account_reference_number, transaction_integrity_code, amex_verbal_auth_reference_number, sales_slip_number, master_card_service_code, master_card_service_reply_code, master_card_authentication_type, name].hash
536
+ end
537
+
538
+ # Builds the object from hash
539
+ # @param [Hash] attributes Model attributes in the form of hash
540
+ # @return [Object] Returns the model itself
541
+ def build_from_hash(attributes)
542
+ return nil unless attributes.is_a?(Hash)
543
+ self.class.swagger_types.each_pair do |key, type|
544
+ if type =~ /\AArray<(.*)>/i
545
+ # check to ensure the input is an array given that the the attribute
546
+ # is documented as an array but the input is not
547
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
548
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
549
+ end
550
+ elsif !attributes[self.class.attribute_map[key]].nil?
551
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
552
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
553
+ end
554
+
555
+ self
556
+ end
557
+
558
+ # Deserializes the data based on type
559
+ # @param string type Data type
560
+ # @param string value Value to be deserialized
561
+ # @return [Object] Deserialized data
562
+ def _deserialize(type, value)
563
+ case type.to_sym
564
+ when :DateTime
565
+ DateTime.parse(value)
566
+ when :Date
567
+ Date.parse(value)
568
+ when :String
569
+ value.to_s
570
+ when :Integer
571
+ value.to_i
572
+ when :Float
573
+ value.to_f
574
+ when :BOOLEAN
575
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
576
+ true
577
+ else
578
+ false
579
+ end
580
+ when :Object
581
+ # generic object (usually a Hash), return directly
582
+ value
583
+ when /\AArray<(?<inner_type>.+)>\z/
584
+ inner_type = Regexp.last_match[:inner_type]
585
+ value.map { |v| _deserialize(inner_type, v) }
586
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
587
+ k_type = Regexp.last_match[:k_type]
588
+ v_type = Regexp.last_match[:v_type]
589
+ {}.tap do |hash|
590
+ value.each do |k, v|
591
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
592
+ end
593
+ end
594
+ else # model
595
+ temp_model = CyberSource.const_get(type).new
596
+ temp_model.build_from_hash(value)
597
+ end
598
+ end
599
+
600
+ # Returns the string representation of the object
601
+ # @return [String] String presentation of the object
602
+ def to_s
603
+ to_hash.to_s
604
+ end
605
+
606
+ # to_body is an alias to to_hash (backward compatibility)
607
+ # @return [Hash] Returns the object in the form of hash
608
+ def to_body
609
+ to_hash
610
+ end
611
+
612
+ # Returns the object in the form of hash
613
+ # @return [Hash] Returns the object in the form of hash
614
+ def to_hash
615
+ hash = {}
616
+ self.class.attribute_map.each_pair do |attr, param|
617
+ value = self.send(attr)
618
+ next if value.nil?
619
+ hash[param] = _to_hash(value)
620
+ end
621
+ hash
622
+ end
623
+
624
+ # Outputs non-array value in the form of hash
625
+ # For object, use to_hash. Otherwise, just return the value
626
+ # @param [Object] value Any valid value
627
+ # @return [Hash] Returns the value in the form of hash
628
+ def _to_hash(value)
629
+ if value.is_a?(Array)
630
+ value.compact.map { |v| _to_hash(v) }
631
+ elsif value.is_a?(Hash)
632
+ {}.tap do |hash|
633
+ value.each { |k, v| hash[k] = _to_hash(v) }
634
+ end
635
+ elsif value.respond_to? :to_hash
636
+ value.to_hash
637
+ else
638
+ value
639
+ end
640
+ end
641
+ end
642
+ end