cybersource_rest_client 0.0.83 → 0.0.84

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/AuthenticationSDK/authentication/jwt/JwtToken.rb +46 -27
  3. data/lib/AuthenticationSDK/core/MerchantConfig.rb +82 -48
  4. data/lib/AuthenticationSDK/util/Cache.rb +7 -4
  5. data/lib/AuthenticationSDK/util/Constants.rb +6 -0
  6. data/lib/AuthenticationSDK/util/MLEUtility.rb +9 -0
  7. data/lib/cybersource_rest_client/api/batches_api.rb +1 -1
  8. data/lib/cybersource_rest_client/api/create_new_webhooks_api.rb +14 -22
  9. data/lib/cybersource_rest_client/api/credentials_api.rb +104 -0
  10. data/lib/cybersource_rest_client/api/customer_payment_instrument_api.rb +3 -3
  11. data/lib/cybersource_rest_client/api/enrollment_api.rb +2 -2
  12. data/lib/cybersource_rest_client/api/instructions_api.rb +10 -10
  13. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +3 -3
  14. data/lib/cybersource_rest_client/api/manage_webhooks_api.rb +20 -28
  15. data/lib/cybersource_rest_client/api/network_tokens_api.rb +654 -0
  16. data/lib/cybersource_rest_client/api/plans_api.rb +1 -1
  17. data/lib/cybersource_rest_client/api/subscriptions_api.rb +183 -1
  18. data/lib/cybersource_rest_client/api/subscriptions_follow_ons_api.rb +1 -1
  19. data/lib/cybersource_rest_client/api_client.rb +4 -0
  20. data/lib/cybersource_rest_client/models/account_validations_request.rb +15 -5
  21. data/lib/cybersource_rest_client/models/acpv1instructions_decline_threshold.rb +1 -1
  22. data/lib/cybersource_rest_client/models/acpv1instructions_mandates.rb +1 -1
  23. data/lib/cybersource_rest_client/models/acpv1instructions_recurring_payment_information.rb +1 -1
  24. data/lib/cybersource_rest_client/models/acpv1instructionsinstruction_idconfirmations_processor_information.rb +1 -1
  25. data/lib/cybersource_rest_client/models/acpv1instructionsinstruction_idconfirmations_processor_information_payment_instrument.rb +1 -1
  26. data/lib/cybersource_rest_client/models/acpv1instructionsinstruction_idcredentials_order_information_amount_detail.rb +1 -1
  27. data/lib/cybersource_rest_client/models/acpv1mppcredentials_challenge.rb +369 -0
  28. data/lib/cybersource_rest_client/models/acpv1mppcredentials_challenge_encryption_jwk.rb +336 -0
  29. data/lib/cybersource_rest_client/models/acpv1tokens_assurance_data.rb +7 -7
  30. data/lib/cybersource_rest_client/models/acpv1tokens_authenticated_identities.rb +1 -1
  31. data/lib/cybersource_rest_client/models/acpv1tokens_authentication_context.rb +1 -1
  32. data/lib/cybersource_rest_client/models/acpv1tokens_bill_to.rb +1 -1
  33. data/lib/cybersource_rest_client/models/acpv1tokens_buyer_information.rb +1 -1
  34. data/lib/cybersource_rest_client/models/acpv1tokens_consumer_identity.rb +1 -1
  35. data/lib/cybersource_rest_client/models/acpv1tokens_device_information.rb +1 -1
  36. data/lib/cybersource_rest_client/models/acpv1tokens_enrollment_reference_data.rb +1 -1
  37. data/lib/cybersource_rest_client/models/acpv1tokens_payment_information.rb +1 -1
  38. data/lib/cybersource_rest_client/models/auth_reversal_request.rb +11 -1
  39. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information.rb +32 -6
  40. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank.rb +1 -1
  41. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account.rb +1 -1
  42. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_customer.rb +196 -0
  43. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_instrument_identifier.rb +196 -0
  44. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_payment_instrument.rb +196 -0
  45. data/lib/cybersource_rest_client/models/bavsv1accountvalidations_token_information.rb +208 -0
  46. data/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb +105 -1
  47. data/lib/cybersource_rest_client/models/commerce_solutions_products.rb +15 -5
  48. data/lib/cybersource_rest_client/models/create_credit_request.rb +15 -5
  49. data/lib/cybersource_rest_client/models/get_all_subscriptions_response_order_information_amount_details_surcharge.rb +22 -5
  50. data/lib/cybersource_rest_client/models/get_subscriptions_payments_response.rb +247 -0
  51. data/lib/cybersource_rest_client/models/get_subscriptions_payments_response_1.rb +224 -0
  52. data/lib/cybersource_rest_client/models/{pbl_payment_links_post201_response__links.rb → get_subscriptions_payments_response_1__links.rb} +1 -1
  53. data/lib/cybersource_rest_client/models/get_subscriptions_payments_response__links.rb +209 -0
  54. data/lib/cybersource_rest_client/models/get_subscriptions_payments_response_cycles_completed_count.rb +191 -0
  55. data/lib/cybersource_rest_client/models/get_subscriptions_payments_response_subscription_payment.rb +356 -0
  56. data/lib/cybersource_rest_client/models/inline_response_201_1_tokenized_card.rb +26 -5
  57. data/lib/cybersource_rest_client/models/inline_response_201_4_setups_commerce_solutions.rb +15 -5
  58. data/lib/cybersource_rest_client/models/inline_response_201_4_setups_payments.rb +25 -5
  59. data/lib/cybersource_rest_client/models/inline_response_201_4_setups_risk.rb +15 -5
  60. data/lib/cybersource_rest_client/models/inline_response_201_4_setups_value_added_services.rb +25 -5
  61. data/lib/cybersource_rest_client/models/inline_response_400_10.rb +30 -75
  62. data/lib/cybersource_rest_client/models/{inline_response_400_8_details.rb → inline_response_400_10_details.rb} +1 -1
  63. data/lib/cybersource_rest_client/models/inline_response_400_11.rb +235 -0
  64. data/lib/cybersource_rest_client/models/{inline_response_400_7_details.rb → inline_response_400_11_details.rb} +3 -3
  65. data/lib/cybersource_rest_client/models/inline_response_400_12.rb +281 -0
  66. data/lib/cybersource_rest_client/models/inline_response_400_6.rb +37 -60
  67. data/lib/cybersource_rest_client/models/inline_response_400_7.rb +6 -6
  68. data/lib/cybersource_rest_client/models/inline_response_400_8.rb +58 -36
  69. data/lib/cybersource_rest_client/models/{inline_response_400_6_fields.rb → inline_response_400_8_fields.rb} +1 -1
  70. data/lib/cybersource_rest_client/models/inline_response_400_9.rb +16 -16
  71. data/lib/cybersource_rest_client/models/inline_response_400_9_details.rb +2 -2
  72. data/lib/cybersource_rest_client/models/inline_response_404_3.rb +1 -1
  73. data/lib/cybersource_rest_client/models/inline_response_422_1.rb +1 -1
  74. data/lib/cybersource_rest_client/models/iplv2paymentlinks_order_information_line_items.rb +73 -5
  75. data/lib/cybersource_rest_client/models/mit_reversal_request.rb +11 -1
  76. data/lib/cybersource_rest_client/models/mpp_credentials_request.rb +221 -0
  77. data/lib/cybersource_rest_client/models/mpp_credentials_response200.rb +338 -0
  78. data/lib/cybersource_rest_client/models/patch_customer_payment_instrument_request.rb +1 -1
  79. data/lib/cybersource_rest_client/models/patch_customer_request.rb +1 -1
  80. data/lib/cybersource_rest_client/models/patch_payment_instrument_request.rb +1 -1
  81. data/lib/cybersource_rest_client/models/payment_instrument_list_1__embedded.rb +1 -1
  82. data/lib/cybersource_rest_client/models/payment_instrument_list__embedded.rb +1 -1
  83. data/lib/cybersource_rest_client/models/{payment_instrument_list_1__embedded__embedded.rb → payment_instrument_list__embedded__embedded.rb} +1 -1
  84. data/lib/cybersource_rest_client/models/{payment_instrument_list_1__embedded_payment_instruments.rb → payment_instrument_list__embedded_payment_instruments.rb} +2 -2
  85. data/lib/cybersource_rest_client/models/payments_products.rb +25 -5
  86. data/lib/cybersource_rest_client/models/payments_products_currency_conversion_configuration_information_configurations_processors.rb +14 -2
  87. data/lib/cybersource_rest_client/models/payments_products_microform.rb +199 -0
  88. data/lib/cybersource_rest_client/models/payments_products_microform_configuration_information.rb +199 -0
  89. data/lib/cybersource_rest_client/models/payments_products_microform_configuration_information_configurations.rb +189 -0
  90. data/lib/cybersource_rest_client/models/payments_products_microform_configuration_information_configurations_features.rb +189 -0
  91. data/lib/cybersource_rest_client/models/payments_products_microform_configuration_information_configurations_features_gateway_agnostic.rb +189 -0
  92. data/lib/cybersource_rest_client/models/payments_products_microform_subscription_information.rb +227 -0
  93. data/lib/cybersource_rest_client/models/pbl_payment_links_get200_response.rb +1 -1
  94. data/lib/cybersource_rest_client/models/pbl_payment_links_post201_response.rb +1 -1
  95. data/lib/cybersource_rest_client/models/post_customer_payment_instrument_request.rb +1 -1
  96. data/lib/cybersource_rest_client/models/post_customer_request.rb +1 -1
  97. data/lib/cybersource_rest_client/models/post_payment_instrument_request.rb +1 -1
  98. data/lib/cybersource_rest_client/models/post_tokenized_card_request.rb +15 -5
  99. data/lib/cybersource_rest_client/models/pts_v2_create_billing_agreement_post201_response_agreement_information.rb +80 -1
  100. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response.rb +41 -1
  101. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_merchant_information.rb +196 -0
  102. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_payment_account_information.rb +189 -0
  103. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_payment_information.rb +15 -5
  104. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_payment_information_account_features.rb +196 -0
  105. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_token_information.rb +189 -0
  106. data/lib/cybersource_rest_client/models/pts_v2_modify_billing_agreement_post201_response_agreement_information.rb +35 -1
  107. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_point_of_sale_information.rb +22 -5
  108. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb +1 -1
  109. data/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_order_information_shipping_details.rb +1 -1
  110. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +106 -5
  111. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information_strong_authentication.rb +22 -5
  112. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information.rb +15 -5
  113. data/lib/cybersource_rest_client/models/{pts_v2_payments_post201_response_payment_information_tokenized_card.rb → pts_v2_payments_post201_response_payment_account_information_tokenized_card.rb} +1 -1
  114. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +1 -1
  115. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +18 -1
  116. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +23 -6
  117. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_token_information.rb +15 -5
  118. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_token_information_third_party_token.rb +213 -0
  119. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response.rb +1 -1
  120. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_error_information.rb +1 -1
  121. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_order_information_amount_details.rb +18 -1
  122. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +19 -2
  123. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb +1 -1
  124. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response_processor_information.rb +7 -1
  125. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processor_information.rb +45 -5
  126. data/lib/cybersource_rest_client/models/{pull_funds201_response_processor_information_avs.rb → pts_v2_payouts_post201_response_processor_information_avs.rb} +1 -1
  127. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processor_information_customer.rb +196 -0
  128. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processor_information_electronic_verification_results.rb +281 -0
  129. data/lib/cybersource_rest_client/models/ptsv1pullfundstransfer_buyer_information.rb +196 -0
  130. data/lib/cybersource_rest_client/models/ptsv1pullfundstransfer_order_information_amount_details.rb +1 -1
  131. data/lib/cybersource_rest_client/models/ptsv1pullfundstransfer_processing_information.rb +18 -5
  132. data/lib/cybersource_rest_client/models/ptsv1pushfundstransfer_processing_information.rb +19 -6
  133. data/lib/cybersource_rest_client/models/ptsv2billingagreements_agreement_information.rb +84 -5
  134. data/lib/cybersource_rest_client/models/ptsv2billingagreements_order_information.rb +12 -2
  135. data/lib/cybersource_rest_client/models/ptsv2billingagreements_order_information_amount_details.rb +230 -0
  136. data/lib/cybersource_rest_client/models/{ptsv2intents_order_information_invoice_details.rb → ptsv2billingagreements_order_information_invoice_details.rb} +1 -1
  137. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_bank.rb +15 -5
  138. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_bank_account_alias.rb +207 -0
  139. data/lib/cybersource_rest_client/models/ptsv2billingagreements_processing_information.rb +18 -1
  140. data/lib/cybersource_rest_client/models/ptsv2billingagreementsid_agreement_information.rb +56 -5
  141. data/lib/cybersource_rest_client/models/ptsv2billingagreementsid_processing_information.rb +18 -1
  142. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +35 -5
  143. data/lib/cybersource_rest_client/models/ptsv2credits_token_information.rb +228 -0
  144. data/lib/cybersource_rest_client/models/ptsv2intents_order_information.rb +1 -1
  145. data/lib/cybersource_rest_client/models/ptsv2intentsid_order_information.rb +1 -1
  146. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information_sub_merchant.rb +15 -5
  147. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +16 -5
  148. data/lib/cybersource_rest_client/models/ptsv2payments_order_information.rb +28 -1
  149. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_digital_currency.rb +231 -0
  150. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_shipping_details.rb +23 -6
  151. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +32 -5
  152. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank.rb +15 -5
  153. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank_account_alias.rb +207 -0
  154. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_third_party_token.rb +196 -0
  155. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +18 -1
  156. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +72 -6
  157. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_program_indicators.rb +202 -0
  158. data/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb +56 -5
  159. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +16 -5
  160. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information.rb +16 -5
  161. data/lib/cybersource_rest_client/models/ptsv2payments_token_information.rb +32 -5
  162. data/lib/cybersource_rest_client/models/ptsv2payments_token_information_token_authentication_information.rb +193 -0
  163. data/lib/cybersource_rest_client/models/ptsv2payments_token_information_token_authentication_information_authenticated_identities.rb +252 -0
  164. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_aggregator_information_sub_merchant.rb +15 -5
  165. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_shipping_details.rb +100 -5
  166. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_point_of_sale_information.rb +22 -5
  167. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +18 -1
  168. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processor_information.rb +39 -5
  169. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_order_information.rb +15 -5
  170. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_order_information_shipping_details.rb +196 -0
  171. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information.rb +32 -5
  172. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_device_information.rb +196 -0
  173. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_payment_information.rb +22 -5
  174. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +18 -5
  175. data/lib/cybersource_rest_client/models/pull_funds201_response_processor_information.rb +36 -6
  176. data/lib/cybersource_rest_client/models/pull_funds_request.rb +11 -1
  177. data/lib/cybersource_rest_client/models/push_funds201_response_processor_information.rb +45 -5
  178. data/lib/cybersource_rest_client/models/risk_products.rb +15 -5
  179. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_ship_to.rb +39 -5
  180. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_shipping_details.rb +1 -1
  181. data/lib/cybersource_rest_client/models/tms_card_art.rb +23 -1
  182. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier_bill_to.rb +22 -5
  183. data/lib/cybersource_rest_client/models/tms_tokenized_card_delete_request.rb +189 -0
  184. data/lib/cybersource_rest_client/models/tmsv1paymentinstruments__embedded.rb +190 -0
  185. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card.rb +22 -1
  186. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_card.rb +1 -1
  187. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata.rb +16 -5
  188. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_issuer.rb +41 -8
  189. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_issuer_bank_applications.rb +201 -0
  190. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_issuer_capabilities.rb +257 -0
  191. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_verification_results.rb +202 -0
  192. data/lib/cybersource_rest_client/models/tmsv2customers__embedded.rb +200 -0
  193. data/lib/cybersource_rest_client/models/{tmsv3tokenstoken_idpaymentcredentials_order_information_bill_to.rb → tmsv2tokenizedcards_bill_to.rb} +1 -1
  194. data/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_iddelete_reason.rb +208 -0
  195. data/lib/cybersource_rest_client/models/tmsv3tokenstoken_idpaymentcredentials_order_information.rb +1 -1
  196. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_shipping_details.rb +1 -1
  197. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_sender_information.rb +1 -1
  198. data/lib/cybersource_rest_client/models/ucv1sessions_data.rb +44 -14
  199. data/lib/cybersource_rest_client/models/ucv1sessions_data_aggregator_information.rb +325 -0
  200. data/lib/cybersource_rest_client/models/ucv1sessions_data_aggregator_information_sub_merchant.rb +366 -0
  201. data/lib/cybersource_rest_client/models/ucv1sessions_data_consumer_authentication_information.rb +22 -5
  202. data/lib/cybersource_rest_client/models/ucv1sessions_data_installment_information.rb +196 -0
  203. data/lib/cybersource_rest_client/models/ucv1sessions_data_merchant_information.rb +22 -5
  204. data/lib/cybersource_rest_client/models/ucv1sessions_data_merchant_information_merchant_descriptor.rb +18 -1
  205. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information.rb +16 -6
  206. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information_amount_details.rb +86 -12
  207. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information_invoice_details.rb +242 -0
  208. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information_invoice_details_transaction_advice_addendum.rb +196 -0
  209. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information_line_items.rb +702 -0
  210. data/lib/cybersource_rest_client/models/ucv1sessions_data_order_information_shipping_details.rb +213 -0
  211. data/lib/cybersource_rest_client/models/ucv1sessions_data_processing_information.rb +38 -1
  212. data/lib/cybersource_rest_client/models/ucv1sessions_data_processing_information_bank_transfer_options.rb +196 -0
  213. data/lib/cybersource_rest_client/models/ucv1sessions_data_processing_information_recurring_options.rb +192 -0
  214. data/lib/cybersource_rest_client/models/ucv1sessions_data_recipient_information.rb +107 -53
  215. data/lib/cybersource_rest_client/models/ucv1sessions_data_sender_information.rb +376 -0
  216. data/lib/cybersource_rest_client/models/ucv1sessions_data_sender_information_account.rb +213 -0
  217. data/lib/cybersource_rest_client/models/update_payments.rb +192 -0
  218. data/lib/cybersource_rest_client/models/value_added_services_products.rb +25 -5
  219. data/lib/cybersource_rest_client.rb +71 -12
  220. metadata +78 -19
  221. data/lib/cybersource_rest_client/api/token_api.rb +0 -306
  222. data/lib/cybersource_rest_client/api/tokenized_card_api.rb +0 -371
@@ -15,24 +15,30 @@ module CyberSource
15
15
  class Ucv1sessionsDataMerchantInformation
16
16
  attr_accessor :merchant_descriptor
17
17
 
18
+ # Your government-assigned tax identification number. #### Tax Calculation Required field for value added tax only. Not applicable to U.S. and Canadian taxes. #### CyberSource through VisaNet For CtV processors, the maximum length is 20.
19
+ attr_accessor :vat_registration_number
20
+
18
21
  # Attribute mapping from ruby-style variable name to JSON key.
19
22
  def self.attribute_map
20
23
  {
21
- :'merchant_descriptor' => :'merchantDescriptor'
24
+ :'merchant_descriptor' => :'merchantDescriptor',
25
+ :'vat_registration_number' => :'vatRegistrationNumber'
22
26
  }
23
27
  end
24
28
 
25
29
  # Attribute mapping from JSON key to ruby-style variable name.
26
30
  def self.json_map
27
31
  {
28
- :'merchant_descriptor' => :'merchant_descriptor'
32
+ :'merchant_descriptor' => :'merchant_descriptor',
33
+ :'vat_registration_number' => :'vat_registration_number'
29
34
  }
30
35
  end
31
36
 
32
37
  # Attribute type mapping.
33
38
  def self.swagger_types
34
39
  {
35
- :'merchant_descriptor' => :'Ucv1sessionsDataMerchantInformationMerchantDescriptor'
40
+ :'merchant_descriptor' => :'Ucv1sessionsDataMerchantInformationMerchantDescriptor',
41
+ :'vat_registration_number' => :'String'
36
42
  }
37
43
  end
38
44
 
@@ -47,6 +53,10 @@ module CyberSource
47
53
  if attributes.has_key?(:'merchantDescriptor')
48
54
  self.merchant_descriptor = attributes[:'merchantDescriptor']
49
55
  end
56
+
57
+ if attributes.has_key?(:'vatRegistrationNumber')
58
+ self.vat_registration_number = attributes[:'vatRegistrationNumber']
59
+ end
50
60
  end
51
61
 
52
62
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -62,12 +72,19 @@ module CyberSource
62
72
  true
63
73
  end
64
74
 
75
+ # Custom attribute writer method with validation
76
+ # @param [Object] vat_registration_number Value to be assigned
77
+ def vat_registration_number=(vat_registration_number)
78
+ @vat_registration_number = vat_registration_number
79
+ end
80
+
65
81
  # Checks equality by comparing each attribute.
66
82
  # @param [Object] Object to be compared
67
83
  def ==(o)
68
84
  return true if self.equal?(o)
69
85
  self.class == o.class &&
70
- merchant_descriptor == o.merchant_descriptor
86
+ merchant_descriptor == o.merchant_descriptor &&
87
+ vat_registration_number == o.vat_registration_number
71
88
  end
72
89
 
73
90
  # @see the `==` method
@@ -79,7 +96,7 @@ module CyberSource
79
96
  # Calculates hash code according to all attributes.
80
97
  # @return [Fixnum] Hash code
81
98
  def hash
82
- [merchant_descriptor].hash
99
+ [merchant_descriptor, vat_registration_number].hash
83
100
  end
84
101
 
85
102
  # Builds the object from hash
@@ -19,6 +19,9 @@ module CyberSource
19
19
  # The alternate name of the merchant<br><br> Optional field: This field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per‑transaction basis in the uc/v1/sessions API request.
20
20
  attr_accessor :alternate_name
21
21
 
22
+ # Contact information for the merchant. **Note** These are the maximum data lengths for the following payment processors: - FDCCompass (13) - Paymentech (13)
23
+ attr_accessor :contact
24
+
22
25
  # The locality of the merchant<br><br> Optional field: This field cannot be configured through the Merchant Experience screens in the Business Center, but if required should be provided on a per‑transaction basis in the uc/v1/sessions API request.
23
26
  attr_accessor :locality
24
27
 
@@ -42,6 +45,7 @@ module CyberSource
42
45
  {
43
46
  :'name' => :'name',
44
47
  :'alternate_name' => :'alternateName',
48
+ :'contact' => :'contact',
45
49
  :'locality' => :'locality',
46
50
  :'phone' => :'phone',
47
51
  :'country' => :'country',
@@ -56,6 +60,7 @@ module CyberSource
56
60
  {
57
61
  :'name' => :'name',
58
62
  :'alternate_name' => :'alternate_name',
63
+ :'contact' => :'contact',
59
64
  :'locality' => :'locality',
60
65
  :'phone' => :'phone',
61
66
  :'country' => :'country',
@@ -70,6 +75,7 @@ module CyberSource
70
75
  {
71
76
  :'name' => :'String',
72
77
  :'alternate_name' => :'String',
78
+ :'contact' => :'String',
73
79
  :'locality' => :'String',
74
80
  :'phone' => :'String',
75
81
  :'country' => :'String',
@@ -95,6 +101,10 @@ module CyberSource
95
101
  self.alternate_name = attributes[:'alternateName']
96
102
  end
97
103
 
104
+ if attributes.has_key?(:'contact')
105
+ self.contact = attributes[:'contact']
106
+ end
107
+
98
108
  if attributes.has_key?(:'locality')
99
109
  self.locality = attributes[:'locality']
100
110
  end
@@ -145,6 +155,12 @@ module CyberSource
145
155
  @alternate_name = alternate_name
146
156
  end
147
157
 
158
+ # Custom attribute writer method with validation
159
+ # @param [Object] contact Value to be assigned
160
+ def contact=(contact)
161
+ @contact = contact
162
+ end
163
+
148
164
  # Custom attribute writer method with validation
149
165
  # @param [Object] locality Value to be assigned
150
166
  def locality=(locality)
@@ -188,6 +204,7 @@ module CyberSource
188
204
  self.class == o.class &&
189
205
  name == o.name &&
190
206
  alternate_name == o.alternate_name &&
207
+ contact == o.contact &&
191
208
  locality == o.locality &&
192
209
  phone == o.phone &&
193
210
  country == o.country &&
@@ -205,7 +222,7 @@ module CyberSource
205
222
  # Calculates hash code according to all attributes.
206
223
  # @return [Fixnum] Hash code
207
224
  def hash
208
- [name, alternate_name, locality, phone, country, postal_code, administrative_area, address1].hash
225
+ [name, alternate_name, contact, locality, phone, country, postal_code, administrative_area, address1].hash
209
226
  end
210
227
 
211
228
  # Builds the object from hash
@@ -23,6 +23,8 @@ module CyberSource
23
23
 
24
24
  attr_accessor :invoice_details
25
25
 
26
+ attr_accessor :shipping_details
27
+
26
28
  # Attribute mapping from ruby-style variable name to JSON key.
27
29
  def self.attribute_map
28
30
  {
@@ -30,7 +32,8 @@ module CyberSource
30
32
  :'bill_to' => :'billTo',
31
33
  :'ship_to' => :'shipTo',
32
34
  :'line_items' => :'lineItems',
33
- :'invoice_details' => :'invoiceDetails'
35
+ :'invoice_details' => :'invoiceDetails',
36
+ :'shipping_details' => :'shippingDetails'
34
37
  }
35
38
  end
36
39
 
@@ -41,7 +44,8 @@ module CyberSource
41
44
  :'bill_to' => :'bill_to',
42
45
  :'ship_to' => :'ship_to',
43
46
  :'line_items' => :'line_items',
44
- :'invoice_details' => :'invoice_details'
47
+ :'invoice_details' => :'invoice_details',
48
+ :'shipping_details' => :'shipping_details'
45
49
  }
46
50
  end
47
51
 
@@ -51,8 +55,9 @@ module CyberSource
51
55
  :'amount_details' => :'Ucv1sessionsDataOrderInformationAmountDetails',
52
56
  :'bill_to' => :'Ucv1sessionsDataOrderInformationBillTo',
53
57
  :'ship_to' => :'Upv1capturecontextsDataOrderInformationShipTo',
54
- :'line_items' => :'Array<Upv1capturecontextsDataOrderInformationLineItems>',
55
- :'invoice_details' => :'Upv1capturecontextsDataOrderInformationInvoiceDetails'
58
+ :'line_items' => :'Array<Ucv1sessionsDataOrderInformationLineItems>',
59
+ :'invoice_details' => :'Ucv1sessionsDataOrderInformationInvoiceDetails',
60
+ :'shipping_details' => :'Ucv1sessionsDataOrderInformationShippingDetails'
56
61
  }
57
62
  end
58
63
 
@@ -85,6 +90,10 @@ module CyberSource
85
90
  if attributes.has_key?(:'invoiceDetails')
86
91
  self.invoice_details = attributes[:'invoiceDetails']
87
92
  end
93
+
94
+ if attributes.has_key?(:'shippingDetails')
95
+ self.shipping_details = attributes[:'shippingDetails']
96
+ end
88
97
  end
89
98
 
90
99
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -109,7 +118,8 @@ module CyberSource
109
118
  bill_to == o.bill_to &&
110
119
  ship_to == o.ship_to &&
111
120
  line_items == o.line_items &&
112
- invoice_details == o.invoice_details
121
+ invoice_details == o.invoice_details &&
122
+ shipping_details == o.shipping_details
113
123
  end
114
124
 
115
125
  # @see the `==` method
@@ -121,7 +131,7 @@ module CyberSource
121
131
  # Calculates hash code according to all attributes.
122
132
  # @return [Fixnum] Hash code
123
133
  def hash
124
- [amount_details, bill_to, ship_to, line_items, invoice_details].hash
134
+ [amount_details, bill_to, ship_to, line_items, invoice_details, shipping_details].hash
125
135
  end
126
136
 
127
137
  # Builds the object from hash
@@ -16,14 +16,26 @@ module CyberSource
16
16
  # This field defines the total order amount.
17
17
  attr_accessor :total_amount
18
18
 
19
+ # Total freight or shipping and handling charges for the order. When you include this field in your request, you must also include the **totalAmount** field.
20
+ attr_accessor :freight_amount
21
+
22
+ # Total charges for any import or export duties included in the order.
23
+ attr_accessor :duty_amount
24
+
25
+ # Total discount amount applied to the order.
26
+ attr_accessor :discount_amount
27
+
28
+ # Flag that indicates how the merchant manages discounts. Possible values: - **0**: no invoice level discount included - **1**: tax calculated on the postdiscount invoice total - **2**: tax calculated on the prediscount invoice total
29
+ attr_accessor :tax_applied_after_discount
30
+
31
+ # Flag that indicates how you calculate tax. Possible values: - **0**: net prices with tax calculated at line item level - **1**: net prices with tax calculated at invoice level - **2**: gross prices with tax provided at line item level - **3**: gross prices with tax provided at invoice level - **4**: no tax applies on the invoice for the transaction
32
+ attr_accessor :tax_applied_level
33
+
19
34
  # This field defines the currency applicable to the order.
20
35
  attr_accessor :currency
21
36
 
22
37
  attr_accessor :surcharge
23
38
 
24
- # This field defines the discount amount applicable to the order.
25
- attr_accessor :discount_amount
26
-
27
39
  # This field defines the sub total amount applicable to the order.
28
40
  attr_accessor :sub_total_amount
29
41
 
@@ -39,9 +51,13 @@ module CyberSource
39
51
  def self.attribute_map
40
52
  {
41
53
  :'total_amount' => :'totalAmount',
54
+ :'freight_amount' => :'freightAmount',
55
+ :'duty_amount' => :'dutyAmount',
56
+ :'discount_amount' => :'discountAmount',
57
+ :'tax_applied_after_discount' => :'taxAppliedAfterDiscount',
58
+ :'tax_applied_level' => :'taxAppliedLevel',
42
59
  :'currency' => :'currency',
43
60
  :'surcharge' => :'surcharge',
44
- :'discount_amount' => :'discountAmount',
45
61
  :'sub_total_amount' => :'subTotalAmount',
46
62
  :'service_fee_amount' => :'serviceFeeAmount',
47
63
  :'tax_amount' => :'taxAmount',
@@ -53,9 +69,13 @@ module CyberSource
53
69
  def self.json_map
54
70
  {
55
71
  :'total_amount' => :'total_amount',
72
+ :'freight_amount' => :'freight_amount',
73
+ :'duty_amount' => :'duty_amount',
74
+ :'discount_amount' => :'discount_amount',
75
+ :'tax_applied_after_discount' => :'tax_applied_after_discount',
76
+ :'tax_applied_level' => :'tax_applied_level',
56
77
  :'currency' => :'currency',
57
78
  :'surcharge' => :'surcharge',
58
- :'discount_amount' => :'discount_amount',
59
79
  :'sub_total_amount' => :'sub_total_amount',
60
80
  :'service_fee_amount' => :'service_fee_amount',
61
81
  :'tax_amount' => :'tax_amount',
@@ -67,9 +87,13 @@ module CyberSource
67
87
  def self.swagger_types
68
88
  {
69
89
  :'total_amount' => :'String',
90
+ :'freight_amount' => :'String',
91
+ :'duty_amount' => :'String',
92
+ :'discount_amount' => :'String',
93
+ :'tax_applied_after_discount' => :'String',
94
+ :'tax_applied_level' => :'String',
70
95
  :'currency' => :'String',
71
96
  :'surcharge' => :'Upv1capturecontextsDataOrderInformationAmountDetailsSurcharge',
72
- :'discount_amount' => :'String',
73
97
  :'sub_total_amount' => :'String',
74
98
  :'service_fee_amount' => :'String',
75
99
  :'tax_amount' => :'String',
@@ -89,18 +113,34 @@ module CyberSource
89
113
  self.total_amount = attributes[:'totalAmount']
90
114
  end
91
115
 
92
- if attributes.has_key?(:'currency')
93
- self.currency = attributes[:'currency']
116
+ if attributes.has_key?(:'freightAmount')
117
+ self.freight_amount = attributes[:'freightAmount']
94
118
  end
95
119
 
96
- if attributes.has_key?(:'surcharge')
97
- self.surcharge = attributes[:'surcharge']
120
+ if attributes.has_key?(:'dutyAmount')
121
+ self.duty_amount = attributes[:'dutyAmount']
98
122
  end
99
123
 
100
124
  if attributes.has_key?(:'discountAmount')
101
125
  self.discount_amount = attributes[:'discountAmount']
102
126
  end
103
127
 
128
+ if attributes.has_key?(:'taxAppliedAfterDiscount')
129
+ self.tax_applied_after_discount = attributes[:'taxAppliedAfterDiscount']
130
+ end
131
+
132
+ if attributes.has_key?(:'taxAppliedLevel')
133
+ self.tax_applied_level = attributes[:'taxAppliedLevel']
134
+ end
135
+
136
+ if attributes.has_key?(:'currency')
137
+ self.currency = attributes[:'currency']
138
+ end
139
+
140
+ if attributes.has_key?(:'surcharge')
141
+ self.surcharge = attributes[:'surcharge']
142
+ end
143
+
104
144
  if attributes.has_key?(:'subTotalAmount')
105
145
  self.sub_total_amount = attributes[:'subTotalAmount']
106
146
  end
@@ -139,6 +179,36 @@ module CyberSource
139
179
  @total_amount = total_amount
140
180
  end
141
181
 
182
+ # Custom attribute writer method with validation
183
+ # @param [Object] freight_amount Value to be assigned
184
+ def freight_amount=(freight_amount)
185
+ @freight_amount = freight_amount
186
+ end
187
+
188
+ # Custom attribute writer method with validation
189
+ # @param [Object] duty_amount Value to be assigned
190
+ def duty_amount=(duty_amount)
191
+ @duty_amount = duty_amount
192
+ end
193
+
194
+ # Custom attribute writer method with validation
195
+ # @param [Object] discount_amount Value to be assigned
196
+ def discount_amount=(discount_amount)
197
+ @discount_amount = discount_amount
198
+ end
199
+
200
+ # Custom attribute writer method with validation
201
+ # @param [Object] tax_applied_after_discount Value to be assigned
202
+ def tax_applied_after_discount=(tax_applied_after_discount)
203
+ @tax_applied_after_discount = tax_applied_after_discount
204
+ end
205
+
206
+ # Custom attribute writer method with validation
207
+ # @param [Object] tax_applied_level Value to be assigned
208
+ def tax_applied_level=(tax_applied_level)
209
+ @tax_applied_level = tax_applied_level
210
+ end
211
+
142
212
  # Custom attribute writer method with validation
143
213
  # @param [Object] currency Value to be assigned
144
214
  def currency=(currency)
@@ -151,9 +221,13 @@ module CyberSource
151
221
  return true if self.equal?(o)
152
222
  self.class == o.class &&
153
223
  total_amount == o.total_amount &&
224
+ freight_amount == o.freight_amount &&
225
+ duty_amount == o.duty_amount &&
226
+ discount_amount == o.discount_amount &&
227
+ tax_applied_after_discount == o.tax_applied_after_discount &&
228
+ tax_applied_level == o.tax_applied_level &&
154
229
  currency == o.currency &&
155
230
  surcharge == o.surcharge &&
156
- discount_amount == o.discount_amount &&
157
231
  sub_total_amount == o.sub_total_amount &&
158
232
  service_fee_amount == o.service_fee_amount &&
159
233
  tax_amount == o.tax_amount &&
@@ -169,7 +243,7 @@ module CyberSource
169
243
  # Calculates hash code according to all attributes.
170
244
  # @return [Fixnum] Hash code
171
245
  def hash
172
- [total_amount, currency, surcharge, discount_amount, sub_total_amount, service_fee_amount, tax_amount, tax_details].hash
246
+ [total_amount, freight_amount, duty_amount, discount_amount, tax_applied_after_discount, tax_applied_level, currency, surcharge, sub_total_amount, service_fee_amount, tax_amount, tax_details].hash
173
247
  end
174
248
 
175
249
  # Builds the object from hash
@@ -0,0 +1,242 @@
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 Ucv1sessionsDataOrderInformationInvoiceDetails
16
+ # VAT invoice number associated with the transaction.
17
+ attr_accessor :vat_invoice_reference_number
18
+
19
+ attr_accessor :transaction_advice_addendum
20
+
21
+ # Invoice number
22
+ attr_accessor :invoice_number
23
+
24
+ # Product description
25
+ attr_accessor :product_description
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'vat_invoice_reference_number' => :'vatInvoiceReferenceNumber',
31
+ :'transaction_advice_addendum' => :'transactionAdviceAddendum',
32
+ :'invoice_number' => :'invoiceNumber',
33
+ :'product_description' => :'productDescription'
34
+ }
35
+ end
36
+
37
+ # Attribute mapping from JSON key to ruby-style variable name.
38
+ def self.json_map
39
+ {
40
+ :'vat_invoice_reference_number' => :'vat_invoice_reference_number',
41
+ :'transaction_advice_addendum' => :'transaction_advice_addendum',
42
+ :'invoice_number' => :'invoice_number',
43
+ :'product_description' => :'product_description'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.swagger_types
49
+ {
50
+ :'vat_invoice_reference_number' => :'String',
51
+ :'transaction_advice_addendum' => :'Array<Ucv1sessionsDataOrderInformationInvoiceDetailsTransactionAdviceAddendum>',
52
+ :'invoice_number' => :'String',
53
+ :'product_description' => :'String'
54
+ }
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ return unless attributes.is_a?(Hash)
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
64
+
65
+ if attributes.has_key?(:'vatInvoiceReferenceNumber')
66
+ self.vat_invoice_reference_number = attributes[:'vatInvoiceReferenceNumber']
67
+ end
68
+
69
+ if attributes.has_key?(:'transactionAdviceAddendum')
70
+ if (value = attributes[:'transactionAdviceAddendum']).is_a?(Array)
71
+ self.transaction_advice_addendum = value
72
+ end
73
+ end
74
+
75
+ if attributes.has_key?(:'invoiceNumber')
76
+ self.invoice_number = attributes[:'invoiceNumber']
77
+ end
78
+
79
+ if attributes.has_key?(:'productDescription')
80
+ self.product_description = attributes[:'productDescription']
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ invalid_properties = Array.new
88
+ invalid_properties
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ def valid?
94
+ true
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param [Object] vat_invoice_reference_number Value to be assigned
99
+ def vat_invoice_reference_number=(vat_invoice_reference_number)
100
+ @vat_invoice_reference_number = vat_invoice_reference_number
101
+ end
102
+
103
+ # Custom attribute writer method with validation
104
+ # @param [Object] invoice_number Value to be assigned
105
+ def invoice_number=(invoice_number)
106
+ @invoice_number = invoice_number
107
+ end
108
+
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] product_description Value to be assigned
111
+ def product_description=(product_description)
112
+ @product_description = product_description
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ vat_invoice_reference_number == o.vat_invoice_reference_number &&
121
+ transaction_advice_addendum == o.transaction_advice_addendum &&
122
+ invoice_number == o.invoice_number &&
123
+ product_description == o.product_description
124
+ end
125
+
126
+ # @see the `==` method
127
+ # @param [Object] Object to be compared
128
+ def eql?(o)
129
+ self == o
130
+ end
131
+
132
+ # Calculates hash code according to all attributes.
133
+ # @return [Fixnum] Hash code
134
+ def hash
135
+ [vat_invoice_reference_number, transaction_advice_addendum, invoice_number, product_description].hash
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def build_from_hash(attributes)
142
+ return nil unless attributes.is_a?(Hash)
143
+ self.class.swagger_types.each_pair do |key, type|
144
+ if type =~ /\AArray<(.*)>/i
145
+ # check to ensure the input is an array given that the the attribute
146
+ # is documented as an array but the input is not
147
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
148
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
149
+ end
150
+ elsif !attributes[self.class.attribute_map[key]].nil?
151
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
152
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
153
+ end
154
+
155
+ self
156
+ end
157
+
158
+ # Deserializes the data based on type
159
+ # @param string type Data type
160
+ # @param string value Value to be deserialized
161
+ # @return [Object] Deserialized data
162
+ def _deserialize(type, value)
163
+ case type.to_sym
164
+ when :DateTime
165
+ DateTime.parse(value)
166
+ when :Date
167
+ Date.parse(value)
168
+ when :String
169
+ value.to_s
170
+ when :Integer
171
+ value.to_i
172
+ when :Float
173
+ value.to_f
174
+ when :BOOLEAN
175
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
176
+ true
177
+ else
178
+ false
179
+ end
180
+ when :Object
181
+ # generic object (usually a Hash), return directly
182
+ value
183
+ when /\AArray<(?<inner_type>.+)>\z/
184
+ inner_type = Regexp.last_match[:inner_type]
185
+ value.map { |v| _deserialize(inner_type, v) }
186
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
187
+ k_type = Regexp.last_match[:k_type]
188
+ v_type = Regexp.last_match[:v_type]
189
+ {}.tap do |hash|
190
+ value.each do |k, v|
191
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
192
+ end
193
+ end
194
+ else # model
195
+ temp_model = CyberSource.const_get(type).new
196
+ temp_model.build_from_hash(value)
197
+ end
198
+ end
199
+
200
+ # Returns the string representation of the object
201
+ # @return [String] String presentation of the object
202
+ def to_s
203
+ to_hash.to_s
204
+ end
205
+
206
+ # to_body is an alias to to_hash (backward compatibility)
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_body
209
+ to_hash
210
+ end
211
+
212
+ # Returns the object in the form of hash
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_hash
215
+ hash = {}
216
+ self.class.attribute_map.each_pair do |attr, param|
217
+ value = self.send(attr)
218
+ next if value.nil?
219
+ hash[param] = _to_hash(value)
220
+ end
221
+ hash
222
+ end
223
+
224
+ # Outputs non-array value in the form of hash
225
+ # For object, use to_hash. Otherwise, just return the value
226
+ # @param [Object] value Any valid value
227
+ # @return [Hash] Returns the value in the form of hash
228
+ def _to_hash(value)
229
+ if value.is_a?(Array)
230
+ value.compact.map { |v| _to_hash(v) }
231
+ elsif value.is_a?(Hash)
232
+ {}.tap do |hash|
233
+ value.each { |k, v| hash[k] = _to_hash(v) }
234
+ end
235
+ elsif value.respond_to? :to_hash
236
+ value.to_hash
237
+ else
238
+ value
239
+ end
240
+ end
241
+ end
242
+ end