cybersource_rest_client 0.0.67 → 0.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +12 -0
  3. data/lib/cybersource_rest_client/api/payment_instrument_api.rb +9 -0
  4. data/lib/cybersource_rest_client/models/boardingv1registrations_organization_information.rb +314 -314
  5. data/lib/cybersource_rest_client/models/boardingv1registrations_organization_information_business_information.rb +437 -437
  6. data/lib/cybersource_rest_client/models/boardingv1registrations_organization_information_kyc.rb +337 -337
  7. data/lib/cybersource_rest_client/models/boardingv1registrations_organization_information_kyc_deposit_bank_account.rb +297 -297
  8. data/lib/cybersource_rest_client/models/boardingv1registrations_registration_information.rb +271 -271
  9. data/lib/cybersource_rest_client/models/card_processing_config_common.rb +433 -433
  10. data/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb +719 -719
  11. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations.rb +15 -5
  12. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations_vault.rb +251 -0
  13. data/lib/cybersource_rest_client/models/create_order_request.rb +229 -229
  14. data/lib/cybersource_rest_client/models/create_payment_request.rb +11 -1
  15. data/lib/cybersource_rest_client/models/e_check_config_common_internal_only_processors.rb +8 -4
  16. data/lib/cybersource_rest_client/models/e_check_config_common_processors.rb +4 -2
  17. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_internal_only_processors.rb +4 -2
  18. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_processors.rb +6 -4
  19. data/lib/cybersource_rest_client/models/generate_capture_context_request.rb +230 -227
  20. data/lib/cybersource_rest_client/models/generate_unified_checkout_capture_context_request.rb +283 -293
  21. data/lib/cybersource_rest_client/models/inline_response_200_1_integration_information_tenant_configurations.rb +263 -263
  22. data/lib/cybersource_rest_client/models/inline_response_201_1.rb +2 -2
  23. data/lib/cybersource_rest_client/models/inline_response_201_2.rb +281 -281
  24. data/lib/cybersource_rest_client/models/inline_response_201_2_integration_information_tenant_configurations.rb +253 -253
  25. data/lib/cybersource_rest_client/models/inline_response_201_2_registration_information.rb +222 -222
  26. data/lib/cybersource_rest_client/models/inline_response_201_2_setups_payments_card_processing_configuration_status.rb +255 -255
  27. data/lib/cybersource_rest_client/models/inline_response_201_2_setups_payments_card_processing_subscription_status.rb +234 -234
  28. data/lib/cybersource_rest_client/models/inline_response_400_1.rb +242 -242
  29. data/lib/cybersource_rest_client/models/inline_response_400_6.rb +235 -235
  30. data/lib/cybersource_rest_client/models/inline_response_404_1.rb +235 -235
  31. data/lib/cybersource_rest_client/models/inline_response_422_1.rb +235 -235
  32. data/lib/cybersource_rest_client/models/inline_response_500_2.rb +223 -223
  33. data/lib/cybersource_rest_client/models/oct_create_payment_request.rb +15 -5
  34. data/lib/cybersource_rest_client/models/patch_instrument_identifier_request.rb +15 -5
  35. data/lib/cybersource_rest_client/models/payments_products_card_present_connect_subscription_information.rb +202 -202
  36. data/lib/cybersource_rest_client/models/payments_products_card_processing_subscription_information.rb +215 -215
  37. data/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information.rb +212 -212
  38. data/lib/cybersource_rest_client/models/payments_products_digital_payments_subscription_information.rb +215 -215
  39. data/lib/cybersource_rest_client/models/payments_products_e_check_subscription_information.rb +215 -215
  40. data/lib/cybersource_rest_client/models/payments_products_payer_authentication_subscription_information.rb +202 -202
  41. data/lib/cybersource_rest_client/models/payments_products_service_fee_configuration_information_configurations_payment_information.rb +234 -234
  42. data/lib/cybersource_rest_client/models/post_instrument_identifier_enrollment_request.rb +15 -5
  43. data/lib/cybersource_rest_client/models/post_instrument_identifier_request.rb +15 -5
  44. data/lib/cybersource_rest_client/models/post_payment_credentials_request.rb +1 -1
  45. data/lib/cybersource_rest_client/models/pts_v2_create_order_post201_response.rb +269 -269
  46. data/lib/cybersource_rest_client/models/pts_v2_create_order_post201_response_buyer_information.rb +196 -196
  47. data/lib/cybersource_rest_client/models/pts_v2_create_order_post201_response_processor_information.rb +224 -224
  48. data/lib/cybersource_rest_client/models/pts_v2_create_order_post400_response.rb +224 -224
  49. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_1_processor_information.rb +213 -213
  50. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb +312 -295
  51. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response.rb +305 -305
  52. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_embedded_actions.rb +189 -189
  53. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_embedded_actions_ap_capture.rb +190 -190
  54. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb +263 -263
  55. data/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_buyer_information_personal_identification.rb +207 -207
  56. data/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_payment_information_e_wallet.rb +241 -241
  57. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +18 -1
  58. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_embedded_actions.rb +25 -5
  59. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_embedded_actions_token_create.rb +212 -0
  60. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_embedded_actions_token_update.rb +212 -0
  61. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_account_features.rb +22 -5
  62. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +309 -309
  63. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +247 -227
  64. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information_authorization_options.rb +196 -0
  65. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information_capture_options.rb +196 -196
  66. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information_purchase_options.rb +247 -0
  67. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +831 -814
  68. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_seller_protection.rb +237 -237
  69. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +313 -313
  70. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb +320 -309
  71. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response_processor_information.rb +224 -224
  72. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +15 -5
  73. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processing_information.rb +189 -0
  74. data/lib/cybersource_rest_client/models/pts_v2_update_order_patch201_response.rb +200 -200
  75. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_merchant_information.rb +205 -205
  76. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_order_information_amount_details.rb +302 -302
  77. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_point_of_service_information.rb +189 -189
  78. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_point_of_service_information_emv.rb +196 -196
  79. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_processing_information.rb +318 -318
  80. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_processing_information_payouts_options.rb +282 -282
  81. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_recipient_information.rb +446 -446
  82. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_recipient_information_payment_information_card.rb +321 -321
  83. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_recipient_information_personal_identification.rb +256 -256
  84. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_sender_information.rb +533 -533
  85. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_sender_information_account.rb +222 -222
  86. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_sender_information_payment_information_card.rb +317 -317
  87. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_sender_information_personal_identification.rb +256 -256
  88. data/lib/cybersource_rest_client/models/ptsv2billingagreements_installment_information.rb +1 -1
  89. data/lib/cybersource_rest_client/models/ptsv2intents_client_reference_information.rb +196 -196
  90. data/lib/cybersource_rest_client/models/ptsv2intents_merchant_information.rb +223 -223
  91. data/lib/cybersource_rest_client/models/ptsv2intents_merchant_information_merchant_descriptor.rb +207 -207
  92. data/lib/cybersource_rest_client/models/ptsv2intents_order_information.rb +231 -231
  93. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_amount_details.rb +315 -315
  94. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_bill_to.rb +196 -196
  95. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_invoice_details.rb +190 -190
  96. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_line_items.rb +309 -309
  97. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_ship_to.rb +332 -332
  98. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information.rb +189 -189
  99. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_payment_type.rb +200 -200
  100. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_payment_type_method.rb +190 -190
  101. data/lib/cybersource_rest_client/models/ptsv2intents_processing_information.rb +219 -219
  102. data/lib/cybersource_rest_client/models/ptsv2intents_processing_information_authorization_options.rb +196 -196
  103. data/lib/cybersource_rest_client/models/ptsv2intentsid_merchant_information.rb +189 -189
  104. data/lib/cybersource_rest_client/models/ptsv2intentsid_order_information.rb +221 -221
  105. data/lib/cybersource_rest_client/models/ptsv2intentsid_processing_information.rb +192 -192
  106. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information.rb +90 -5
  107. data/lib/cybersource_rest_client/models/ptsv2payments_agreement_information.rb +207 -207
  108. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information_personal_identification.rb +229 -229
  109. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +56 -5
  110. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +1 -1
  111. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_initiated_transaction.rb +22 -5
  112. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +651 -651
  113. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details_octsurcharge.rb +196 -196
  114. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +18 -1
  115. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +19 -2
  116. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +789 -721
  117. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +529 -467
  118. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_capture_options.rb +298 -264
  119. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +6 -78
  120. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options_bonuses.rb +213 -0
  121. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_purchase_options.rb +56 -5
  122. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +147 -28
  123. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information.rb +89 -28
  124. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information_account.rb +230 -0
  125. data/lib/cybersource_rest_client/models/{tss_v2_transactions_get200_response_unscheduled_payment_information.rb → ptsv2payments_unscheduled_payment_information.rb} +7 -1
  126. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +1 -1
  127. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information_authorization_options.rb +230 -230
  128. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information_capture_options.rb +264 -247
  129. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_point_of_sale_information.rb +22 -5
  130. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information.rb +22 -5
  131. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_processing_information.rb +22 -5
  132. data/lib/cybersource_rest_client/models/{ptsv1pushfundstransfer_aggregator_information.rb → ptsv2payouts_aggregator_information.rb} +325 -240
  133. data/lib/cybersource_rest_client/models/{ptsv1pushfundstransfer_aggregator_information_sub_merchant.rb → ptsv2payouts_aggregator_information_sub_merchant.rb} +196 -196
  134. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +32 -5
  135. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information_purchase_options.rb +213 -0
  136. data/lib/cybersource_rest_client/models/ptsv2payouts_recipient_information.rb +90 -5
  137. data/lib/cybersource_rest_client/models/ptsv2payouts_sender_information.rb +22 -5
  138. data/lib/cybersource_rest_client/models/ptsv2refreshpaymentstatusid_processing_information.rb +192 -192
  139. data/lib/cybersource_rest_client/models/ptsv2voids_processing_information.rb +7 -1
  140. data/lib/cybersource_rest_client/models/push_funds201_response.rb +337 -337
  141. data/lib/cybersource_rest_client/models/push_funds201_response_error_information.rb +225 -225
  142. data/lib/cybersource_rest_client/models/push_funds201_response_payment_information.rb +189 -189
  143. data/lib/cybersource_rest_client/models/push_funds201_response_payment_information_tokenized_card.rb +205 -205
  144. data/lib/cybersource_rest_client/models/push_funds201_response_processing_information.rb +189 -189
  145. data/lib/cybersource_rest_client/models/push_funds201_response_processing_information_domestic_national_net.rb +197 -197
  146. data/lib/cybersource_rest_client/models/push_funds201_response_processor_information.rb +329 -329
  147. data/lib/cybersource_rest_client/models/push_funds201_response_processor_information_routing.rb +196 -196
  148. data/lib/cybersource_rest_client/models/push_funds201_response_processor_information_settlement.rb +207 -207
  149. data/lib/cybersource_rest_client/models/push_funds201_response_recipient_information.rb +206 -206
  150. data/lib/cybersource_rest_client/models/push_funds502_response.rb +246 -246
  151. data/lib/cybersource_rest_client/models/push_funds_request.rb +264 -264
  152. data/lib/cybersource_rest_client/models/rbsv1subscriptions_processing_information.rb +206 -206
  153. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_line_items.rb +1 -10
  154. data/lib/cybersource_rest_client/models/sa_config_payment_methods.rb +191 -191
  155. data/lib/cybersource_rest_client/models/tms_bin_lookup.rb +200 -0
  156. data/lib/cybersource_rest_client/models/{inline_response_201_1_issuer_information.rb → tms_bin_lookup_issuer_information.rb} +1 -1
  157. data/lib/cybersource_rest_client/models/{inline_response_201_1_payment_account_information.rb → tms_bin_lookup_payment_account_information.rb} +4 -4
  158. data/lib/cybersource_rest_client/models/{inline_response_201_1_payment_account_information_card.rb → tms_bin_lookup_payment_account_information_card.rb} +2 -2
  159. data/lib/cybersource_rest_client/models/{inline_response_201_1_payment_account_information_card_brands.rb → tms_bin_lookup_payment_account_information_card_brands.rb} +1 -1
  160. data/lib/cybersource_rest_client/models/{inline_response_201_1_payment_account_information_features.rb → tms_bin_lookup_payment_account_information_features.rb} +1 -1
  161. data/lib/cybersource_rest_client/models/{inline_response_201_1_payment_account_information_network.rb → tms_bin_lookup_payment_account_information_network.rb} +1 -1
  162. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art.rb → tms_card_art.rb} +20 -39
  163. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_brand_logo_asset.rb → tms_card_art_brand_logo_asset.rb} +4 -3
  164. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_icon_asset__links.rb → tms_card_art_brand_logo_asset__links.rb} +2 -2
  165. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links_self.rb → tms_card_art_brand_logo_asset__links_self.rb} +2 -2
  166. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset.rb → tms_card_art_combined_asset.rb} +4 -3
  167. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_combined_asset__links.rb → tms_card_art_combined_asset__links.rb} +2 -2
  168. data/lib/cybersource_rest_client/models/tms_card_art_combined_asset__links_self.rb +190 -0
  169. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_icon_asset.rb → tms_card_art_icon_asset.rb} +4 -3
  170. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links.rb → tms_card_art_icon_asset__links.rb} +2 -2
  171. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links_self.rb → tms_card_art_icon_asset__links_self.rb} +2 -2
  172. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_combined_asset.rb → tms_card_art_issuer_logo_asset.rb} +4 -3
  173. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_background_asset__links.rb → tms_card_art_issuer_logo_asset__links.rb} +2 -2
  174. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_combined_asset__links_self.rb → tms_card_art_issuer_logo_asset__links_self.rb} +2 -2
  175. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier.rb +15 -5
  176. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier__embedded.rb +189 -0
  177. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier_bank_account.rb +1 -1
  178. data/lib/cybersource_rest_client/models/tms_network_token_services.rb +239 -0
  179. data/lib/cybersource_rest_client/models/tms_network_token_services_american_express_token_service.rb +253 -0
  180. data/lib/cybersource_rest_client/models/tms_network_token_services_mastercard_digital_enablement_service.rb +227 -0
  181. data/lib/cybersource_rest_client/models/tms_network_token_services_notifications.rb +190 -0
  182. data/lib/cybersource_rest_client/models/tms_network_token_services_payment_credentials.rb +190 -0
  183. data/lib/cybersource_rest_client/models/tms_network_token_services_synchronous_provisioning.rb +190 -0
  184. data/lib/cybersource_rest_client/models/tms_network_token_services_visa_token_service.rb +244 -0
  185. data/lib/cybersource_rest_client/models/tms_nullify.rb +212 -0
  186. data/lib/cybersource_rest_client/models/tms_payment_instrument_processing_info.rb +1 -1
  187. data/lib/cybersource_rest_client/models/tms_payment_instrument_processing_info_bank_transfer_options.rb +1 -1
  188. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_background_asset.rb → tms_sensitive_privileges.rb} +10 -20
  189. data/lib/cybersource_rest_client/models/tms_token_formats.rb +223 -0
  190. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card.rb +146 -60
  191. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card__links.rb +189 -0
  192. data/lib/cybersource_rest_client/models/{tmsv2_tokenized_card_metadata_card_art_background_asset__links_self.rb → tmsv2_tokenized_card__links_self.rb} +2 -2
  193. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_card.rb +44 -16
  194. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata.rb +16 -5
  195. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_issuer.rb +213 -0
  196. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_passcode.rb +191 -0
  197. data/lib/cybersource_rest_client/models/tmsv2customers__embedded_default_payment_instrument_buyer_information.rb +1 -1
  198. data/lib/cybersource_rest_client/models/token_permissions.rb +223 -0
  199. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +1 -1
  200. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_point_of_sale_information.rb +1 -1
  201. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +1 -1
  202. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +251 -245
  203. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_japan_payment_options.rb +80 -5
  204. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +383 -383
  205. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information_multi_processor_routing.rb +235 -235
  206. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +1 -1
  207. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processor_information.rb +223 -223
  208. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +392 -392
  209. data/lib/cybersource_rest_client/models/update_order_request.rb +229 -229
  210. data/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb +253 -253
  211. data/lib/cybersource_rest_client/models/upv1capturecontexts_order_information_amount_details.rb +201 -201
  212. data/lib/cybersource_rest_client/models/vt_config_card_not_present_global_payment_information_basic_information.rb +273 -273
  213. data/lib/cybersource_rest_client/models/vt_config_card_not_present_global_payment_information_payment_information.rb +315 -315
  214. data/lib/cybersource_rest_client.rb +48 -30
  215. metadata +51 -33
  216. data/lib/cybersource_rest_client/models/microformv2sessions_checkout_api_initialization.rb +0 -281
  217. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links.rb +0 -189
  218. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links_self.rb +0 -190
  219. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset.rb +0 -200
  220. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links.rb +0 -189
  221. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links_self.rb +0 -190
  222. data/lib/cybersource_rest_client/models/upv1capturecontexts_checkout_api_initialization.rb +0 -280
@@ -1,433 +1,433 @@
1
- =begin
2
- #CyberSource Merged Spec
3
-
4
- #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
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.4.38
10
- =end
11
-
12
- require 'date'
13
-
14
- module CyberSource
15
- class CardProcessingConfigCommon
16
- # e.g. * amexdirect * barclays2 * CUP * EFTPOS * fdiglobal * gpngsapv3 * gpx * smartfdc * tsys * vero * VPC For VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request. e.g. replace VPC with <your vpc processor>
17
- attr_accessor :processors
18
-
19
- # Vendor code assigned by American Express. Applicable for TSYS (tsys) processor.
20
- attr_accessor :amex_vendor_code
21
-
22
- # Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version. Applicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Default Value</th></tr></thead> <tr><td>Barclays</td><td>cnp, cp, hybrid</td><td>No</td><td>FINAL</td></tr> <tr><td>Barclays HISO</td><td>cnp, cp, hybrid</td><td>Yes</td><td>FINAL</td></tr> </table> Possible values: - PRE - FINAL - UNDEFINED
23
- attr_accessor :default_auth_type_code
24
-
25
- # MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors.
26
- attr_accessor :master_card_assigned_id
27
-
28
- # Allow merchants to accept partial authorization approvals. Applicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Default Value</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>No</td></tr> </table>
29
- attr_accessor :enable_partial_auth
30
-
31
- # Indicates type of business product or service of the merchant. Applicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>Barclays</td><td>cnp</td><td>No</td><td>4</td><td>4</td><td>^[0-9]+$</td></tr> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>Yes</td><td>4</td><td>4</td><td>^[0-9]+$</td></tr> </table>
32
- attr_accessor :merchant_category_code
33
-
34
- # The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors.
35
- attr_accessor :sic_code
36
-
37
- # Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor.
38
- attr_accessor :food_and_consumer_service_id
39
-
40
- # Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios: * multiple authorizations * multiple captures * multiple authorizations with multiple captures Applicable for VPC processors.
41
- attr_accessor :enable_split_shipment
42
-
43
- # Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors.
44
- attr_accessor :enable_interchange_optimization
45
-
46
- # Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors.
47
- attr_accessor :visa_delegated_authentication_id
48
-
49
- # Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.
50
- attr_accessor :credit_card_refund_limit_percent
51
-
52
- # Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors.
53
- attr_accessor :business_center_credit_card_refund_limit_percent
54
-
55
- # Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.
56
- attr_accessor :allow_captures_greater_than_authorizations
57
-
58
- # Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors.
59
- attr_accessor :enable_duplicate_merchant_reference_number_blocking
60
-
61
- # This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors.
62
- attr_accessor :domestic_merchant_id
63
-
64
- # Indicates whether merchant processes Level 3 transactions. Applicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th></tr></thead> <tr><td>Barclays</td><td>cnp</td><td>No</td></tr> </table>
65
- attr_accessor :process_level3_data
66
-
67
- # The ID assigned to the sub-merchant. Applicable for American Express Direct (amexdirect) processor. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>1</td><td>20</td><td>^[0-9a-zA-Z&#92;-&#92;_&#92;,\\s.]+$</td></tr> </table>
68
- attr_accessor :sub_merchant_id
69
-
70
- # Sub-merchant's business name. Applicable for American Express Direct (amexdirect) processor. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>1</td><td>37</td><td>^[0-9a-zA-Z&#92;-&#92;_&#92;,\\s.]+$</td></tr> </table>
71
- attr_accessor :sub_merchant_business_name
72
-
73
- # It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors.
74
- attr_accessor :prefer_cobadged_secondary_brand
75
-
76
- attr_accessor :merchant_descriptor_information
77
-
78
- # Indicates whether the merchant is government controlled. Applicable for VPC processors.
79
- attr_accessor :government_controlled
80
-
81
- # This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request.
82
- attr_accessor :drop_billing_info
83
-
84
- # Attribute mapping from ruby-style variable name to JSON key.
85
- def self.attribute_map
86
- {
87
- :'processors' => :'processors',
88
- :'amex_vendor_code' => :'amexVendorCode',
89
- :'default_auth_type_code' => :'defaultAuthTypeCode',
90
- :'master_card_assigned_id' => :'masterCardAssignedId',
91
- :'enable_partial_auth' => :'enablePartialAuth',
92
- :'merchant_category_code' => :'merchantCategoryCode',
93
- :'sic_code' => :'sicCode',
94
- :'food_and_consumer_service_id' => :'foodAndConsumerServiceId',
95
- :'enable_split_shipment' => :'enableSplitShipment',
96
- :'enable_interchange_optimization' => :'enableInterchangeOptimization',
97
- :'visa_delegated_authentication_id' => :'visaDelegatedAuthenticationId',
98
- :'credit_card_refund_limit_percent' => :'creditCardRefundLimitPercent',
99
- :'business_center_credit_card_refund_limit_percent' => :'businessCenterCreditCardRefundLimitPercent',
100
- :'allow_captures_greater_than_authorizations' => :'allowCapturesGreaterThanAuthorizations',
101
- :'enable_duplicate_merchant_reference_number_blocking' => :'enableDuplicateMerchantReferenceNumberBlocking',
102
- :'domestic_merchant_id' => :'domesticMerchantId',
103
- :'process_level3_data' => :'processLevel3Data',
104
- :'sub_merchant_id' => :'subMerchantId',
105
- :'sub_merchant_business_name' => :'subMerchantBusinessName',
106
- :'prefer_cobadged_secondary_brand' => :'preferCobadgedSecondaryBrand',
107
- :'merchant_descriptor_information' => :'merchantDescriptorInformation',
108
- :'government_controlled' => :'governmentControlled',
109
- :'drop_billing_info' => :'dropBillingInfo'
110
- }
111
- end
112
-
113
- # Attribute mapping from JSON key to ruby-style variable name.
114
- def self.json_map
115
- {
116
- :'processors' => :'processors',
117
- :'amex_vendor_code' => :'amex_vendor_code',
118
- :'default_auth_type_code' => :'default_auth_type_code',
119
- :'master_card_assigned_id' => :'master_card_assigned_id',
120
- :'enable_partial_auth' => :'enable_partial_auth',
121
- :'merchant_category_code' => :'merchant_category_code',
122
- :'sic_code' => :'sic_code',
123
- :'food_and_consumer_service_id' => :'food_and_consumer_service_id',
124
- :'enable_split_shipment' => :'enable_split_shipment',
125
- :'enable_interchange_optimization' => :'enable_interchange_optimization',
126
- :'visa_delegated_authentication_id' => :'visa_delegated_authentication_id',
127
- :'credit_card_refund_limit_percent' => :'credit_card_refund_limit_percent',
128
- :'business_center_credit_card_refund_limit_percent' => :'business_center_credit_card_refund_limit_percent',
129
- :'allow_captures_greater_than_authorizations' => :'allow_captures_greater_than_authorizations',
130
- :'enable_duplicate_merchant_reference_number_blocking' => :'enable_duplicate_merchant_reference_number_blocking',
131
- :'domestic_merchant_id' => :'domestic_merchant_id',
132
- :'process_level3_data' => :'process_level3_data',
133
- :'sub_merchant_id' => :'sub_merchant_id',
134
- :'sub_merchant_business_name' => :'sub_merchant_business_name',
135
- :'prefer_cobadged_secondary_brand' => :'prefer_cobadged_secondary_brand',
136
- :'merchant_descriptor_information' => :'merchant_descriptor_information',
137
- :'government_controlled' => :'government_controlled',
138
- :'drop_billing_info' => :'drop_billing_info'
139
- }
140
- end
141
-
142
- # Attribute type mapping.
143
- def self.swagger_types
144
- {
145
- :'processors' => :'Hash<String, CardProcessingConfigCommonProcessors>',
146
- :'amex_vendor_code' => :'String',
147
- :'default_auth_type_code' => :'String',
148
- :'master_card_assigned_id' => :'String',
149
- :'enable_partial_auth' => :'BOOLEAN',
150
- :'merchant_category_code' => :'String',
151
- :'sic_code' => :'String',
152
- :'food_and_consumer_service_id' => :'String',
153
- :'enable_split_shipment' => :'BOOLEAN',
154
- :'enable_interchange_optimization' => :'BOOLEAN',
155
- :'visa_delegated_authentication_id' => :'String',
156
- :'credit_card_refund_limit_percent' => :'String',
157
- :'business_center_credit_card_refund_limit_percent' => :'String',
158
- :'allow_captures_greater_than_authorizations' => :'BOOLEAN',
159
- :'enable_duplicate_merchant_reference_number_blocking' => :'BOOLEAN',
160
- :'domestic_merchant_id' => :'BOOLEAN',
161
- :'process_level3_data' => :'String',
162
- :'sub_merchant_id' => :'String',
163
- :'sub_merchant_business_name' => :'String',
164
- :'prefer_cobadged_secondary_brand' => :'BOOLEAN',
165
- :'merchant_descriptor_information' => :'CardProcessingConfigCommonMerchantDescriptorInformation',
166
- :'government_controlled' => :'BOOLEAN',
167
- :'drop_billing_info' => :'BOOLEAN'
168
- }
169
- end
170
-
171
- # Initializes the object
172
- # @param [Hash] attributes Model attributes in the form of hash
173
- def initialize(attributes = {})
174
- return unless attributes.is_a?(Hash)
175
-
176
- # convert string to symbol for hash key
177
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
178
-
179
- if attributes.has_key?(:'processors')
180
- if (value = attributes[:'processors']).is_a?(Hash)
181
- self.processors = value
182
- end
183
- end
184
-
185
- if attributes.has_key?(:'amexVendorCode')
186
- self.amex_vendor_code = attributes[:'amexVendorCode']
187
- end
188
-
189
- if attributes.has_key?(:'defaultAuthTypeCode')
190
- self.default_auth_type_code = attributes[:'defaultAuthTypeCode']
191
- end
192
-
193
- if attributes.has_key?(:'masterCardAssignedId')
194
- self.master_card_assigned_id = attributes[:'masterCardAssignedId']
195
- end
196
-
197
- if attributes.has_key?(:'enablePartialAuth')
198
- self.enable_partial_auth = attributes[:'enablePartialAuth']
199
- end
200
-
201
- if attributes.has_key?(:'merchantCategoryCode')
202
- self.merchant_category_code = attributes[:'merchantCategoryCode']
203
- end
204
-
205
- if attributes.has_key?(:'sicCode')
206
- self.sic_code = attributes[:'sicCode']
207
- end
208
-
209
- if attributes.has_key?(:'foodAndConsumerServiceId')
210
- self.food_and_consumer_service_id = attributes[:'foodAndConsumerServiceId']
211
- end
212
-
213
- if attributes.has_key?(:'enableSplitShipment')
214
- self.enable_split_shipment = attributes[:'enableSplitShipment']
215
- end
216
-
217
- if attributes.has_key?(:'enableInterchangeOptimization')
218
- self.enable_interchange_optimization = attributes[:'enableInterchangeOptimization']
219
- end
220
-
221
- if attributes.has_key?(:'visaDelegatedAuthenticationId')
222
- self.visa_delegated_authentication_id = attributes[:'visaDelegatedAuthenticationId']
223
- end
224
-
225
- if attributes.has_key?(:'creditCardRefundLimitPercent')
226
- self.credit_card_refund_limit_percent = attributes[:'creditCardRefundLimitPercent']
227
- end
228
-
229
- if attributes.has_key?(:'businessCenterCreditCardRefundLimitPercent')
230
- self.business_center_credit_card_refund_limit_percent = attributes[:'businessCenterCreditCardRefundLimitPercent']
231
- end
232
-
233
- if attributes.has_key?(:'allowCapturesGreaterThanAuthorizations')
234
- self.allow_captures_greater_than_authorizations = attributes[:'allowCapturesGreaterThanAuthorizations']
235
- end
236
-
237
- if attributes.has_key?(:'enableDuplicateMerchantReferenceNumberBlocking')
238
- self.enable_duplicate_merchant_reference_number_blocking = attributes[:'enableDuplicateMerchantReferenceNumberBlocking']
239
- end
240
-
241
- if attributes.has_key?(:'domesticMerchantId')
242
- self.domestic_merchant_id = attributes[:'domesticMerchantId']
243
- end
244
-
245
- if attributes.has_key?(:'processLevel3Data')
246
- self.process_level3_data = attributes[:'processLevel3Data']
247
- end
248
-
249
- if attributes.has_key?(:'subMerchantId')
250
- self.sub_merchant_id = attributes[:'subMerchantId']
251
- end
252
-
253
- if attributes.has_key?(:'subMerchantBusinessName')
254
- self.sub_merchant_business_name = attributes[:'subMerchantBusinessName']
255
- end
256
-
257
- if attributes.has_key?(:'preferCobadgedSecondaryBrand')
258
- self.prefer_cobadged_secondary_brand = attributes[:'preferCobadgedSecondaryBrand']
259
- end
260
-
261
- if attributes.has_key?(:'merchantDescriptorInformation')
262
- self.merchant_descriptor_information = attributes[:'merchantDescriptorInformation']
263
- end
264
-
265
- if attributes.has_key?(:'governmentControlled')
266
- self.government_controlled = attributes[:'governmentControlled']
267
- end
268
-
269
- if attributes.has_key?(:'dropBillingInfo')
270
- self.drop_billing_info = attributes[:'dropBillingInfo']
271
- end
272
- end
273
-
274
- # Show invalid properties with the reasons. Usually used together with valid?
275
- # @return Array for valid properties with the reasons
276
- def list_invalid_properties
277
- invalid_properties = Array.new
278
- invalid_properties
279
- end
280
-
281
- # Check to see if the all the properties in the model are valid
282
- # @return true if the model is valid
283
- def valid?
284
- true
285
- end
286
-
287
- # Checks equality by comparing each attribute.
288
- # @param [Object] Object to be compared
289
- def ==(o)
290
- return true if self.equal?(o)
291
- self.class == o.class &&
292
- processors == o.processors &&
293
- amex_vendor_code == o.amex_vendor_code &&
294
- default_auth_type_code == o.default_auth_type_code &&
295
- master_card_assigned_id == o.master_card_assigned_id &&
296
- enable_partial_auth == o.enable_partial_auth &&
297
- merchant_category_code == o.merchant_category_code &&
298
- sic_code == o.sic_code &&
299
- food_and_consumer_service_id == o.food_and_consumer_service_id &&
300
- enable_split_shipment == o.enable_split_shipment &&
301
- enable_interchange_optimization == o.enable_interchange_optimization &&
302
- visa_delegated_authentication_id == o.visa_delegated_authentication_id &&
303
- credit_card_refund_limit_percent == o.credit_card_refund_limit_percent &&
304
- business_center_credit_card_refund_limit_percent == o.business_center_credit_card_refund_limit_percent &&
305
- allow_captures_greater_than_authorizations == o.allow_captures_greater_than_authorizations &&
306
- enable_duplicate_merchant_reference_number_blocking == o.enable_duplicate_merchant_reference_number_blocking &&
307
- domestic_merchant_id == o.domestic_merchant_id &&
308
- process_level3_data == o.process_level3_data &&
309
- sub_merchant_id == o.sub_merchant_id &&
310
- sub_merchant_business_name == o.sub_merchant_business_name &&
311
- prefer_cobadged_secondary_brand == o.prefer_cobadged_secondary_brand &&
312
- merchant_descriptor_information == o.merchant_descriptor_information &&
313
- government_controlled == o.government_controlled &&
314
- drop_billing_info == o.drop_billing_info
315
- end
316
-
317
- # @see the `==` method
318
- # @param [Object] Object to be compared
319
- def eql?(o)
320
- self == o
321
- end
322
-
323
- # Calculates hash code according to all attributes.
324
- # @return [Fixnum] Hash code
325
- def hash
326
- [processors, amex_vendor_code, default_auth_type_code, master_card_assigned_id, enable_partial_auth, merchant_category_code, sic_code, food_and_consumer_service_id, enable_split_shipment, enable_interchange_optimization, visa_delegated_authentication_id, credit_card_refund_limit_percent, business_center_credit_card_refund_limit_percent, allow_captures_greater_than_authorizations, enable_duplicate_merchant_reference_number_blocking, domestic_merchant_id, process_level3_data, sub_merchant_id, sub_merchant_business_name, prefer_cobadged_secondary_brand, merchant_descriptor_information, government_controlled, drop_billing_info].hash
327
- end
328
-
329
- # Builds the object from hash
330
- # @param [Hash] attributes Model attributes in the form of hash
331
- # @return [Object] Returns the model itself
332
- def build_from_hash(attributes)
333
- return nil unless attributes.is_a?(Hash)
334
- self.class.swagger_types.each_pair do |key, type|
335
- if type =~ /\AArray<(.*)>/i
336
- # check to ensure the input is an array given that the the attribute
337
- # is documented as an array but the input is not
338
- if attributes[self.class.attribute_map[key]].is_a?(Array)
339
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
340
- end
341
- elsif !attributes[self.class.attribute_map[key]].nil?
342
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
343
- end # or else data not found in attributes(hash), not an issue as the data can be optional
344
- end
345
-
346
- self
347
- end
348
-
349
- # Deserializes the data based on type
350
- # @param string type Data type
351
- # @param string value Value to be deserialized
352
- # @return [Object] Deserialized data
353
- def _deserialize(type, value)
354
- case type.to_sym
355
- when :DateTime
356
- DateTime.parse(value)
357
- when :Date
358
- Date.parse(value)
359
- when :String
360
- value.to_s
361
- when :Integer
362
- value.to_i
363
- when :Float
364
- value.to_f
365
- when :BOOLEAN
366
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
367
- true
368
- else
369
- false
370
- end
371
- when :Object
372
- # generic object (usually a Hash), return directly
373
- value
374
- when /\AArray<(?<inner_type>.+)>\z/
375
- inner_type = Regexp.last_match[:inner_type]
376
- value.map { |v| _deserialize(inner_type, v) }
377
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
378
- k_type = Regexp.last_match[:k_type]
379
- v_type = Regexp.last_match[:v_type]
380
- {}.tap do |hash|
381
- value.each do |k, v|
382
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
383
- end
384
- end
385
- else # model
386
- temp_model = CyberSource.const_get(type).new
387
- temp_model.build_from_hash(value)
388
- end
389
- end
390
-
391
- # Returns the string representation of the object
392
- # @return [String] String presentation of the object
393
- def to_s
394
- to_hash.to_s
395
- end
396
-
397
- # to_body is an alias to to_hash (backward compatibility)
398
- # @return [Hash] Returns the object in the form of hash
399
- def to_body
400
- to_hash
401
- end
402
-
403
- # Returns the object in the form of hash
404
- # @return [Hash] Returns the object in the form of hash
405
- def to_hash
406
- hash = {}
407
- self.class.attribute_map.each_pair do |attr, param|
408
- value = self.send(attr)
409
- next if value.nil?
410
- hash[param] = _to_hash(value)
411
- end
412
- hash
413
- end
414
-
415
- # Outputs non-array value in the form of hash
416
- # For object, use to_hash. Otherwise, just return the value
417
- # @param [Object] value Any valid value
418
- # @return [Hash] Returns the value in the form of hash
419
- def _to_hash(value)
420
- if value.is_a?(Array)
421
- value.compact.map { |v| _to_hash(v) }
422
- elsif value.is_a?(Hash)
423
- {}.tap do |hash|
424
- value.each { |k, v| hash[k] = _to_hash(v) }
425
- end
426
- elsif value.respond_to? :to_hash
427
- value.to_hash
428
- else
429
- value
430
- end
431
- end
432
- end
433
- end
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
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.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ class CardProcessingConfigCommon
16
+ # e.g. * amexdirect * barclays2 * CUP * EFTPOS * fdiglobal * gpngsapv3 * gpx * smartfdc * tsys * vero * VPC For VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request. e.g. replace VPC with &lt;your vpc processor&gt;
17
+ attr_accessor :processors
18
+
19
+ # Vendor code assigned by American Express. Applicable for TSYS (tsys) processor.
20
+ attr_accessor :amex_vendor_code
21
+
22
+ # Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version. Applicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Default Value</th></tr></thead> <tr><td>Barclays</td><td>cnp, cp, hybrid</td><td>No</td><td>FINAL</td></tr> <tr><td>Barclays HISO</td><td>cnp, cp, hybrid</td><td>Yes</td><td>FINAL</td></tr> </table> Possible values: - PRE - FINAL - UNDEFINED
23
+ attr_accessor :default_auth_type_code
24
+
25
+ # MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors.
26
+ attr_accessor :master_card_assigned_id
27
+
28
+ # Allow merchants to accept partial authorization approvals. Applicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Default Value</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>No</td></tr> </table>
29
+ attr_accessor :enable_partial_auth
30
+
31
+ # Indicates type of business product or service of the merchant. Applicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>Barclays</td><td>cnp</td><td>No</td><td>4</td><td>4</td><td>^[0-9]+$</td></tr> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>Yes</td><td>4</td><td>4</td><td>^[0-9]+$</td></tr> </table>
32
+ attr_accessor :merchant_category_code
33
+
34
+ # The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors.
35
+ attr_accessor :sic_code
36
+
37
+ # Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor.
38
+ attr_accessor :food_and_consumer_service_id
39
+
40
+ # Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios: * multiple authorizations * multiple captures * multiple authorizations with multiple captures Applicable for VPC processors.
41
+ attr_accessor :enable_split_shipment
42
+
43
+ # Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors.
44
+ attr_accessor :enable_interchange_optimization
45
+
46
+ # Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors.
47
+ attr_accessor :visa_delegated_authentication_id
48
+
49
+ # Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.
50
+ attr_accessor :credit_card_refund_limit_percent
51
+
52
+ # Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors.
53
+ attr_accessor :business_center_credit_card_refund_limit_percent
54
+
55
+ # Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.
56
+ attr_accessor :allow_captures_greater_than_authorizations
57
+
58
+ # Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors.
59
+ attr_accessor :enable_duplicate_merchant_reference_number_blocking
60
+
61
+ # This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors.
62
+ attr_accessor :domestic_merchant_id
63
+
64
+ # Indicates whether merchant processes Level 3 transactions. Applicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th></tr></thead> <tr><td>Barclays</td><td>cnp</td><td>No</td></tr> </table>
65
+ attr_accessor :process_level3_data
66
+
67
+ # The ID assigned to the sub-merchant. Applicable for American Express Direct (amexdirect) processor. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>1</td><td>20</td><td>^[0-9a-zA-Z&#92;-&#92;_&#92;,\\s.]+$</td></tr> </table>
68
+ attr_accessor :sub_merchant_id
69
+
70
+ # Sub-merchant's business name. Applicable for American Express Direct (amexdirect) processor. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>American Express Direct</td><td>cnp, cp, hybrid</td><td>No</td><td>1</td><td>37</td><td>^[0-9a-zA-Z&#92;-&#92;_&#92;,\\s.]+$</td></tr> </table>
71
+ attr_accessor :sub_merchant_business_name
72
+
73
+ # It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors.
74
+ attr_accessor :prefer_cobadged_secondary_brand
75
+
76
+ attr_accessor :merchant_descriptor_information
77
+
78
+ # Indicates whether the merchant is government controlled. Applicable for VPC processors.
79
+ attr_accessor :government_controlled
80
+
81
+ # This field is used to indicate whether the merchant wants to drop the billing information from the request. If this field is set to true, then the billing information will be dropped from the request. If this field is set to false, then the billing information will be sent in the request.
82
+ attr_accessor :drop_billing_info
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'processors' => :'processors',
88
+ :'amex_vendor_code' => :'amexVendorCode',
89
+ :'default_auth_type_code' => :'defaultAuthTypeCode',
90
+ :'master_card_assigned_id' => :'masterCardAssignedId',
91
+ :'enable_partial_auth' => :'enablePartialAuth',
92
+ :'merchant_category_code' => :'merchantCategoryCode',
93
+ :'sic_code' => :'sicCode',
94
+ :'food_and_consumer_service_id' => :'foodAndConsumerServiceId',
95
+ :'enable_split_shipment' => :'enableSplitShipment',
96
+ :'enable_interchange_optimization' => :'enableInterchangeOptimization',
97
+ :'visa_delegated_authentication_id' => :'visaDelegatedAuthenticationId',
98
+ :'credit_card_refund_limit_percent' => :'creditCardRefundLimitPercent',
99
+ :'business_center_credit_card_refund_limit_percent' => :'businessCenterCreditCardRefundLimitPercent',
100
+ :'allow_captures_greater_than_authorizations' => :'allowCapturesGreaterThanAuthorizations',
101
+ :'enable_duplicate_merchant_reference_number_blocking' => :'enableDuplicateMerchantReferenceNumberBlocking',
102
+ :'domestic_merchant_id' => :'domesticMerchantId',
103
+ :'process_level3_data' => :'processLevel3Data',
104
+ :'sub_merchant_id' => :'subMerchantId',
105
+ :'sub_merchant_business_name' => :'subMerchantBusinessName',
106
+ :'prefer_cobadged_secondary_brand' => :'preferCobadgedSecondaryBrand',
107
+ :'merchant_descriptor_information' => :'merchantDescriptorInformation',
108
+ :'government_controlled' => :'governmentControlled',
109
+ :'drop_billing_info' => :'dropBillingInfo'
110
+ }
111
+ end
112
+
113
+ # Attribute mapping from JSON key to ruby-style variable name.
114
+ def self.json_map
115
+ {
116
+ :'processors' => :'processors',
117
+ :'amex_vendor_code' => :'amex_vendor_code',
118
+ :'default_auth_type_code' => :'default_auth_type_code',
119
+ :'master_card_assigned_id' => :'master_card_assigned_id',
120
+ :'enable_partial_auth' => :'enable_partial_auth',
121
+ :'merchant_category_code' => :'merchant_category_code',
122
+ :'sic_code' => :'sic_code',
123
+ :'food_and_consumer_service_id' => :'food_and_consumer_service_id',
124
+ :'enable_split_shipment' => :'enable_split_shipment',
125
+ :'enable_interchange_optimization' => :'enable_interchange_optimization',
126
+ :'visa_delegated_authentication_id' => :'visa_delegated_authentication_id',
127
+ :'credit_card_refund_limit_percent' => :'credit_card_refund_limit_percent',
128
+ :'business_center_credit_card_refund_limit_percent' => :'business_center_credit_card_refund_limit_percent',
129
+ :'allow_captures_greater_than_authorizations' => :'allow_captures_greater_than_authorizations',
130
+ :'enable_duplicate_merchant_reference_number_blocking' => :'enable_duplicate_merchant_reference_number_blocking',
131
+ :'domestic_merchant_id' => :'domestic_merchant_id',
132
+ :'process_level3_data' => :'process_level3_data',
133
+ :'sub_merchant_id' => :'sub_merchant_id',
134
+ :'sub_merchant_business_name' => :'sub_merchant_business_name',
135
+ :'prefer_cobadged_secondary_brand' => :'prefer_cobadged_secondary_brand',
136
+ :'merchant_descriptor_information' => :'merchant_descriptor_information',
137
+ :'government_controlled' => :'government_controlled',
138
+ :'drop_billing_info' => :'drop_billing_info'
139
+ }
140
+ end
141
+
142
+ # Attribute type mapping.
143
+ def self.swagger_types
144
+ {
145
+ :'processors' => :'Hash<String, CardProcessingConfigCommonProcessors>',
146
+ :'amex_vendor_code' => :'String',
147
+ :'default_auth_type_code' => :'String',
148
+ :'master_card_assigned_id' => :'String',
149
+ :'enable_partial_auth' => :'BOOLEAN',
150
+ :'merchant_category_code' => :'String',
151
+ :'sic_code' => :'String',
152
+ :'food_and_consumer_service_id' => :'String',
153
+ :'enable_split_shipment' => :'BOOLEAN',
154
+ :'enable_interchange_optimization' => :'BOOLEAN',
155
+ :'visa_delegated_authentication_id' => :'String',
156
+ :'credit_card_refund_limit_percent' => :'String',
157
+ :'business_center_credit_card_refund_limit_percent' => :'String',
158
+ :'allow_captures_greater_than_authorizations' => :'BOOLEAN',
159
+ :'enable_duplicate_merchant_reference_number_blocking' => :'BOOLEAN',
160
+ :'domestic_merchant_id' => :'BOOLEAN',
161
+ :'process_level3_data' => :'String',
162
+ :'sub_merchant_id' => :'String',
163
+ :'sub_merchant_business_name' => :'String',
164
+ :'prefer_cobadged_secondary_brand' => :'BOOLEAN',
165
+ :'merchant_descriptor_information' => :'CardProcessingConfigCommonMerchantDescriptorInformation',
166
+ :'government_controlled' => :'BOOLEAN',
167
+ :'drop_billing_info' => :'BOOLEAN'
168
+ }
169
+ end
170
+
171
+ # Initializes the object
172
+ # @param [Hash] attributes Model attributes in the form of hash
173
+ def initialize(attributes = {})
174
+ return unless attributes.is_a?(Hash)
175
+
176
+ # convert string to symbol for hash key
177
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
178
+
179
+ if attributes.has_key?(:'processors')
180
+ if (value = attributes[:'processors']).is_a?(Hash)
181
+ self.processors = value
182
+ end
183
+ end
184
+
185
+ if attributes.has_key?(:'amexVendorCode')
186
+ self.amex_vendor_code = attributes[:'amexVendorCode']
187
+ end
188
+
189
+ if attributes.has_key?(:'defaultAuthTypeCode')
190
+ self.default_auth_type_code = attributes[:'defaultAuthTypeCode']
191
+ end
192
+
193
+ if attributes.has_key?(:'masterCardAssignedId')
194
+ self.master_card_assigned_id = attributes[:'masterCardAssignedId']
195
+ end
196
+
197
+ if attributes.has_key?(:'enablePartialAuth')
198
+ self.enable_partial_auth = attributes[:'enablePartialAuth']
199
+ end
200
+
201
+ if attributes.has_key?(:'merchantCategoryCode')
202
+ self.merchant_category_code = attributes[:'merchantCategoryCode']
203
+ end
204
+
205
+ if attributes.has_key?(:'sicCode')
206
+ self.sic_code = attributes[:'sicCode']
207
+ end
208
+
209
+ if attributes.has_key?(:'foodAndConsumerServiceId')
210
+ self.food_and_consumer_service_id = attributes[:'foodAndConsumerServiceId']
211
+ end
212
+
213
+ if attributes.has_key?(:'enableSplitShipment')
214
+ self.enable_split_shipment = attributes[:'enableSplitShipment']
215
+ end
216
+
217
+ if attributes.has_key?(:'enableInterchangeOptimization')
218
+ self.enable_interchange_optimization = attributes[:'enableInterchangeOptimization']
219
+ end
220
+
221
+ if attributes.has_key?(:'visaDelegatedAuthenticationId')
222
+ self.visa_delegated_authentication_id = attributes[:'visaDelegatedAuthenticationId']
223
+ end
224
+
225
+ if attributes.has_key?(:'creditCardRefundLimitPercent')
226
+ self.credit_card_refund_limit_percent = attributes[:'creditCardRefundLimitPercent']
227
+ end
228
+
229
+ if attributes.has_key?(:'businessCenterCreditCardRefundLimitPercent')
230
+ self.business_center_credit_card_refund_limit_percent = attributes[:'businessCenterCreditCardRefundLimitPercent']
231
+ end
232
+
233
+ if attributes.has_key?(:'allowCapturesGreaterThanAuthorizations')
234
+ self.allow_captures_greater_than_authorizations = attributes[:'allowCapturesGreaterThanAuthorizations']
235
+ end
236
+
237
+ if attributes.has_key?(:'enableDuplicateMerchantReferenceNumberBlocking')
238
+ self.enable_duplicate_merchant_reference_number_blocking = attributes[:'enableDuplicateMerchantReferenceNumberBlocking']
239
+ end
240
+
241
+ if attributes.has_key?(:'domesticMerchantId')
242
+ self.domestic_merchant_id = attributes[:'domesticMerchantId']
243
+ end
244
+
245
+ if attributes.has_key?(:'processLevel3Data')
246
+ self.process_level3_data = attributes[:'processLevel3Data']
247
+ end
248
+
249
+ if attributes.has_key?(:'subMerchantId')
250
+ self.sub_merchant_id = attributes[:'subMerchantId']
251
+ end
252
+
253
+ if attributes.has_key?(:'subMerchantBusinessName')
254
+ self.sub_merchant_business_name = attributes[:'subMerchantBusinessName']
255
+ end
256
+
257
+ if attributes.has_key?(:'preferCobadgedSecondaryBrand')
258
+ self.prefer_cobadged_secondary_brand = attributes[:'preferCobadgedSecondaryBrand']
259
+ end
260
+
261
+ if attributes.has_key?(:'merchantDescriptorInformation')
262
+ self.merchant_descriptor_information = attributes[:'merchantDescriptorInformation']
263
+ end
264
+
265
+ if attributes.has_key?(:'governmentControlled')
266
+ self.government_controlled = attributes[:'governmentControlled']
267
+ end
268
+
269
+ if attributes.has_key?(:'dropBillingInfo')
270
+ self.drop_billing_info = attributes[:'dropBillingInfo']
271
+ end
272
+ end
273
+
274
+ # Show invalid properties with the reasons. Usually used together with valid?
275
+ # @return Array for valid properties with the reasons
276
+ def list_invalid_properties
277
+ invalid_properties = Array.new
278
+ invalid_properties
279
+ end
280
+
281
+ # Check to see if the all the properties in the model are valid
282
+ # @return true if the model is valid
283
+ def valid?
284
+ true
285
+ end
286
+
287
+ # Checks equality by comparing each attribute.
288
+ # @param [Object] Object to be compared
289
+ def ==(o)
290
+ return true if self.equal?(o)
291
+ self.class == o.class &&
292
+ processors == o.processors &&
293
+ amex_vendor_code == o.amex_vendor_code &&
294
+ default_auth_type_code == o.default_auth_type_code &&
295
+ master_card_assigned_id == o.master_card_assigned_id &&
296
+ enable_partial_auth == o.enable_partial_auth &&
297
+ merchant_category_code == o.merchant_category_code &&
298
+ sic_code == o.sic_code &&
299
+ food_and_consumer_service_id == o.food_and_consumer_service_id &&
300
+ enable_split_shipment == o.enable_split_shipment &&
301
+ enable_interchange_optimization == o.enable_interchange_optimization &&
302
+ visa_delegated_authentication_id == o.visa_delegated_authentication_id &&
303
+ credit_card_refund_limit_percent == o.credit_card_refund_limit_percent &&
304
+ business_center_credit_card_refund_limit_percent == o.business_center_credit_card_refund_limit_percent &&
305
+ allow_captures_greater_than_authorizations == o.allow_captures_greater_than_authorizations &&
306
+ enable_duplicate_merchant_reference_number_blocking == o.enable_duplicate_merchant_reference_number_blocking &&
307
+ domestic_merchant_id == o.domestic_merchant_id &&
308
+ process_level3_data == o.process_level3_data &&
309
+ sub_merchant_id == o.sub_merchant_id &&
310
+ sub_merchant_business_name == o.sub_merchant_business_name &&
311
+ prefer_cobadged_secondary_brand == o.prefer_cobadged_secondary_brand &&
312
+ merchant_descriptor_information == o.merchant_descriptor_information &&
313
+ government_controlled == o.government_controlled &&
314
+ drop_billing_info == o.drop_billing_info
315
+ end
316
+
317
+ # @see the `==` method
318
+ # @param [Object] Object to be compared
319
+ def eql?(o)
320
+ self == o
321
+ end
322
+
323
+ # Calculates hash code according to all attributes.
324
+ # @return [Fixnum] Hash code
325
+ def hash
326
+ [processors, amex_vendor_code, default_auth_type_code, master_card_assigned_id, enable_partial_auth, merchant_category_code, sic_code, food_and_consumer_service_id, enable_split_shipment, enable_interchange_optimization, visa_delegated_authentication_id, credit_card_refund_limit_percent, business_center_credit_card_refund_limit_percent, allow_captures_greater_than_authorizations, enable_duplicate_merchant_reference_number_blocking, domestic_merchant_id, process_level3_data, sub_merchant_id, sub_merchant_business_name, prefer_cobadged_secondary_brand, merchant_descriptor_information, government_controlled, drop_billing_info].hash
327
+ end
328
+
329
+ # Builds the object from hash
330
+ # @param [Hash] attributes Model attributes in the form of hash
331
+ # @return [Object] Returns the model itself
332
+ def build_from_hash(attributes)
333
+ return nil unless attributes.is_a?(Hash)
334
+ self.class.swagger_types.each_pair do |key, type|
335
+ if type =~ /\AArray<(.*)>/i
336
+ # check to ensure the input is an array given that the the attribute
337
+ # is documented as an array but the input is not
338
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
339
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
340
+ end
341
+ elsif !attributes[self.class.attribute_map[key]].nil?
342
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
343
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
344
+ end
345
+
346
+ self
347
+ end
348
+
349
+ # Deserializes the data based on type
350
+ # @param string type Data type
351
+ # @param string value Value to be deserialized
352
+ # @return [Object] Deserialized data
353
+ def _deserialize(type, value)
354
+ case type.to_sym
355
+ when :DateTime
356
+ DateTime.parse(value)
357
+ when :Date
358
+ Date.parse(value)
359
+ when :String
360
+ value.to_s
361
+ when :Integer
362
+ value.to_i
363
+ when :Float
364
+ value.to_f
365
+ when :BOOLEAN
366
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
367
+ true
368
+ else
369
+ false
370
+ end
371
+ when :Object
372
+ # generic object (usually a Hash), return directly
373
+ value
374
+ when /\AArray<(?<inner_type>.+)>\z/
375
+ inner_type = Regexp.last_match[:inner_type]
376
+ value.map { |v| _deserialize(inner_type, v) }
377
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
378
+ k_type = Regexp.last_match[:k_type]
379
+ v_type = Regexp.last_match[:v_type]
380
+ {}.tap do |hash|
381
+ value.each do |k, v|
382
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
383
+ end
384
+ end
385
+ else # model
386
+ temp_model = CyberSource.const_get(type).new
387
+ temp_model.build_from_hash(value)
388
+ end
389
+ end
390
+
391
+ # Returns the string representation of the object
392
+ # @return [String] String presentation of the object
393
+ def to_s
394
+ to_hash.to_s
395
+ end
396
+
397
+ # to_body is an alias to to_hash (backward compatibility)
398
+ # @return [Hash] Returns the object in the form of hash
399
+ def to_body
400
+ to_hash
401
+ end
402
+
403
+ # Returns the object in the form of hash
404
+ # @return [Hash] Returns the object in the form of hash
405
+ def to_hash
406
+ hash = {}
407
+ self.class.attribute_map.each_pair do |attr, param|
408
+ value = self.send(attr)
409
+ next if value.nil?
410
+ hash[param] = _to_hash(value)
411
+ end
412
+ hash
413
+ end
414
+
415
+ # Outputs non-array value in the form of hash
416
+ # For object, use to_hash. Otherwise, just return the value
417
+ # @param [Object] value Any valid value
418
+ # @return [Hash] Returns the value in the form of hash
419
+ def _to_hash(value)
420
+ if value.is_a?(Array)
421
+ value.compact.map { |v| _to_hash(v) }
422
+ elsif value.is_a?(Hash)
423
+ {}.tap do |hash|
424
+ value.each { |k, v| hash[k] = _to_hash(v) }
425
+ end
426
+ elsif value.respond_to? :to_hash
427
+ value.to_hash
428
+ else
429
+ value
430
+ end
431
+ end
432
+ end
433
+ end