cyberSource_client 0.0.2 → 0.0.3

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 +5 -5
  2. data/AuthenticationSDK/Cybersource.gemspec +23 -23
  3. data/AuthenticationSDK/authentication/http/GetSignatureParameter.rb +62 -62
  4. data/AuthenticationSDK/authentication/http/HttpSignatureHeader.rb +50 -50
  5. data/AuthenticationSDK/authentication/jwt/JwtToken.rb +62 -62
  6. data/AuthenticationSDK/authentication/payloadDigest/digest.rb +10 -10
  7. data/AuthenticationSDK/core/Authorization.rb +24 -24
  8. data/AuthenticationSDK/core/ITokenGeneration.rb +4 -4
  9. data/AuthenticationSDK/core/Logger.rb +26 -26
  10. data/AuthenticationSDK/core/MerchantConfig.rb +181 -181
  11. data/AuthenticationSDK/util/ApiException.rb +18 -18
  12. data/AuthenticationSDK/util/Cache.rb +36 -36
  13. data/AuthenticationSDK/util/Constants.rb +133 -133
  14. data/AuthenticationSDK/util/PropertiesUtil.rb +21 -21
  15. data/AuthenticationSDK/util/Utility.rb +30 -30
  16. data/lib/cyberSource_client.rb +286 -286
  17. data/lib/cyberSource_client/api/capture_api.rb +133 -133
  18. data/lib/cyberSource_client/api/credit_api.rb +127 -127
  19. data/lib/cyberSource_client/api/default_api.rb +75 -75
  20. data/lib/cyberSource_client/api/instrument_identifier_api.rb +393 -393
  21. data/lib/cyberSource_client/api/key_generation_api.rb +75 -75
  22. data/lib/cyberSource_client/api/payment_api.rb +127 -127
  23. data/lib/cyberSource_client/api/payment_instrument_api.rb +312 -312
  24. data/lib/cyberSource_client/api/refund_api.rb +191 -191
  25. data/lib/cyberSource_client/api/reversal_api.rb +133 -133
  26. data/lib/cyberSource_client/api/tokenization_api.rb +71 -71
  27. data/lib/cyberSource_client/api/void_api.rb +307 -307
  28. data/lib/cyberSource_client/api_client.rb +437 -437
  29. data/lib/cyberSource_client/api_error.rb +38 -38
  30. data/lib/cyberSource_client/configuration.rb +202 -202
  31. data/lib/cyberSource_client/models/auth_reversal_request.rb +219 -219
  32. data/lib/cyberSource_client/models/body.rb +295 -295
  33. data/lib/cyberSource_client/models/body_1.rb +183 -183
  34. data/lib/cyberSource_client/models/body_2.rb +331 -331
  35. data/lib/cyberSource_client/models/body_3.rb +331 -331
  36. data/lib/cyberSource_client/models/capture_payment_request.rb +267 -267
  37. data/lib/cyberSource_client/models/card_info.rb +214 -214
  38. data/lib/cyberSource_client/models/create_credit_request.rb +267 -267
  39. data/lib/cyberSource_client/models/create_payment_request.rb +285 -285
  40. data/lib/cyberSource_client/models/der_public_key.rb +205 -205
  41. data/lib/cyberSource_client/models/error.rb +192 -192
  42. data/lib/cyberSource_client/models/error_links.rb +205 -205
  43. data/lib/cyberSource_client/models/error_response.rb +192 -192
  44. data/lib/cyberSource_client/models/generate_public_key_request.rb +184 -184
  45. data/lib/cyberSource_client/models/inline_response_200.rb +202 -202
  46. data/lib/cyberSource_client/models/inline_response_200_1.rb +255 -255
  47. data/lib/cyberSource_client/models/inline_response_200_2.rb +377 -377
  48. data/lib/cyberSource_client/models/inline_response_200_2_buyer_information.rb +270 -270
  49. data/lib/cyberSource_client/models/inline_response_200_2_device_information.rb +219 -219
  50. data/lib/cyberSource_client/models/inline_response_200_2_merchant_information.rb +233 -233
  51. data/lib/cyberSource_client/models/inline_response_200_2_order_information.rb +230 -230
  52. data/lib/cyberSource_client/models/inline_response_200_2_order_information_amount_details.rb +385 -385
  53. data/lib/cyberSource_client/models/inline_response_200_2_order_information_bill_to.rb +459 -459
  54. data/lib/cyberSource_client/models/inline_response_200_2_order_information_invoice_details.rb +315 -315
  55. data/lib/cyberSource_client/models/inline_response_200_2_order_information_line_items.rb +564 -564
  56. data/lib/cyberSource_client/models/inline_response_200_2_order_information_ship_to.rb +429 -429
  57. data/lib/cyberSource_client/models/inline_response_200_2_payment_information.rb +192 -192
  58. data/lib/cyberSource_client/models/inline_response_200_2_payment_information_card.rb +274 -274
  59. data/lib/cyberSource_client/models/inline_response_200_2_payment_information_tokenized_card.rb +299 -299
  60. data/lib/cyberSource_client/models/inline_response_200_2_processing_information.rb +199 -199
  61. data/lib/cyberSource_client/models/inline_response_200_2_processor_information.rb +227 -227
  62. data/lib/cyberSource_client/models/inline_response_200_2_processor_information_avs.rb +199 -199
  63. data/lib/cyberSource_client/models/inline_response_200_2_processor_information_card_verification.rb +199 -199
  64. data/lib/cyberSource_client/models/inline_response_200_3.rb +314 -314
  65. data/lib/cyberSource_client/models/inline_response_200_4.rb +350 -350
  66. data/lib/cyberSource_client/models/inline_response_200_4_device_information.rb +199 -199
  67. data/lib/cyberSource_client/models/inline_response_200_4_order_information.rb +230 -230
  68. data/lib/cyberSource_client/models/inline_response_200_4_order_information_amount_details.rb +360 -360
  69. data/lib/cyberSource_client/models/inline_response_200_4_order_information_invoice_details.rb +305 -305
  70. data/lib/cyberSource_client/models/inline_response_200_4_order_information_ship_to.rb +249 -249
  71. data/lib/cyberSource_client/models/inline_response_200_4_processing_information.rb +208 -208
  72. data/lib/cyberSource_client/models/inline_response_200_4_processing_information_authorization_options.rb +199 -199
  73. data/lib/cyberSource_client/models/inline_response_200_5.rb +305 -305
  74. data/lib/cyberSource_client/models/inline_response_200_6.rb +305 -305
  75. data/lib/cyberSource_client/models/inline_response_200_7.rb +295 -295
  76. data/lib/cyberSource_client/models/inline_response_200_8.rb +277 -277
  77. data/lib/cyberSource_client/models/inline_response_200_8__links.rb +219 -219
  78. data/lib/cyberSource_client/models/inline_response_200_8__links_first.rb +184 -184
  79. data/lib/cyberSource_client/models/inline_response_200_8__links_last.rb +184 -184
  80. data/lib/cyberSource_client/models/inline_response_200_8__links_next.rb +184 -184
  81. data/lib/cyberSource_client/models/inline_response_200_8__links_prev.rb +184 -184
  82. data/lib/cyberSource_client/models/inline_response_200_8__links_self.rb +184 -184
  83. data/lib/cyberSource_client/models/inline_response_200_der.rb +205 -205
  84. data/lib/cyberSource_client/models/inline_response_200_jwk.rb +225 -225
  85. data/lib/cyberSource_client/models/inline_response_201.rb +350 -350
  86. data/lib/cyberSource_client/models/inline_response_201_1.rb +332 -332
  87. data/lib/cyberSource_client/models/inline_response_201_1_authorization_information.rb +224 -224
  88. data/lib/cyberSource_client/models/inline_response_201_1_processor_information.rb +324 -324
  89. data/lib/cyberSource_client/models/inline_response_201_1_reversal_amount_details.rb +249 -249
  90. data/lib/cyberSource_client/models/inline_response_201_2.rb +314 -314
  91. data/lib/cyberSource_client/models/inline_response_201_2__links.rb +201 -201
  92. data/lib/cyberSource_client/models/inline_response_201_2_order_information.rb +192 -192
  93. data/lib/cyberSource_client/models/inline_response_201_2_order_information_amount_details.rb +224 -224
  94. data/lib/cyberSource_client/models/inline_response_201_2_processor_information.rb +199 -199
  95. data/lib/cyberSource_client/models/inline_response_201_3.rb +323 -323
  96. data/lib/cyberSource_client/models/inline_response_201_3__links.rb +192 -192
  97. data/lib/cyberSource_client/models/inline_response_201_3_order_information.rb +183 -183
  98. data/lib/cyberSource_client/models/inline_response_201_3_processor_information.rb +224 -224
  99. data/lib/cyberSource_client/models/inline_response_201_3_refund_amount_details.rb +224 -224
  100. data/lib/cyberSource_client/models/inline_response_201_4.rb +323 -323
  101. data/lib/cyberSource_client/models/inline_response_201_4_credit_amount_details.rb +224 -224
  102. data/lib/cyberSource_client/models/inline_response_201_5.rb +280 -280
  103. data/lib/cyberSource_client/models/inline_response_201_5_void_amount_details.rb +219 -219
  104. data/lib/cyberSource_client/models/inline_response_201_6.rb +331 -331
  105. data/lib/cyberSource_client/models/inline_response_201__embedded.rb +183 -183
  106. data/lib/cyberSource_client/models/inline_response_201__embedded_capture.rb +193 -193
  107. data/lib/cyberSource_client/models/inline_response_201__embedded_capture__links.rb +183 -183
  108. data/lib/cyberSource_client/models/inline_response_201__links.rb +201 -201
  109. data/lib/cyberSource_client/models/inline_response_201__links_self.rb +194 -194
  110. data/lib/cyberSource_client/models/inline_response_201_client_reference_information.rb +199 -199
  111. data/lib/cyberSource_client/models/inline_response_201_error_information.rb +239 -239
  112. data/lib/cyberSource_client/models/inline_response_201_error_information_details.rb +228 -228
  113. data/lib/cyberSource_client/models/inline_response_201_order_information.rb +192 -192
  114. data/lib/cyberSource_client/models/inline_response_201_order_information_amount_details.rb +249 -249
  115. data/lib/cyberSource_client/models/inline_response_201_order_information_invoice_details.rb +184 -184
  116. data/lib/cyberSource_client/models/inline_response_201_payment_information.rb +201 -201
  117. data/lib/cyberSource_client/models/inline_response_201_payment_information_account_features.rb +623 -623
  118. data/lib/cyberSource_client/models/inline_response_201_payment_information_card.rb +199 -199
  119. data/lib/cyberSource_client/models/inline_response_201_payment_information_tokenized_card.rb +349 -349
  120. data/lib/cyberSource_client/models/inline_response_201_point_of_sale_information.rb +208 -208
  121. data/lib/cyberSource_client/models/inline_response_201_point_of_sale_information_emv.rb +199 -199
  122. data/lib/cyberSource_client/models/inline_response_201_processor_information.rb +642 -642
  123. data/lib/cyberSource_client/models/inline_response_201_processor_information_avs.rb +224 -224
  124. data/lib/cyberSource_client/models/inline_response_201_processor_information_card_verification.rb +224 -224
  125. data/lib/cyberSource_client/models/inline_response_201_processor_information_consumer_authentication_response.rb +224 -224
  126. data/lib/cyberSource_client/models/inline_response_201_processor_information_customer.rb +199 -199
  127. data/lib/cyberSource_client/models/inline_response_201_processor_information_electronic_verification_results.rb +474 -474
  128. data/lib/cyberSource_client/models/inline_response_201_processor_information_issuer.rb +224 -224
  129. data/lib/cyberSource_client/models/inline_response_201_processor_information_merchant_advice.rb +224 -224
  130. data/lib/cyberSource_client/models/inline_response_400.rb +271 -271
  131. data/lib/cyberSource_client/models/inline_response_400_1.rb +271 -271
  132. data/lib/cyberSource_client/models/inline_response_400_2.rb +271 -271
  133. data/lib/cyberSource_client/models/inline_response_400_3.rb +271 -271
  134. data/lib/cyberSource_client/models/inline_response_400_4.rb +271 -271
  135. data/lib/cyberSource_client/models/inline_response_400_5.rb +259 -259
  136. data/lib/cyberSource_client/models/inline_response_400_6.rb +202 -202
  137. data/lib/cyberSource_client/models/inline_response_409.rb +183 -183
  138. data/lib/cyberSource_client/models/inline_response_409__links.rb +183 -183
  139. data/lib/cyberSource_client/models/inline_response_409__links_payment_instruments.rb +183 -183
  140. data/lib/cyberSource_client/models/inline_response_502.rb +260 -260
  141. data/lib/cyberSource_client/models/inline_response_default.rb +192 -192
  142. data/lib/cyberSource_client/models/inline_response_default__links.rb +205 -205
  143. data/lib/cyberSource_client/models/inline_response_default__links_next.rb +204 -204
  144. data/lib/cyberSource_client/models/inline_response_default_response_status.rb +225 -225
  145. data/lib/cyberSource_client/models/inline_response_default_response_status_details.rb +194 -194
  146. data/lib/cyberSource_client/models/instrumentidentifiers__links.rb +201 -201
  147. data/lib/cyberSource_client/models/instrumentidentifiers__links_self.rb +183 -183
  148. data/lib/cyberSource_client/models/instrumentidentifiers_authorization_options_merchant_initiated_transaction.rb +184 -184
  149. data/lib/cyberSource_client/models/instrumentidentifiers_bank_account.rb +194 -194
  150. data/lib/cyberSource_client/models/instrumentidentifiers_card.rb +184 -184
  151. data/lib/cyberSource_client/models/instrumentidentifiers_details.rb +194 -194
  152. data/lib/cyberSource_client/models/instrumentidentifiers_metadata.rb +184 -184
  153. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information.rb +183 -183
  154. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information_authorization_options.rb +183 -183
  155. data/lib/cyberSource_client/models/instrumentidentifiers_processing_information_authorization_options_initiator.rb +183 -183
  156. data/lib/cyberSource_client/models/json_web_key.rb +225 -225
  157. data/lib/cyberSource_client/models/key_parameters.rb +184 -184
  158. data/lib/cyberSource_client/models/key_result.rb +202 -202
  159. data/lib/cyberSource_client/models/link.rb +204 -204
  160. data/lib/cyberSource_client/models/links.rb +205 -205
  161. data/lib/cyberSource_client/models/oct_create_payment_request.rb +237 -237
  162. data/lib/cyberSource_client/models/paymentinstruments_bank_account.rb +184 -184
  163. data/lib/cyberSource_client/models/paymentinstruments_bill_to.rb +284 -284
  164. data/lib/cyberSource_client/models/paymentinstruments_buyer_information.rb +215 -215
  165. data/lib/cyberSource_client/models/paymentinstruments_buyer_information_issued_by.rb +184 -184
  166. data/lib/cyberSource_client/models/paymentinstruments_buyer_information_personal_identification.rb +203 -203
  167. data/lib/cyberSource_client/models/paymentinstruments_card.rb +278 -278
  168. data/lib/cyberSource_client/models/paymentinstruments_instrument_identifier.rb +295 -295
  169. data/lib/cyberSource_client/models/paymentinstruments_merchant_information.rb +183 -183
  170. data/lib/cyberSource_client/models/paymentinstruments_merchant_information_merchant_descriptor.rb +184 -184
  171. data/lib/cyberSource_client/models/paymentinstruments_processing_information.rb +193 -193
  172. data/lib/cyberSource_client/models/paymentinstruments_processing_information_bank_transfer_options.rb +184 -184
  173. data/lib/cyberSource_client/models/paymentsflexv1tokens_card_info.rb +214 -214
  174. data/lib/cyberSource_client/models/refund_capture_request.rb +267 -267
  175. data/lib/cyberSource_client/models/refund_payment_request.rb +267 -267
  176. data/lib/cyberSource_client/models/response_status.rb +225 -225
  177. data/lib/cyberSource_client/models/response_status_details.rb +194 -194
  178. data/lib/cyberSource_client/models/tokenize_parameters.rb +193 -193
  179. data/lib/cyberSource_client/models/tokenize_request.rb +193 -193
  180. data/lib/cyberSource_client/models/tokenize_result.rb +255 -255
  181. data/lib/cyberSource_client/models/v2credits_point_of_sale_information.rb +183 -183
  182. data/lib/cyberSource_client/models/v2credits_point_of_sale_information_emv.rb +221 -221
  183. data/lib/cyberSource_client/models/v2credits_processing_information.rb +383 -383
  184. data/lib/cyberSource_client/models/v2payments_aggregator_information.rb +233 -233
  185. data/lib/cyberSource_client/models/v2payments_aggregator_information_sub_merchant.rb +424 -424
  186. data/lib/cyberSource_client/models/v2payments_buyer_information.rb +285 -285
  187. data/lib/cyberSource_client/models/v2payments_buyer_information_personal_identification.rb +252 -252
  188. data/lib/cyberSource_client/models/v2payments_client_reference_information.rb +219 -219
  189. data/lib/cyberSource_client/models/v2payments_consumer_authentication_information.rb +374 -374
  190. data/lib/cyberSource_client/models/v2payments_device_information.rb +249 -249
  191. data/lib/cyberSource_client/models/v2payments_merchant_defined_information.rb +224 -224
  192. data/lib/cyberSource_client/models/v2payments_merchant_information.rb +308 -308
  193. data/lib/cyberSource_client/models/v2payments_merchant_information_merchant_descriptor.rb +374 -374
  194. data/lib/cyberSource_client/models/v2payments_order_information.rb +230 -230
  195. data/lib/cyberSource_client/models/v2payments_order_information_amount_details.rb +605 -605
  196. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_amex_additional_amounts.rb +224 -224
  197. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_surcharge.rb +209 -209
  198. data/lib/cyberSource_client/models/v2payments_order_information_amount_details_tax_details.rb +328 -328
  199. data/lib/cyberSource_client/models/v2payments_order_information_bill_to.rb +618 -618
  200. data/lib/cyberSource_client/models/v2payments_order_information_invoice_details.rb +330 -330
  201. data/lib/cyberSource_client/models/v2payments_order_information_invoice_details_transaction_advice_addendum.rb +199 -199
  202. data/lib/cyberSource_client/models/v2payments_order_information_line_items.rb +649 -649
  203. data/lib/cyberSource_client/models/v2payments_order_information_ship_to.rb +474 -474
  204. data/lib/cyberSource_client/models/v2payments_order_information_shipping_details.rb +234 -234
  205. data/lib/cyberSource_client/models/v2payments_payment_information.rb +210 -210
  206. data/lib/cyberSource_client/models/v2payments_payment_information_card.rb +474 -474
  207. data/lib/cyberSource_client/models/v2payments_payment_information_customer.rb +202 -202
  208. data/lib/cyberSource_client/models/v2payments_payment_information_fluid_data.rb +259 -259
  209. data/lib/cyberSource_client/models/v2payments_payment_information_tokenized_card.rb +424 -424
  210. data/lib/cyberSource_client/models/v2payments_point_of_sale_information.rb +440 -440
  211. data/lib/cyberSource_client/models/v2payments_point_of_sale_information_emv.rb +256 -256
  212. data/lib/cyberSource_client/models/v2payments_processing_information.rb +432 -432
  213. data/lib/cyberSource_client/models/v2payments_processing_information_authorization_options.rb +361 -361
  214. data/lib/cyberSource_client/models/v2payments_processing_information_authorization_options_initiator.rb +247 -247
  215. data/lib/cyberSource_client/models/{v2payments_processing_information_authorization_options_initiator_merchant_initiated_transaction.rb → v2payments_processing_information_authorization_options_merchant_initiated_transaction.rb} +224 -224
  216. data/lib/cyberSource_client/models/v2payments_processing_information_capture_options.rb +267 -267
  217. data/lib/cyberSource_client/models/v2payments_processing_information_issuer.rb +199 -199
  218. data/lib/cyberSource_client/models/v2payments_processing_information_recurring_options.rb +198 -198
  219. data/lib/cyberSource_client/models/v2payments_recipient_information.rb +249 -249
  220. data/lib/cyberSource_client/models/v2paymentsidcaptures_aggregator_information.rb +233 -233
  221. data/lib/cyberSource_client/models/v2paymentsidcaptures_aggregator_information_sub_merchant.rb +374 -374
  222. data/lib/cyberSource_client/models/v2paymentsidcaptures_buyer_information.rb +224 -224
  223. data/lib/cyberSource_client/models/v2paymentsidcaptures_merchant_information.rb +258 -258
  224. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information.rb +230 -230
  225. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_amount_details.rb +546 -546
  226. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_bill_to.rb +449 -449
  227. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_invoice_details.rb +320 -320
  228. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_ship_to.rb +249 -249
  229. data/lib/cyberSource_client/models/v2paymentsidcaptures_order_information_shipping_details.rb +199 -199
  230. data/lib/cyberSource_client/models/v2paymentsidcaptures_payment_information.rb +183 -183
  231. data/lib/cyberSource_client/models/v2paymentsidcaptures_point_of_sale_information.rb +208 -208
  232. data/lib/cyberSource_client/models/v2paymentsidcaptures_point_of_sale_information_emv.rb +211 -211
  233. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information.rb +351 -351
  234. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information_authorization_options.rb +249 -249
  235. data/lib/cyberSource_client/models/v2paymentsidcaptures_processing_information_capture_options.rb +242 -242
  236. data/lib/cyberSource_client/models/v2paymentsidrefunds_merchant_information.rb +258 -258
  237. data/lib/cyberSource_client/models/v2paymentsidrefunds_order_information.rb +230 -230
  238. data/lib/cyberSource_client/models/v2paymentsidrefunds_order_information_line_items.rb +639 -639
  239. data/lib/cyberSource_client/models/v2paymentsidrefunds_payment_information.rb +183 -183
  240. data/lib/cyberSource_client/models/v2paymentsidrefunds_payment_information_card.rb +374 -374
  241. data/lib/cyberSource_client/models/v2paymentsidrefunds_point_of_sale_information.rb +183 -183
  242. data/lib/cyberSource_client/models/v2paymentsidrefunds_processing_information.rb +333 -333
  243. data/lib/cyberSource_client/models/v2paymentsidrefunds_processing_information_recurring_options.rb +186 -186
  244. data/lib/cyberSource_client/models/v2paymentsidreversals_client_reference_information.rb +209 -209
  245. data/lib/cyberSource_client/models/v2paymentsidreversals_order_information.rb +185 -185
  246. data/lib/cyberSource_client/models/v2paymentsidreversals_order_information_line_items.rb +233 -233
  247. data/lib/cyberSource_client/models/v2paymentsidreversals_point_of_sale_information.rb +183 -183
  248. data/lib/cyberSource_client/models/v2paymentsidreversals_processing_information.rb +308 -308
  249. data/lib/cyberSource_client/models/v2paymentsidreversals_reversal_information.rb +211 -211
  250. data/lib/cyberSource_client/models/v2paymentsidreversals_reversal_information_amount_details.rb +224 -224
  251. data/lib/cyberSource_client/models/v2payouts_merchant_information.rb +258 -258
  252. data/lib/cyberSource_client/models/v2payouts_merchant_information_merchant_descriptor.rb +324 -324
  253. data/lib/cyberSource_client/models/v2payouts_order_information.rb +192 -192
  254. data/lib/cyberSource_client/models/v2payouts_order_information_amount_details.rb +249 -249
  255. data/lib/cyberSource_client/models/v2payouts_order_information_bill_to.rb +443 -443
  256. data/lib/cyberSource_client/models/v2payouts_payment_information.rb +183 -183
  257. data/lib/cyberSource_client/models/v2payouts_payment_information_card.rb +299 -299
  258. data/lib/cyberSource_client/models/v2payouts_processing_information.rb +283 -283
  259. data/lib/cyberSource_client/models/v2payouts_processing_information_payouts_options.rb +274 -274
  260. data/lib/cyberSource_client/models/v2payouts_recipient_information.rb +433 -433
  261. data/lib/cyberSource_client/models/v2payouts_sender_information.rb +517 -517
  262. data/lib/cyberSource_client/models/v2payouts_sender_information_account.rb +233 -233
  263. data/lib/cyberSource_client/models/void_capture_request.rb +183 -183
  264. data/lib/cyberSource_client/models/void_credit_request.rb +183 -183
  265. data/lib/cyberSource_client/models/void_payment_request.rb +183 -183
  266. data/lib/cyberSource_client/models/void_refund_request.rb +183 -183
  267. data/lib/cyberSource_client/version.rb +15 -15
  268. metadata +4 -4
@@ -1,623 +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
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