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,184 @@
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 InlineResponse201OrderInformationInvoiceDetails
17
+ # Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. For processor-specific information, see the bill_purchasing_level3_enabled field in [Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)
18
+ attr_accessor :level3_transmission_status
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'level3_transmission_status' => :'level3TransmissionStatus'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'level3_transmission_status' => :'BOOLEAN'
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?(:'level3TransmissionStatus')
43
+ self.level3_transmission_status = attributes[:'level3TransmissionStatus']
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
+ invalid_properties
52
+ end
53
+
54
+ # Check to see if the all the properties in the model are valid
55
+ # @return true if the model is valid
56
+ def valid?
57
+ true
58
+ end
59
+
60
+ # Checks equality by comparing each attribute.
61
+ # @param [Object] Object to be compared
62
+ def ==(o)
63
+ return true if self.equal?(o)
64
+ self.class == o.class &&
65
+ level3_transmission_status == o.level3_transmission_status
66
+ end
67
+
68
+ # @see the `==` method
69
+ # @param [Object] Object to be compared
70
+ def eql?(o)
71
+ self == o
72
+ end
73
+
74
+ # Calculates hash code according to all attributes.
75
+ # @return [Fixnum] Hash code
76
+ def hash
77
+ [level3_transmission_status].hash
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ self.class.swagger_types.each_pair do |key, type|
86
+ if type =~ /\AArray<(.*)>/i
87
+ # check to ensure the input is an array given that the the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
90
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
91
+ end
92
+ elsif !attributes[self.class.attribute_map[key]].nil?
93
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
94
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Deserializes the data based on type
101
+ # @param string type Data type
102
+ # @param string value Value to be deserialized
103
+ # @return [Object] Deserialized data
104
+ def _deserialize(type, value)
105
+ case type.to_sym
106
+ when :DateTime
107
+ DateTime.parse(value)
108
+ when :Date
109
+ Date.parse(value)
110
+ when :String
111
+ value.to_s
112
+ when :Integer
113
+ value.to_i
114
+ when :Float
115
+ value.to_f
116
+ when :BOOLEAN
117
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
118
+ true
119
+ else
120
+ false
121
+ end
122
+ when :Object
123
+ # generic object (usually a Hash), return directly
124
+ value
125
+ when /\AArray<(?<inner_type>.+)>\z/
126
+ inner_type = Regexp.last_match[:inner_type]
127
+ value.map { |v| _deserialize(inner_type, v) }
128
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
129
+ k_type = Regexp.last_match[:k_type]
130
+ v_type = Regexp.last_match[:v_type]
131
+ {}.tap do |hash|
132
+ value.each do |k, v|
133
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
134
+ end
135
+ end
136
+ else # model
137
+ temp_model = CyberSource.const_get(type).new
138
+ temp_model.build_from_hash(value)
139
+ end
140
+ end
141
+
142
+ # Returns the string representation of the object
143
+ # @return [String] String presentation of the object
144
+ def to_s
145
+ to_hash.to_s
146
+ end
147
+
148
+ # to_body is an alias to to_hash (backward compatibility)
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_body
151
+ to_hash
152
+ end
153
+
154
+ # Returns the object in the form of hash
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_hash
157
+ hash = {}
158
+ self.class.attribute_map.each_pair do |attr, param|
159
+ value = self.send(attr)
160
+ next if value.nil?
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ # Outputs non-array value in the form of hash
167
+ # For object, use to_hash. Otherwise, just return the value
168
+ # @param [Object] value Any valid value
169
+ # @return [Hash] Returns the value in the form of hash
170
+ def _to_hash(value)
171
+ if value.is_a?(Array)
172
+ value.compact.map { |v| _to_hash(v) }
173
+ elsif value.is_a?(Hash)
174
+ {}.tap do |hash|
175
+ value.each { |k, v| hash[k] = _to_hash(v) }
176
+ end
177
+ elsif value.respond_to? :to_hash
178
+ value.to_hash
179
+ else
180
+ value
181
+ end
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,201 @@
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 InlineResponse201PaymentInformation
17
+ attr_accessor :card
18
+
19
+ attr_accessor :tokenized_card
20
+
21
+ attr_accessor :account_features
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'card' => :'card',
27
+ :'tokenized_card' => :'tokenizedCard',
28
+ :'account_features' => :'accountFeatures'
29
+ }
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.swagger_types
34
+ {
35
+ :'card' => :'InlineResponse201PaymentInformationCard',
36
+ :'tokenized_card' => :'InlineResponse201PaymentInformationTokenizedCard',
37
+ :'account_features' => :'InlineResponse201PaymentInformationAccountFeatures'
38
+ }
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ return unless attributes.is_a?(Hash)
45
+
46
+ # convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
48
+
49
+ if attributes.has_key?(:'card')
50
+ self.card = attributes[:'card']
51
+ end
52
+
53
+ if attributes.has_key?(:'tokenizedCard')
54
+ self.tokenized_card = attributes[:'tokenizedCard']
55
+ end
56
+
57
+ if attributes.has_key?(:'accountFeatures')
58
+ self.account_features = attributes[:'accountFeatures']
59
+ end
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = Array.new
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ true
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
+ card == o.card &&
81
+ tokenized_card == o.tokenized_card &&
82
+ account_features == o.account_features
83
+ end
84
+
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Fixnum] Hash code
93
+ def hash
94
+ [card, tokenized_card, account_features].hash
95
+ end
96
+
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def build_from_hash(attributes)
101
+ return nil unless attributes.is_a?(Hash)
102
+ self.class.swagger_types.each_pair do |key, type|
103
+ if type =~ /\AArray<(.*)>/i
104
+ # check to ensure the input is an array given that the the attribute
105
+ # is documented as an array but the input is not
106
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
107
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
+ end
109
+ elsif !attributes[self.class.attribute_map[key]].nil?
110
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
111
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
112
+ end
113
+
114
+ self
115
+ end
116
+
117
+ # Deserializes the data based on type
118
+ # @param string type Data type
119
+ # @param string value Value to be deserialized
120
+ # @return [Object] Deserialized data
121
+ def _deserialize(type, value)
122
+ case type.to_sym
123
+ when :DateTime
124
+ DateTime.parse(value)
125
+ when :Date
126
+ Date.parse(value)
127
+ when :String
128
+ value.to_s
129
+ when :Integer
130
+ value.to_i
131
+ when :Float
132
+ value.to_f
133
+ when :BOOLEAN
134
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
+ true
136
+ else
137
+ false
138
+ end
139
+ when :Object
140
+ # generic object (usually a Hash), return directly
141
+ value
142
+ when /\AArray<(?<inner_type>.+)>\z/
143
+ inner_type = Regexp.last_match[:inner_type]
144
+ value.map { |v| _deserialize(inner_type, v) }
145
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
146
+ k_type = Regexp.last_match[:k_type]
147
+ v_type = Regexp.last_match[:v_type]
148
+ {}.tap do |hash|
149
+ value.each do |k, v|
150
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
151
+ end
152
+ end
153
+ else # model
154
+ temp_model = CyberSource.const_get(type).new
155
+ temp_model.build_from_hash(value)
156
+ end
157
+ end
158
+
159
+ # Returns the string representation of the object
160
+ # @return [String] String presentation of the object
161
+ def to_s
162
+ to_hash.to_s
163
+ end
164
+
165
+ # to_body is an alias to to_hash (backward compatibility)
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_body
168
+ to_hash
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ next if value.nil?
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ hash
181
+ end
182
+
183
+ # Outputs non-array value in the form of hash
184
+ # For object, use to_hash. Otherwise, just return the value
185
+ # @param [Object] value Any valid value
186
+ # @return [Hash] Returns the value in the form of hash
187
+ def _to_hash(value)
188
+ if value.is_a?(Array)
189
+ value.compact.map { |v| _to_hash(v) }
190
+ elsif value.is_a?(Hash)
191
+ {}.tap do |hash|
192
+ value.each { |k, v| hash[k] = _to_hash(v) }
193
+ end
194
+ elsif value.respond_to? :to_hash
195
+ value.to_hash
196
+ else
197
+ value
198
+ end
199
+ end
200
+ end
201
+ end
@@ -0,0 +1,623 @@
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 InlineResponse201PaymentInformationAccountFeatures
17
+ # Type of account. This value is returned only if you requested a balance inquiry. Possible values: - **00**: Not applicable or not specified - **10**: Savings account - **20**: Checking account - **30**: Credit card account - **40**: Universal account
18
+ attr_accessor :account_type
19
+
20
+ # Possible values: - **N**: Nonregulated - **R**: Regulated `Note` This field is returned only for CyberSource through VisaNet.
21
+ attr_accessor :account_status
22
+
23
+ # Remaining balance on the account.
24
+ attr_accessor :balance_amount
25
+
26
+ # Type of amount. This value is returned only if you requested a balance inquiry. The issuer determines the value that is returned. Possible values for deposit accounts: - **01**: Current ledger (posted) balance. - **02**: Current available balance, which is typically the ledger balance less outstanding authorizations. Some depository institutions also include pending deposits and the credit or overdraft line associated with the account. Possible values for credit card accounts: - **01**: Credit amount remaining for customer (open to buy). - **02**: Credit limit.
27
+ attr_accessor :balance_amount_type
28
+
29
+ # Currency of the remaining balance on the account. For the possible values, see the ISO Standard Currency Codes.
30
+ attr_accessor :currency
31
+
32
+ # Sign for the remaining balance on the account. Returned only when the processor returns this value. Possible values:
33
+ attr_accessor :balance_sign
34
+
35
+ # **Chase Paymentech Solutions** Indicates whether a customer has high credit limits. This information enables you to market high cost items to these customers and to understand the kinds of cards that high income customers are using. This field is supported for Visa, Mastercard, Discover, and Diners Club. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown **Litle** Flag that indicates that a Visa cardholder or Mastercard cardholder is in one of the affluent categories. Possible values: - **AFFLUENT**: High income customer with high spending pattern (>100k USD annual income and >40k USD annual card usage). - **MASS AFFLUENT**: High income customer (>100k USD annual income). **Processor specific maximum length**: - Chase Paymentech Solutions: 1 - Litle: 13
36
+ attr_accessor :affluence_indicator
37
+
38
+ # **CyberSource through VisaNet** Visa product ID. **GPN** Visa or Mastercard product ID. **Litle** Type of card used in the transaction. The only possible value is: - PREPAID: Prepaid Card **RBS WorldPay Atlanta** Type of card used in the transaction. Possible values: - **B**: Business Card - **O**: Noncommercial Card - **R**: Corporate Card - **S**: Purchase Card - **Blank**: Purchase card not supported **Maximum length for processors**: - CyberSource through VisaNet: 3 - GPN: 3 - Litle: 7 - RBS WorldPay Atlanta: 1
39
+ attr_accessor :category
40
+
41
+ # Indicates whether the card is a commercial card, which enables you to include Level II data in your transaction requests. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
42
+ attr_accessor :commercial
43
+
44
+ # Type of commercial card. This field is supported only for CyberSource through VisaNet. Possible values: - **B**: Business card - **R**: Corporate card - **S**: Purchasing card - **0**: Noncommercial card
45
+ attr_accessor :group
46
+
47
+ # Indicates whether the card is a healthcare card. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
48
+ attr_accessor :health_care
49
+
50
+ # Indicates whether the card is a payroll card. This field is supported for Visa, Discover, Diners Club, and JCB on **Chase Paymentech Solutions**. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
51
+ attr_accessor :payroll
52
+
53
+ # Indicates whether the card is eligible for Level III interchange fees, which enables you to include Level III data in your transaction requests. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
54
+ attr_accessor :level3_eligible
55
+
56
+ # Indicates whether the card is a PINless debit card. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
57
+ attr_accessor :pinless_debit
58
+
59
+ # Indicates whether the card is a signature debit card. This information enables you to alter the way an order is processed. For example, you might not want to reauthorize a transaction for a signature debit card, or you might want to perform reversals promptly for a signature debit card. This field is supported for Visa, Mastercard, and Maestro (International) on Chase Paymentech Solutions. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
60
+ attr_accessor :signature_debit
61
+
62
+ # Indicates whether the card is a prepaid card. This information enables you to determine when a gift card or prepaid card is presented for use when establishing a new recurring, installment, or deferred billing relationship. This field is supported for Visa, Mastercard, Discover, Diners Club, and JCB on Chase Paymentech Solutions. Possible values: - **Y**: Yes - **N**: No - **X**: Not applicable / Unknown
63
+ attr_accessor :prepaid
64
+
65
+ # Indicates whether the card is regulated according to the Durbin Amendment. If the card is regulated, the card issuer is subject to price caps and interchange rules. This field is supported for Visa, Mastercard, Discover, Diners Club, and JCB on Chase Paymentech Solutions. Possible values: - **Y**: Yes (assets greater than 10B USD) - **N**: No (assets less than 10B USD) - **X**: Not applicable / Unknown
66
+ attr_accessor :regulated
67
+
68
+ class EnumAttributeValidator
69
+ attr_reader :datatype
70
+ attr_reader :allowable_values
71
+
72
+ def initialize(datatype, allowable_values)
73
+ @allowable_values = allowable_values.map do |value|
74
+ case datatype.to_s
75
+ when /Integer/i
76
+ value.to_i
77
+ when /Float/i
78
+ value.to_f
79
+ else
80
+ value
81
+ end
82
+ end
83
+ end
84
+
85
+ def valid?(value)
86
+ !value || allowable_values.include?(value)
87
+ end
88
+ end
89
+
90
+ # Attribute mapping from ruby-style variable name to JSON key.
91
+ def self.attribute_map
92
+ {
93
+ :'account_type' => :'accountType',
94
+ :'account_status' => :'accountStatus',
95
+ :'balance_amount' => :'balanceAmount',
96
+ :'balance_amount_type' => :'balanceAmountType',
97
+ :'currency' => :'currency',
98
+ :'balance_sign' => :'balanceSign',
99
+ :'affluence_indicator' => :'affluenceIndicator',
100
+ :'category' => :'category',
101
+ :'commercial' => :'commercial',
102
+ :'group' => :'group',
103
+ :'health_care' => :'healthCare',
104
+ :'payroll' => :'payroll',
105
+ :'level3_eligible' => :'level3Eligible',
106
+ :'pinless_debit' => :'pinlessDebit',
107
+ :'signature_debit' => :'signatureDebit',
108
+ :'prepaid' => :'prepaid',
109
+ :'regulated' => :'regulated'
110
+ }
111
+ end
112
+
113
+ # Attribute type mapping.
114
+ def self.swagger_types
115
+ {
116
+ :'account_type' => :'String',
117
+ :'account_status' => :'String',
118
+ :'balance_amount' => :'String',
119
+ :'balance_amount_type' => :'String',
120
+ :'currency' => :'String',
121
+ :'balance_sign' => :'String',
122
+ :'affluence_indicator' => :'String',
123
+ :'category' => :'String',
124
+ :'commercial' => :'String',
125
+ :'group' => :'String',
126
+ :'health_care' => :'String',
127
+ :'payroll' => :'String',
128
+ :'level3_eligible' => :'String',
129
+ :'pinless_debit' => :'String',
130
+ :'signature_debit' => :'String',
131
+ :'prepaid' => :'String',
132
+ :'regulated' => :'String'
133
+ }
134
+ end
135
+
136
+ # Initializes the object
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ def initialize(attributes = {})
139
+ return unless attributes.is_a?(Hash)
140
+
141
+ # convert string to symbol for hash key
142
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
143
+
144
+ if attributes.has_key?(:'accountType')
145
+ self.account_type = attributes[:'accountType']
146
+ end
147
+
148
+ if attributes.has_key?(:'accountStatus')
149
+ self.account_status = attributes[:'accountStatus']
150
+ end
151
+
152
+ if attributes.has_key?(:'balanceAmount')
153
+ self.balance_amount = attributes[:'balanceAmount']
154
+ end
155
+
156
+ if attributes.has_key?(:'balanceAmountType')
157
+ self.balance_amount_type = attributes[:'balanceAmountType']
158
+ end
159
+
160
+ if attributes.has_key?(:'currency')
161
+ self.currency = attributes[:'currency']
162
+ end
163
+
164
+ if attributes.has_key?(:'balanceSign')
165
+ self.balance_sign = attributes[:'balanceSign']
166
+ end
167
+
168
+ if attributes.has_key?(:'affluenceIndicator')
169
+ self.affluence_indicator = attributes[:'affluenceIndicator']
170
+ end
171
+
172
+ if attributes.has_key?(:'category')
173
+ self.category = attributes[:'category']
174
+ end
175
+
176
+ if attributes.has_key?(:'commercial')
177
+ self.commercial = attributes[:'commercial']
178
+ end
179
+
180
+ if attributes.has_key?(:'group')
181
+ self.group = attributes[:'group']
182
+ end
183
+
184
+ if attributes.has_key?(:'healthCare')
185
+ self.health_care = attributes[:'healthCare']
186
+ end
187
+
188
+ if attributes.has_key?(:'payroll')
189
+ self.payroll = attributes[:'payroll']
190
+ end
191
+
192
+ if attributes.has_key?(:'level3Eligible')
193
+ self.level3_eligible = attributes[:'level3Eligible']
194
+ end
195
+
196
+ if attributes.has_key?(:'pinlessDebit')
197
+ self.pinless_debit = attributes[:'pinlessDebit']
198
+ end
199
+
200
+ if attributes.has_key?(:'signatureDebit')
201
+ self.signature_debit = attributes[:'signatureDebit']
202
+ end
203
+
204
+ if attributes.has_key?(:'prepaid')
205
+ self.prepaid = attributes[:'prepaid']
206
+ end
207
+
208
+ if attributes.has_key?(:'regulated')
209
+ self.regulated = attributes[:'regulated']
210
+ end
211
+ end
212
+
213
+ # Show invalid properties with the reasons. Usually used together with valid?
214
+ # @return Array for valid properties with the reasons
215
+ def list_invalid_properties
216
+ invalid_properties = Array.new
217
+ if !@account_type.nil? && @account_type.to_s.length > 2
218
+ invalid_properties.push('invalid value for "account_type", the character length must be smaller than or equal to 2.')
219
+ end
220
+
221
+ if !@account_status.nil? && @account_status.to_s.length > 1
222
+ invalid_properties.push('invalid value for "account_status", the character length must be smaller than or equal to 1.')
223
+ end
224
+
225
+ if !@balance_amount.nil? && @balance_amount.to_s.length > 12
226
+ invalid_properties.push('invalid value for "balance_amount", the character length must be smaller than or equal to 12.')
227
+ end
228
+
229
+ if !@balance_amount_type.nil? && @balance_amount_type.to_s.length > 2
230
+ invalid_properties.push('invalid value for "balance_amount_type", the character length must be smaller than or equal to 2.')
231
+ end
232
+
233
+ if !@currency.nil? && @currency.to_s.length > 5
234
+ invalid_properties.push('invalid value for "currency", the character length must be smaller than or equal to 5.')
235
+ end
236
+
237
+ if !@balance_sign.nil? && @balance_sign.to_s.length > 1
238
+ invalid_properties.push('invalid value for "balance_sign", the character length must be smaller than or equal to 1.')
239
+ end
240
+
241
+ if !@affluence_indicator.nil? && @affluence_indicator.to_s.length > 13
242
+ invalid_properties.push('invalid value for "affluence_indicator", the character length must be smaller than or equal to 13.')
243
+ end
244
+
245
+ if !@category.nil? && @category.to_s.length > 7
246
+ invalid_properties.push('invalid value for "category", the character length must be smaller than or equal to 7.')
247
+ end
248
+
249
+ if !@commercial.nil? && @commercial.to_s.length > 1
250
+ invalid_properties.push('invalid value for "commercial", the character length must be smaller than or equal to 1.')
251
+ end
252
+
253
+ if !@group.nil? && @group.to_s.length > 1
254
+ invalid_properties.push('invalid value for "group", the character length must be smaller than or equal to 1.')
255
+ end
256
+
257
+ if !@health_care.nil? && @health_care.to_s.length > 1
258
+ invalid_properties.push('invalid value for "health_care", the character length must be smaller than or equal to 1.')
259
+ end
260
+
261
+ if !@payroll.nil? && @payroll.to_s.length > 1
262
+ invalid_properties.push('invalid value for "payroll", the character length must be smaller than or equal to 1.')
263
+ end
264
+
265
+ if !@level3_eligible.nil? && @level3_eligible.to_s.length > 1
266
+ invalid_properties.push('invalid value for "level3_eligible", the character length must be smaller than or equal to 1.')
267
+ end
268
+
269
+ if !@pinless_debit.nil? && @pinless_debit.to_s.length > 1
270
+ invalid_properties.push('invalid value for "pinless_debit", the character length must be smaller than or equal to 1.')
271
+ end
272
+
273
+ if !@signature_debit.nil? && @signature_debit.to_s.length > 1
274
+ invalid_properties.push('invalid value for "signature_debit", the character length must be smaller than or equal to 1.')
275
+ end
276
+
277
+ if !@prepaid.nil? && @prepaid.to_s.length > 1
278
+ invalid_properties.push('invalid value for "prepaid", the character length must be smaller than or equal to 1.')
279
+ end
280
+
281
+ if !@regulated.nil? && @regulated.to_s.length > 1
282
+ invalid_properties.push('invalid value for "regulated", the character length must be smaller than or equal to 1.')
283
+ end
284
+
285
+ invalid_properties
286
+ end
287
+
288
+ # Check to see if the all the properties in the model are valid
289
+ # @return true if the model is valid
290
+ def valid?
291
+ return false if !@account_type.nil? && @account_type.to_s.length > 2
292
+ return false if !@account_status.nil? && @account_status.to_s.length > 1
293
+ return false if !@balance_amount.nil? && @balance_amount.to_s.length > 12
294
+ return false if !@balance_amount_type.nil? && @balance_amount_type.to_s.length > 2
295
+ return false if !@currency.nil? && @currency.to_s.length > 5
296
+ balance_sign_validator = EnumAttributeValidator.new('String', ['+', '-'])
297
+ return false unless balance_sign_validator.valid?(@balance_sign)
298
+ return false if !@balance_sign.nil? && @balance_sign.to_s.length > 1
299
+ return false if !@affluence_indicator.nil? && @affluence_indicator.to_s.length > 13
300
+ return false if !@category.nil? && @category.to_s.length > 7
301
+ return false if !@commercial.nil? && @commercial.to_s.length > 1
302
+ return false if !@group.nil? && @group.to_s.length > 1
303
+ return false if !@health_care.nil? && @health_care.to_s.length > 1
304
+ return false if !@payroll.nil? && @payroll.to_s.length > 1
305
+ return false if !@level3_eligible.nil? && @level3_eligible.to_s.length > 1
306
+ return false if !@pinless_debit.nil? && @pinless_debit.to_s.length > 1
307
+ return false if !@signature_debit.nil? && @signature_debit.to_s.length > 1
308
+ return false if !@prepaid.nil? && @prepaid.to_s.length > 1
309
+ return false if !@regulated.nil? && @regulated.to_s.length > 1
310
+ true
311
+ end
312
+
313
+ # Custom attribute writer method with validation
314
+ # @param [Object] account_type Value to be assigned
315
+ def account_type=(account_type)
316
+ if !account_type.nil? && account_type.to_s.length > 2
317
+ fail ArgumentError, 'invalid value for "account_type", the character length must be smaller than or equal to 2.'
318
+ end
319
+
320
+ @account_type = account_type
321
+ end
322
+
323
+ # Custom attribute writer method with validation
324
+ # @param [Object] account_status Value to be assigned
325
+ def account_status=(account_status)
326
+ if !account_status.nil? && account_status.to_s.length > 1
327
+ fail ArgumentError, 'invalid value for "account_status", the character length must be smaller than or equal to 1.'
328
+ end
329
+
330
+ @account_status = account_status
331
+ end
332
+
333
+ # Custom attribute writer method with validation
334
+ # @param [Object] balance_amount Value to be assigned
335
+ def balance_amount=(balance_amount)
336
+ if !balance_amount.nil? && balance_amount.to_s.length > 12
337
+ fail ArgumentError, 'invalid value for "balance_amount", the character length must be smaller than or equal to 12.'
338
+ end
339
+
340
+ @balance_amount = balance_amount
341
+ end
342
+
343
+ # Custom attribute writer method with validation
344
+ # @param [Object] balance_amount_type Value to be assigned
345
+ def balance_amount_type=(balance_amount_type)
346
+ if !balance_amount_type.nil? && balance_amount_type.to_s.length > 2
347
+ fail ArgumentError, 'invalid value for "balance_amount_type", the character length must be smaller than or equal to 2.'
348
+ end
349
+
350
+ @balance_amount_type = balance_amount_type
351
+ end
352
+
353
+ # Custom attribute writer method with validation
354
+ # @param [Object] currency Value to be assigned
355
+ def currency=(currency)
356
+ if !currency.nil? && currency.to_s.length > 5
357
+ fail ArgumentError, 'invalid value for "currency", the character length must be smaller than or equal to 5.'
358
+ end
359
+
360
+ @currency = currency
361
+ end
362
+
363
+ # Custom attribute writer method checking allowed values (enum).
364
+ # @param [Object] balance_sign Object to be assigned
365
+ def balance_sign=(balance_sign)
366
+ validator = EnumAttributeValidator.new('String', ['+', '-'])
367
+ unless validator.valid?(balance_sign)
368
+ fail ArgumentError, 'invalid value for "balance_sign", must be one of #{validator.allowable_values}.'
369
+ end
370
+ @balance_sign = balance_sign
371
+ end
372
+
373
+ # Custom attribute writer method with validation
374
+ # @param [Object] affluence_indicator Value to be assigned
375
+ def affluence_indicator=(affluence_indicator)
376
+ if !affluence_indicator.nil? && affluence_indicator.to_s.length > 13
377
+ fail ArgumentError, 'invalid value for "affluence_indicator", the character length must be smaller than or equal to 13.'
378
+ end
379
+
380
+ @affluence_indicator = affluence_indicator
381
+ end
382
+
383
+ # Custom attribute writer method with validation
384
+ # @param [Object] category Value to be assigned
385
+ def category=(category)
386
+ if !category.nil? && category.to_s.length > 7
387
+ fail ArgumentError, 'invalid value for "category", the character length must be smaller than or equal to 7.'
388
+ end
389
+
390
+ @category = category
391
+ end
392
+
393
+ # Custom attribute writer method with validation
394
+ # @param [Object] commercial Value to be assigned
395
+ def commercial=(commercial)
396
+ if !commercial.nil? && commercial.to_s.length > 1
397
+ fail ArgumentError, 'invalid value for "commercial", the character length must be smaller than or equal to 1.'
398
+ end
399
+
400
+ @commercial = commercial
401
+ end
402
+
403
+ # Custom attribute writer method with validation
404
+ # @param [Object] group Value to be assigned
405
+ def group=(group)
406
+ if !group.nil? && group.to_s.length > 1
407
+ fail ArgumentError, 'invalid value for "group", the character length must be smaller than or equal to 1.'
408
+ end
409
+
410
+ @group = group
411
+ end
412
+
413
+ # Custom attribute writer method with validation
414
+ # @param [Object] health_care Value to be assigned
415
+ def health_care=(health_care)
416
+ if !health_care.nil? && health_care.to_s.length > 1
417
+ fail ArgumentError, 'invalid value for "health_care", the character length must be smaller than or equal to 1.'
418
+ end
419
+
420
+ @health_care = health_care
421
+ end
422
+
423
+ # Custom attribute writer method with validation
424
+ # @param [Object] payroll Value to be assigned
425
+ def payroll=(payroll)
426
+ if !payroll.nil? && payroll.to_s.length > 1
427
+ fail ArgumentError, 'invalid value for "payroll", the character length must be smaller than or equal to 1.'
428
+ end
429
+
430
+ @payroll = payroll
431
+ end
432
+
433
+ # Custom attribute writer method with validation
434
+ # @param [Object] level3_eligible Value to be assigned
435
+ def level3_eligible=(level3_eligible)
436
+ if !level3_eligible.nil? && level3_eligible.to_s.length > 1
437
+ fail ArgumentError, 'invalid value for "level3_eligible", the character length must be smaller than or equal to 1.'
438
+ end
439
+
440
+ @level3_eligible = level3_eligible
441
+ end
442
+
443
+ # Custom attribute writer method with validation
444
+ # @param [Object] pinless_debit Value to be assigned
445
+ def pinless_debit=(pinless_debit)
446
+ if !pinless_debit.nil? && pinless_debit.to_s.length > 1
447
+ fail ArgumentError, 'invalid value for "pinless_debit", the character length must be smaller than or equal to 1.'
448
+ end
449
+
450
+ @pinless_debit = pinless_debit
451
+ end
452
+
453
+ # Custom attribute writer method with validation
454
+ # @param [Object] signature_debit Value to be assigned
455
+ def signature_debit=(signature_debit)
456
+ if !signature_debit.nil? && signature_debit.to_s.length > 1
457
+ fail ArgumentError, 'invalid value for "signature_debit", the character length must be smaller than or equal to 1.'
458
+ end
459
+
460
+ @signature_debit = signature_debit
461
+ end
462
+
463
+ # Custom attribute writer method with validation
464
+ # @param [Object] prepaid Value to be assigned
465
+ def prepaid=(prepaid)
466
+ if !prepaid.nil? && prepaid.to_s.length > 1
467
+ fail ArgumentError, 'invalid value for "prepaid", the character length must be smaller than or equal to 1.'
468
+ end
469
+
470
+ @prepaid = prepaid
471
+ end
472
+
473
+ # Custom attribute writer method with validation
474
+ # @param [Object] regulated Value to be assigned
475
+ def regulated=(regulated)
476
+ if !regulated.nil? && regulated.to_s.length > 1
477
+ fail ArgumentError, 'invalid value for "regulated", the character length must be smaller than or equal to 1.'
478
+ end
479
+
480
+ @regulated = regulated
481
+ end
482
+
483
+ # Checks equality by comparing each attribute.
484
+ # @param [Object] Object to be compared
485
+ def ==(o)
486
+ return true if self.equal?(o)
487
+ self.class == o.class &&
488
+ account_type == o.account_type &&
489
+ account_status == o.account_status &&
490
+ balance_amount == o.balance_amount &&
491
+ balance_amount_type == o.balance_amount_type &&
492
+ currency == o.currency &&
493
+ balance_sign == o.balance_sign &&
494
+ affluence_indicator == o.affluence_indicator &&
495
+ category == o.category &&
496
+ commercial == o.commercial &&
497
+ group == o.group &&
498
+ health_care == o.health_care &&
499
+ payroll == o.payroll &&
500
+ level3_eligible == o.level3_eligible &&
501
+ pinless_debit == o.pinless_debit &&
502
+ signature_debit == o.signature_debit &&
503
+ prepaid == o.prepaid &&
504
+ regulated == o.regulated
505
+ end
506
+
507
+ # @see the `==` method
508
+ # @param [Object] Object to be compared
509
+ def eql?(o)
510
+ self == o
511
+ end
512
+
513
+ # Calculates hash code according to all attributes.
514
+ # @return [Fixnum] Hash code
515
+ def hash
516
+ [account_type, account_status, balance_amount, balance_amount_type, currency, balance_sign, affluence_indicator, category, commercial, group, health_care, payroll, level3_eligible, pinless_debit, signature_debit, prepaid, regulated].hash
517
+ end
518
+
519
+ # Builds the object from hash
520
+ # @param [Hash] attributes Model attributes in the form of hash
521
+ # @return [Object] Returns the model itself
522
+ def build_from_hash(attributes)
523
+ return nil unless attributes.is_a?(Hash)
524
+ self.class.swagger_types.each_pair do |key, type|
525
+ if type =~ /\AArray<(.*)>/i
526
+ # check to ensure the input is an array given that the the attribute
527
+ # is documented as an array but the input is not
528
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
529
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
530
+ end
531
+ elsif !attributes[self.class.attribute_map[key]].nil?
532
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
533
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
534
+ end
535
+
536
+ self
537
+ end
538
+
539
+ # Deserializes the data based on type
540
+ # @param string type Data type
541
+ # @param string value Value to be deserialized
542
+ # @return [Object] Deserialized data
543
+ def _deserialize(type, value)
544
+ case type.to_sym
545
+ when :DateTime
546
+ DateTime.parse(value)
547
+ when :Date
548
+ Date.parse(value)
549
+ when :String
550
+ value.to_s
551
+ when :Integer
552
+ value.to_i
553
+ when :Float
554
+ value.to_f
555
+ when :BOOLEAN
556
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
557
+ true
558
+ else
559
+ false
560
+ end
561
+ when :Object
562
+ # generic object (usually a Hash), return directly
563
+ value
564
+ when /\AArray<(?<inner_type>.+)>\z/
565
+ inner_type = Regexp.last_match[:inner_type]
566
+ value.map { |v| _deserialize(inner_type, v) }
567
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
568
+ k_type = Regexp.last_match[:k_type]
569
+ v_type = Regexp.last_match[:v_type]
570
+ {}.tap do |hash|
571
+ value.each do |k, v|
572
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
573
+ end
574
+ end
575
+ else # model
576
+ temp_model = CyberSource.const_get(type).new
577
+ temp_model.build_from_hash(value)
578
+ end
579
+ end
580
+
581
+ # Returns the string representation of the object
582
+ # @return [String] String presentation of the object
583
+ def to_s
584
+ to_hash.to_s
585
+ end
586
+
587
+ # to_body is an alias to to_hash (backward compatibility)
588
+ # @return [Hash] Returns the object in the form of hash
589
+ def to_body
590
+ to_hash
591
+ end
592
+
593
+ # Returns the object in the form of hash
594
+ # @return [Hash] Returns the object in the form of hash
595
+ def to_hash
596
+ hash = {}
597
+ self.class.attribute_map.each_pair do |attr, param|
598
+ value = self.send(attr)
599
+ next if value.nil?
600
+ hash[param] = _to_hash(value)
601
+ end
602
+ hash
603
+ end
604
+
605
+ # Outputs non-array value in the form of hash
606
+ # For object, use to_hash. Otherwise, just return the value
607
+ # @param [Object] value Any valid value
608
+ # @return [Hash] Returns the value in the form of hash
609
+ def _to_hash(value)
610
+ if value.is_a?(Array)
611
+ value.compact.map { |v| _to_hash(v) }
612
+ elsif value.is_a?(Hash)
613
+ {}.tap do |hash|
614
+ value.each { |k, v| hash[k] = _to_hash(v) }
615
+ end
616
+ elsif value.respond_to? :to_hash
617
+ value.to_hash
618
+ else
619
+ value
620
+ end
621
+ end
622
+ end
623
+ end