cybersource_rest_client 0.0.75 → 0.0.77

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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/authentication/jwt/JwtToken.rb +6 -17
  3. data/lib/AuthenticationSDK/core/MerchantConfig.rb +132 -54
  4. data/lib/AuthenticationSDK/util/Cache.rb +135 -30
  5. data/lib/AuthenticationSDK/util/CacheValue.rb +18 -0
  6. data/lib/AuthenticationSDK/util/CertificateUtility.rb +124 -0
  7. data/lib/AuthenticationSDK/util/Constants.rb +6 -0
  8. data/lib/AuthenticationSDK/util/JWEUtility.rb +1 -2
  9. data/lib/AuthenticationSDK/util/MLEUtility.rb +26 -35
  10. data/lib/AuthenticationSDK/util/Utility.rb +1 -16
  11. data/lib/cybersource_rest_client/api/batches_api.rb +17 -17
  12. data/lib/cybersource_rest_client/api/billing_agreements_api.rb +6 -6
  13. data/lib/cybersource_rest_client/api/bin_lookup_api.rb +2 -2
  14. data/lib/cybersource_rest_client/api/capture_api.rb +2 -2
  15. data/lib/cybersource_rest_client/api/chargeback_details_api.rb +2 -2
  16. data/lib/cybersource_rest_client/api/chargeback_summaries_api.rb +2 -2
  17. data/lib/cybersource_rest_client/api/conversion_details_api.rb +2 -2
  18. data/lib/cybersource_rest_client/api/create_new_webhooks_api.rb +6 -6
  19. data/lib/cybersource_rest_client/api/credit_api.rb +2 -2
  20. data/lib/cybersource_rest_client/api/customer_api.rb +8 -8
  21. data/lib/cybersource_rest_client/api/customer_payment_instrument_api.rb +10 -10
  22. data/lib/cybersource_rest_client/api/customer_shipping_address_api.rb +10 -10
  23. data/lib/cybersource_rest_client/api/decision_manager_api.rb +10 -10
  24. data/lib/cybersource_rest_client/api/device_de_association_api.rb +7 -7
  25. data/lib/cybersource_rest_client/api/device_search_api.rb +10 -10
  26. data/lib/cybersource_rest_client/api/download_dtd_api.rb +2 -2
  27. data/lib/cybersource_rest_client/api/download_xsd_api.rb +2 -2
  28. data/lib/cybersource_rest_client/api/emv_tag_details_api.rb +4 -4
  29. data/lib/cybersource_rest_client/api/flex_api_api.rb +2 -2
  30. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +12 -12
  31. data/lib/cybersource_rest_client/api/interchange_clearing_level_details_api.rb +2 -2
  32. data/lib/cybersource_rest_client/api/invoice_settings_api.rb +4 -4
  33. data/lib/cybersource_rest_client/api/invoices_api.rb +87 -12
  34. data/lib/cybersource_rest_client/api/manage_webhooks_api.rb +18 -17
  35. data/lib/cybersource_rest_client/api/merchant_boarding_api.rb +4 -4
  36. data/lib/cybersource_rest_client/api/microform_integration_api.rb +2 -2
  37. data/lib/cybersource_rest_client/api/net_fundings_api.rb +2 -2
  38. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +2 -2
  39. data/lib/cybersource_rest_client/api/orders_api.rb +4 -4
  40. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +6 -6
  41. data/lib/cybersource_rest_client/api/payment_batch_summaries_api.rb +2 -2
  42. data/lib/cybersource_rest_client/api/payment_instrument_api.rb +8 -8
  43. data/lib/cybersource_rest_client/api/payment_links_api.rb +12 -12
  44. data/lib/cybersource_rest_client/api/payment_tokens_api.rb +2 -2
  45. data/lib/cybersource_rest_client/api/payments_api.rb +12 -12
  46. data/lib/cybersource_rest_client/api/payouts_api.rb +2 -2
  47. data/lib/cybersource_rest_client/api/plans_api.rb +16 -16
  48. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +2 -2
  49. data/lib/cybersource_rest_client/api/push_funds_api.rb +2 -2
  50. data/lib/cybersource_rest_client/api/refund_api.rb +4 -4
  51. data/lib/cybersource_rest_client/api/report_definitions_api.rb +4 -4
  52. data/lib/cybersource_rest_client/api/report_downloads_api.rb +2 -2
  53. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +10 -10
  54. data/lib/cybersource_rest_client/api/reports_api.rb +6 -6
  55. data/lib/cybersource_rest_client/api/retrieval_details_api.rb +2 -2
  56. data/lib/cybersource_rest_client/api/retrieval_summaries_api.rb +2 -2
  57. data/lib/cybersource_rest_client/api/reversal_api.rb +4 -4
  58. data/lib/cybersource_rest_client/api/search_transactions_api.rb +4 -4
  59. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +4 -4
  60. data/lib/cybersource_rest_client/api/subscriptions_api.rb +16 -16
  61. data/lib/cybersource_rest_client/api/subscriptions_follow_ons_api.rb +4 -4
  62. data/lib/cybersource_rest_client/api/taxes_api.rb +4 -4
  63. data/lib/cybersource_rest_client/api/token_api.rb +4 -4
  64. data/lib/cybersource_rest_client/api/tokenized_card_api.rb +6 -6
  65. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +8 -8
  66. data/lib/cybersource_rest_client/api/transaction_details_api.rb +2 -2
  67. data/lib/cybersource_rest_client/api/transient_token_data_api.rb +4 -4
  68. data/lib/cybersource_rest_client/api/unified_checkout_capture_context_api.rb +2 -2
  69. data/lib/cybersource_rest_client/api/user_management_api.rb +2 -2
  70. data/lib/cybersource_rest_client/api/user_management_search_api.rb +2 -2
  71. data/lib/cybersource_rest_client/api/verification_api.rb +4 -4
  72. data/lib/cybersource_rest_client/api/void_api.rb +10 -10
  73. data/lib/cybersource_rest_client/api_client.rb +3 -1
  74. data/lib/cybersource_rest_client/ethon_extensions.rb +38 -0
  75. data/lib/cybersource_rest_client/models/create_order_request.rb +269 -269
  76. data/lib/cybersource_rest_client/models/create_webhook.rb +16 -3
  77. data/lib/cybersource_rest_client/models/inline_response_200_10.rb +47 -49
  78. data/lib/cybersource_rest_client/models/{inline_response_200_8__links.rb → inline_response_200_10__links.rb} +18 -17
  79. data/lib/cybersource_rest_client/models/{inline_response_200_9__links_report.rb → inline_response_200_10__links_report.rb} +1 -1
  80. data/lib/cybersource_rest_client/models/{inline_response_200_9_billing.rb → inline_response_200_10_billing.rb} +1 -1
  81. data/lib/cybersource_rest_client/models/inline_response_200_11.rb +292 -0
  82. data/lib/cybersource_rest_client/models/{inline_response_200_10_records.rb → inline_response_200_11_records.rb} +3 -3
  83. data/lib/cybersource_rest_client/models/{inline_response_200_10_response_record.rb → inline_response_200_11_response_record.rb} +2 -2
  84. data/lib/cybersource_rest_client/models/{inline_response_200_10_response_record_additional_updates.rb → inline_response_200_11_response_record_additional_updates.rb} +1 -1
  85. data/lib/cybersource_rest_client/models/{inline_response_200_10_source_record.rb → inline_response_200_11_source_record.rb} +1 -1
  86. data/lib/cybersource_rest_client/models/inline_response_200_2.rb +253 -253
  87. data/lib/cybersource_rest_client/models/inline_response_200_4.rb +12 -10
  88. data/lib/cybersource_rest_client/models/inline_response_200_5.rb +129 -51
  89. data/lib/cybersource_rest_client/models/inline_response_200_6.rb +55 -10
  90. data/lib/cybersource_rest_client/models/{inline_response_200_5_devices.rb → inline_response_200_6_devices.rb} +1 -1
  91. data/lib/cybersource_rest_client/models/inline_response_200_7.rb +10 -55
  92. data/lib/cybersource_rest_client/models/inline_response_200_8.rb +33 -37
  93. data/lib/cybersource_rest_client/models/{inline_response_200_7_devices.rb → inline_response_200_8_devices.rb} +2 -2
  94. data/lib/cybersource_rest_client/models/{inline_response_200_7_payment_processor_to_terminal_map.rb → inline_response_200_8_payment_processor_to_terminal_map.rb} +1 -1
  95. data/lib/cybersource_rest_client/models/inline_response_200_9.rb +47 -86
  96. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded.rb → inline_response_200_9__embedded.rb} +2 -2
  97. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded__links.rb → inline_response_200_9__embedded__links.rb} +2 -2
  98. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded__links_reports.rb → inline_response_200_9__embedded__links_reports.rb} +1 -1
  99. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded_batches.rb → inline_response_200_9__embedded_batches.rb} +3 -3
  100. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded_totals.rb → inline_response_200_9__embedded_totals.rb} +1 -1
  101. data/lib/cybersource_rest_client/models/inline_response_200_9__links.rb +16 -17
  102. data/lib/cybersource_rest_client/models/inline_response_201.rb +227 -227
  103. data/lib/cybersource_rest_client/models/inline_response_201_1.rb +218 -218
  104. data/lib/cybersource_rest_client/models/inline_response_201_2.rb +248 -248
  105. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information.rb +216 -216
  106. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb +213 -213
  107. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb +417 -417
  108. data/lib/cybersource_rest_client/models/inline_response_201_3.rb +281 -281
  109. data/lib/cybersource_rest_client/models/inline_response_201_3_integration_information.rb +192 -192
  110. data/lib/cybersource_rest_client/models/inline_response_201_3_integration_information_tenant_configurations.rb +253 -253
  111. data/lib/cybersource_rest_client/models/inline_response_201_3_organization_information.rb +217 -217
  112. data/lib/cybersource_rest_client/models/inline_response_201_3_product_information_setups.rb +214 -214
  113. data/lib/cybersource_rest_client/models/inline_response_201_3_registration_information.rb +222 -222
  114. data/lib/cybersource_rest_client/models/inline_response_201_3_setups.rb +219 -219
  115. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_commerce_solutions.rb +209 -209
  116. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments.rb +369 -369
  117. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_alternative_payment_methods.rb +221 -221
  118. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_alternative_payment_methods_configuration_status.rb +200 -200
  119. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing.rb +199 -199
  120. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing_configuration_status.rb +255 -255
  121. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing_subscription_status.rb +234 -234
  122. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_digital_payments.rb +189 -189
  123. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_risk.rb +199 -199
  124. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_value_added_services.rb +209 -209
  125. data/lib/cybersource_rest_client/models/inline_response_201_4.rb +222 -222
  126. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information.rb +300 -300
  127. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information_error_information.rb +202 -202
  128. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information_error_information_details.rb +201 -201
  129. data/lib/cybersource_rest_client/models/inline_response_201_5.rb +314 -312
  130. data/lib/cybersource_rest_client/models/inline_response_201_6.rb +277 -277
  131. data/lib/cybersource_rest_client/models/inline_response_201_6_payloads.rb +189 -189
  132. data/lib/cybersource_rest_client/models/inline_response_201_6_payloads_test_payload.rb +190 -190
  133. data/lib/cybersource_rest_client/models/inline_response_201_7.rb +202 -202
  134. data/lib/cybersource_rest_client/models/inline_response_201_order_information.rb +189 -189
  135. data/lib/cybersource_rest_client/models/inline_response_201_order_information_ship_to.rb +315 -315
  136. data/lib/cybersource_rest_client/models/inline_response_201_payment_information.rb +199 -199
  137. data/lib/cybersource_rest_client/models/inline_response_201_payment_information_e_wallet.rb +196 -196
  138. data/lib/cybersource_rest_client/models/inline_response_201_payment_information_tokenized_payment_method.rb +213 -213
  139. data/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.rb +18 -5
  140. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_invoice_information.rb +18 -5
  141. data/lib/cybersource_rest_client/models/{notificationsubscriptionsv2webhooks_security_policy_1_config.rb → invoicing_v2_invoices_post201_response_invoice_information_custom_labels.rb} +57 -34
  142. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_publish200_response.rb +268 -0
  143. data/lib/cybersource_rest_client/models/invoicingv2invoice_settings_invoice_settings_information.rb +18 -5
  144. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_retry_policy.rb +2 -0
  145. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy.rb +1 -1
  146. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy_config.rb +16 -17
  147. data/lib/cybersource_rest_client/models/{notificationsubscriptionsv2webhooks_security_policy_1_config_additional_config.rb → notificationsubscriptionsv2webhooks_security_policy_config_additional_config.rb} +1 -1
  148. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +609 -609
  149. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information_card.rb +269 -269
  150. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +364 -364
  151. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +309 -309
  152. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_payment_method.rb +213 -213
  153. data/lib/cybersource_rest_client/models/pts_v2_retrieve_payment_token_get400_response.rb +252 -252
  154. data/lib/cybersource_rest_client/models/pts_v2_retrieve_payment_token_get502_response.rb +240 -240
  155. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_card.rb +258 -258
  156. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_tokenized_card.rb +275 -275
  157. data/lib/cybersource_rest_client/models/ptsv2intents_event_information.rb +212 -212
  158. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_ship_to.rb +354 -354
  159. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information.rb +220 -220
  160. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_e_wallet.rb +196 -196
  161. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb +241 -241
  162. data/lib/cybersource_rest_client/models/ptsv2intents_processing_information.rb +351 -351
  163. data/lib/cybersource_rest_client/models/ptsv2intents_recipient_information.rb +245 -245
  164. data/lib/cybersource_rest_client/models/ptsv2intents_sender_information.rb +277 -277
  165. data/lib/cybersource_rest_client/models/ptsv2intents_sender_information_account.rb +190 -190
  166. data/lib/cybersource_rest_client/models/ptsv2intents_travel_information.rb +211 -211
  167. data/lib/cybersource_rest_client/models/ptsv2intents_travel_information_agency.rb +245 -245
  168. data/lib/cybersource_rest_client/models/ptsv2intentsid_payment_information.rb +189 -189
  169. data/lib/cybersource_rest_client/models/ptsv2paymentreferences_order_information_amount_details.rb +417 -417
  170. data/lib/cybersource_rest_client/models/ptsv2paymentreferences_payment_information_card.rb +275 -275
  171. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +461 -433
  172. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +668 -668
  173. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +716 -716
  174. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +356 -356
  175. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +445 -445
  176. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_payment_type_method.rb +1 -1
  177. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +377 -377
  178. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_payment_method.rb +196 -196
  179. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +604 -604
  180. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information_payment_type_method.rb +1 -1
  181. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +377 -377
  182. data/lib/cybersource_rest_client/models/ptsv2paymenttokens_payment_information.rb +199 -199
  183. data/lib/cybersource_rest_client/models/ptsv2paymenttokens_processing_information.rb +192 -192
  184. data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +258 -258
  185. data/lib/cybersource_rest_client/models/request.rb +199 -199
  186. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_card.rb +241 -241
  187. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +258 -258
  188. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +351 -351
  189. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_card.rb +268 -268
  190. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +299 -299
  191. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_card.rb +259 -259
  192. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +259 -259
  193. data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information_card.rb +224 -224
  194. data/lib/cybersource_rest_client/models/tms_bin_lookup_issuer_information.rb +264 -264
  195. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_card.rb +277 -277
  196. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_card_brands.rb +213 -213
  197. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb +430 -430
  198. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +11 -1
  199. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_bank_account_validation.rb +211 -0
  200. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_brands.rb +201 -201
  201. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +365 -365
  202. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +16 -5
  203. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +15 -5
  204. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +218 -218
  205. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processor_information.rb +245 -245
  206. data/lib/cybersource_rest_client/models/update_order_request.rb +229 -229
  207. data/lib/cybersource_rest_client/models/update_webhook.rb +19 -19
  208. data/lib/cybersource_rest_client.rb +20 -18
  209. metadata +25 -20
  210. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy_1.rb +0 -201
@@ -1,668 +1,668 @@
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 Ptsv2paymentsOrderInformationAmountDetails
16
- # Amount being charged as gift wrap fee.
17
- attr_accessor :gift_wrap_amount
18
-
19
- # Invoice amount. The invoice amount issued by the Merchant to the Cardholder, which includes VAT (excluding items such as TIPS or CASHBACK). For transactions that do not have applicable Benefit Laws, the field may be entered as zeros. This field is only applicable for Uruguay market. Example: 100.00 Uruguay The value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR9 - Position: 7-18 - Field: Invoice Amount
20
- attr_accessor :invoice_amount
21
-
22
- # Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit Amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. #### DCC for First Data Not used.
23
- attr_accessor :total_amount
24
-
25
- # Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request. When there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request. Note The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request.
26
- attr_accessor :sub_total_amount
27
-
28
- # Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
29
- attr_accessor :currency
30
-
31
- # Total discount amount applied to the order.
32
- attr_accessor :discount_amount
33
-
34
- # Total charges for any import or export duties included in the order.
35
- attr_accessor :duty_amount
36
-
37
- # Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant. When your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not submit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the issuer has chargeback rights for the excess amount. Used by **Capture** Optional field. #### CyberSource through VisaNet Restaurant data is supported only on CyberSource through VisaNet when card is present.
38
- attr_accessor :gratuity_amount
39
-
40
- # Total tax amount for all the items in the order.
41
- attr_accessor :tax_amount
42
-
43
- # Flag that indicates whether a national tax is included in the order total. Possible values: - **0**: national tax not included - **1**: national tax included
44
- attr_accessor :national_tax_included
45
-
46
- # 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
47
- attr_accessor :tax_applied_after_discount
48
-
49
- # 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
50
- attr_accessor :tax_applied_level
51
-
52
- # For tax amounts that can be categorized as one tax type. This field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field. Possible values: - **056**: sales tax (U.S only) - **TX~**: all taxes (Canada only) Note ~ = space.
53
- attr_accessor :tax_type_code
54
-
55
- # 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.
56
- attr_accessor :freight_amount
57
-
58
- # Set this field to the converted amount that was returned by the DCC provider.
59
- attr_accessor :foreign_amount
60
-
61
- # Set this field to the converted amount that was returned by the DCC provider.
62
- attr_accessor :foreign_currency
63
-
64
- # Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.
65
- attr_accessor :exchange_rate
66
-
67
- # Time stamp for the exchange rate. This value is returned by the DCC service. Format: `YYYYMMDD~HH:MM` where ~ denotes a space.
68
- attr_accessor :exchange_rate_time_stamp
69
-
70
- attr_accessor :surcharge
71
-
72
- # This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account. This field is returned for OCT transactions.
73
- attr_accessor :settlement_amount
74
-
75
- # This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account. This field is returned for OCT transactions.
76
- attr_accessor :settlement_currency
77
-
78
- attr_accessor :amex_additional_amounts
79
-
80
- attr_accessor :tax_details
81
-
82
- # Service fee. Required for service fee transactions.
83
- attr_accessor :service_fee_amount
84
-
85
- # Amount in your original local pricing currency. This value cannot be negative. You can include a decimal point (.) in this field to denote the currency exponent, but you cannot include any other special characters. If needed, CyberSource truncates the amount to the correct number of decimal places.
86
- attr_accessor :original_amount
87
-
88
- # Your local pricing currency code. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)
89
- attr_accessor :original_currency
90
-
91
- # Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included in the `orderInformation.amountDetails.totalAmount` value. This field is supported only on CyberSource through VisaNet. #### Used by **Authorization** Optional. **Authorization Reversal** Optional. #### PIN debit Optional field for PIN debit purchase, PIN debit credit or PIN debit reversal.
92
- attr_accessor :cashback_amount
93
-
94
- attr_accessor :currency_conversion
95
-
96
- attr_accessor :oct_surcharge
97
-
98
- attr_accessor :order
99
-
100
- # This API Field contains the anticipated amount details. This supports use cases where the Merchant does not wish to have funds held against the account, but needs to confirm an amount prior to authorization, such as for a trial subscription, reservation service, or loyalty program. In an account verification, the anticipated amount is used to confirm the account has availability to accept purchases.
101
- attr_accessor :anticipated_amount
102
-
103
- # Attribute mapping from ruby-style variable name to JSON key.
104
- def self.attribute_map
105
- {
106
- :'gift_wrap_amount' => :'giftWrapAmount',
107
- :'invoice_amount' => :'invoiceAmount',
108
- :'total_amount' => :'totalAmount',
109
- :'sub_total_amount' => :'subTotalAmount',
110
- :'currency' => :'currency',
111
- :'discount_amount' => :'discountAmount',
112
- :'duty_amount' => :'dutyAmount',
113
- :'gratuity_amount' => :'gratuityAmount',
114
- :'tax_amount' => :'taxAmount',
115
- :'national_tax_included' => :'nationalTaxIncluded',
116
- :'tax_applied_after_discount' => :'taxAppliedAfterDiscount',
117
- :'tax_applied_level' => :'taxAppliedLevel',
118
- :'tax_type_code' => :'taxTypeCode',
119
- :'freight_amount' => :'freightAmount',
120
- :'foreign_amount' => :'foreignAmount',
121
- :'foreign_currency' => :'foreignCurrency',
122
- :'exchange_rate' => :'exchangeRate',
123
- :'exchange_rate_time_stamp' => :'exchangeRateTimeStamp',
124
- :'surcharge' => :'surcharge',
125
- :'settlement_amount' => :'settlementAmount',
126
- :'settlement_currency' => :'settlementCurrency',
127
- :'amex_additional_amounts' => :'amexAdditionalAmounts',
128
- :'tax_details' => :'taxDetails',
129
- :'service_fee_amount' => :'serviceFeeAmount',
130
- :'original_amount' => :'originalAmount',
131
- :'original_currency' => :'originalCurrency',
132
- :'cashback_amount' => :'cashbackAmount',
133
- :'currency_conversion' => :'currencyConversion',
134
- :'oct_surcharge' => :'oct-surcharge',
135
- :'order' => :'order',
136
- :'anticipated_amount' => :'anticipatedAmount'
137
- }
138
- end
139
-
140
- # Attribute mapping from JSON key to ruby-style variable name.
141
- def self.json_map
142
- {
143
- :'gift_wrap_amount' => :'gift_wrap_amount',
144
- :'invoice_amount' => :'invoice_amount',
145
- :'total_amount' => :'total_amount',
146
- :'sub_total_amount' => :'sub_total_amount',
147
- :'currency' => :'currency',
148
- :'discount_amount' => :'discount_amount',
149
- :'duty_amount' => :'duty_amount',
150
- :'gratuity_amount' => :'gratuity_amount',
151
- :'tax_amount' => :'tax_amount',
152
- :'national_tax_included' => :'national_tax_included',
153
- :'tax_applied_after_discount' => :'tax_applied_after_discount',
154
- :'tax_applied_level' => :'tax_applied_level',
155
- :'tax_type_code' => :'tax_type_code',
156
- :'freight_amount' => :'freight_amount',
157
- :'foreign_amount' => :'foreign_amount',
158
- :'foreign_currency' => :'foreign_currency',
159
- :'exchange_rate' => :'exchange_rate',
160
- :'exchange_rate_time_stamp' => :'exchange_rate_time_stamp',
161
- :'surcharge' => :'surcharge',
162
- :'settlement_amount' => :'settlement_amount',
163
- :'settlement_currency' => :'settlement_currency',
164
- :'amex_additional_amounts' => :'amex_additional_amounts',
165
- :'tax_details' => :'tax_details',
166
- :'service_fee_amount' => :'service_fee_amount',
167
- :'original_amount' => :'original_amount',
168
- :'original_currency' => :'original_currency',
169
- :'cashback_amount' => :'cashback_amount',
170
- :'currency_conversion' => :'currency_conversion',
171
- :'oct_surcharge' => :'oct_surcharge',
172
- :'order' => :'order',
173
- :'anticipated_amount' => :'anticipated_amount'
174
- }
175
- end
176
-
177
- # Attribute type mapping.
178
- def self.swagger_types
179
- {
180
- :'gift_wrap_amount' => :'String',
181
- :'invoice_amount' => :'String',
182
- :'total_amount' => :'String',
183
- :'sub_total_amount' => :'String',
184
- :'currency' => :'String',
185
- :'discount_amount' => :'String',
186
- :'duty_amount' => :'String',
187
- :'gratuity_amount' => :'String',
188
- :'tax_amount' => :'String',
189
- :'national_tax_included' => :'String',
190
- :'tax_applied_after_discount' => :'String',
191
- :'tax_applied_level' => :'String',
192
- :'tax_type_code' => :'String',
193
- :'freight_amount' => :'String',
194
- :'foreign_amount' => :'String',
195
- :'foreign_currency' => :'String',
196
- :'exchange_rate' => :'String',
197
- :'exchange_rate_time_stamp' => :'String',
198
- :'surcharge' => :'Ptsv2paymentsOrderInformationAmountDetailsSurcharge',
199
- :'settlement_amount' => :'String',
200
- :'settlement_currency' => :'String',
201
- :'amex_additional_amounts' => :'Array<Ptsv2paymentsOrderInformationAmountDetailsAmexAdditionalAmounts>',
202
- :'tax_details' => :'Array<Ptsv2paymentsOrderInformationAmountDetailsTaxDetails>',
203
- :'service_fee_amount' => :'String',
204
- :'original_amount' => :'String',
205
- :'original_currency' => :'String',
206
- :'cashback_amount' => :'String',
207
- :'currency_conversion' => :'Ptsv2paymentsOrderInformationAmountDetailsCurrencyConversion',
208
- :'oct_surcharge' => :'Ptsv2paymentsOrderInformationAmountDetailsOctsurcharge',
209
- :'order' => :'Ptsv2paymentsOrderInformationAmountDetailsOrder',
210
- :'anticipated_amount' => :'String'
211
- }
212
- end
213
-
214
- # Initializes the object
215
- # @param [Hash] attributes Model attributes in the form of hash
216
- def initialize(attributes = {})
217
- return unless attributes.is_a?(Hash)
218
-
219
- # convert string to symbol for hash key
220
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
221
-
222
- if attributes.has_key?(:'giftWrapAmount')
223
- self.gift_wrap_amount = attributes[:'giftWrapAmount']
224
- end
225
-
226
- if attributes.has_key?(:'invoiceAmount')
227
- self.invoice_amount = attributes[:'invoiceAmount']
228
- end
229
-
230
- if attributes.has_key?(:'totalAmount')
231
- self.total_amount = attributes[:'totalAmount']
232
- end
233
-
234
- if attributes.has_key?(:'subTotalAmount')
235
- self.sub_total_amount = attributes[:'subTotalAmount']
236
- end
237
-
238
- if attributes.has_key?(:'currency')
239
- self.currency = attributes[:'currency']
240
- end
241
-
242
- if attributes.has_key?(:'discountAmount')
243
- self.discount_amount = attributes[:'discountAmount']
244
- end
245
-
246
- if attributes.has_key?(:'dutyAmount')
247
- self.duty_amount = attributes[:'dutyAmount']
248
- end
249
-
250
- if attributes.has_key?(:'gratuityAmount')
251
- self.gratuity_amount = attributes[:'gratuityAmount']
252
- end
253
-
254
- if attributes.has_key?(:'taxAmount')
255
- self.tax_amount = attributes[:'taxAmount']
256
- end
257
-
258
- if attributes.has_key?(:'nationalTaxIncluded')
259
- self.national_tax_included = attributes[:'nationalTaxIncluded']
260
- end
261
-
262
- if attributes.has_key?(:'taxAppliedAfterDiscount')
263
- self.tax_applied_after_discount = attributes[:'taxAppliedAfterDiscount']
264
- end
265
-
266
- if attributes.has_key?(:'taxAppliedLevel')
267
- self.tax_applied_level = attributes[:'taxAppliedLevel']
268
- end
269
-
270
- if attributes.has_key?(:'taxTypeCode')
271
- self.tax_type_code = attributes[:'taxTypeCode']
272
- end
273
-
274
- if attributes.has_key?(:'freightAmount')
275
- self.freight_amount = attributes[:'freightAmount']
276
- end
277
-
278
- if attributes.has_key?(:'foreignAmount')
279
- self.foreign_amount = attributes[:'foreignAmount']
280
- end
281
-
282
- if attributes.has_key?(:'foreignCurrency')
283
- self.foreign_currency = attributes[:'foreignCurrency']
284
- end
285
-
286
- if attributes.has_key?(:'exchangeRate')
287
- self.exchange_rate = attributes[:'exchangeRate']
288
- end
289
-
290
- if attributes.has_key?(:'exchangeRateTimeStamp')
291
- self.exchange_rate_time_stamp = attributes[:'exchangeRateTimeStamp']
292
- end
293
-
294
- if attributes.has_key?(:'surcharge')
295
- self.surcharge = attributes[:'surcharge']
296
- end
297
-
298
- if attributes.has_key?(:'settlementAmount')
299
- self.settlement_amount = attributes[:'settlementAmount']
300
- end
301
-
302
- if attributes.has_key?(:'settlementCurrency')
303
- self.settlement_currency = attributes[:'settlementCurrency']
304
- end
305
-
306
- if attributes.has_key?(:'amexAdditionalAmounts')
307
- if (value = attributes[:'amexAdditionalAmounts']).is_a?(Array)
308
- self.amex_additional_amounts = value
309
- end
310
- end
311
-
312
- if attributes.has_key?(:'taxDetails')
313
- if (value = attributes[:'taxDetails']).is_a?(Array)
314
- self.tax_details = value
315
- end
316
- end
317
-
318
- if attributes.has_key?(:'serviceFeeAmount')
319
- self.service_fee_amount = attributes[:'serviceFeeAmount']
320
- end
321
-
322
- if attributes.has_key?(:'originalAmount')
323
- self.original_amount = attributes[:'originalAmount']
324
- end
325
-
326
- if attributes.has_key?(:'originalCurrency')
327
- self.original_currency = attributes[:'originalCurrency']
328
- end
329
-
330
- if attributes.has_key?(:'cashbackAmount')
331
- self.cashback_amount = attributes[:'cashbackAmount']
332
- end
333
-
334
- if attributes.has_key?(:'currencyConversion')
335
- self.currency_conversion = attributes[:'currencyConversion']
336
- end
337
-
338
- if attributes.has_key?(:'oct-surcharge')
339
- self.oct_surcharge = attributes[:'oct-surcharge']
340
- end
341
-
342
- if attributes.has_key?(:'order')
343
- self.order = attributes[:'order']
344
- end
345
-
346
- if attributes.has_key?(:'anticipatedAmount')
347
- self.anticipated_amount = attributes[:'anticipatedAmount']
348
- end
349
- end
350
-
351
- # Show invalid properties with the reasons. Usually used together with valid?
352
- # @return Array for valid properties with the reasons
353
- def list_invalid_properties
354
- invalid_properties = Array.new
355
- invalid_properties
356
- end
357
-
358
- # Check to see if the all the properties in the model are valid
359
- # @return true if the model is valid
360
- def valid?
361
- true
362
- end
363
-
364
- # Custom attribute writer method with validation
365
- # @param [Object] gift_wrap_amount Value to be assigned
366
- def gift_wrap_amount=(gift_wrap_amount)
367
- @gift_wrap_amount = gift_wrap_amount
368
- end
369
-
370
- # Custom attribute writer method with validation
371
- # @param [Object] invoice_amount Value to be assigned
372
- def invoice_amount=(invoice_amount)
373
- @invoice_amount = invoice_amount
374
- end
375
-
376
- # Custom attribute writer method with validation
377
- # @param [Object] total_amount Value to be assigned
378
- def total_amount=(total_amount)
379
- @total_amount = total_amount
380
- end
381
-
382
- # Custom attribute writer method with validation
383
- # @param [Object] sub_total_amount Value to be assigned
384
- def sub_total_amount=(sub_total_amount)
385
- @sub_total_amount = sub_total_amount
386
- end
387
-
388
- # Custom attribute writer method with validation
389
- # @param [Object] currency Value to be assigned
390
- def currency=(currency)
391
- @currency = currency
392
- end
393
-
394
- # Custom attribute writer method with validation
395
- # @param [Object] discount_amount Value to be assigned
396
- def discount_amount=(discount_amount)
397
- @discount_amount = discount_amount
398
- end
399
-
400
- # Custom attribute writer method with validation
401
- # @param [Object] duty_amount Value to be assigned
402
- def duty_amount=(duty_amount)
403
- @duty_amount = duty_amount
404
- end
405
-
406
- # Custom attribute writer method with validation
407
- # @param [Object] gratuity_amount Value to be assigned
408
- def gratuity_amount=(gratuity_amount)
409
- @gratuity_amount = gratuity_amount
410
- end
411
-
412
- # Custom attribute writer method with validation
413
- # @param [Object] tax_amount Value to be assigned
414
- def tax_amount=(tax_amount)
415
- @tax_amount = tax_amount
416
- end
417
-
418
- # Custom attribute writer method with validation
419
- # @param [Object] national_tax_included Value to be assigned
420
- def national_tax_included=(national_tax_included)
421
- @national_tax_included = national_tax_included
422
- end
423
-
424
- # Custom attribute writer method with validation
425
- # @param [Object] tax_applied_after_discount Value to be assigned
426
- def tax_applied_after_discount=(tax_applied_after_discount)
427
- @tax_applied_after_discount = tax_applied_after_discount
428
- end
429
-
430
- # Custom attribute writer method with validation
431
- # @param [Object] tax_applied_level Value to be assigned
432
- def tax_applied_level=(tax_applied_level)
433
- @tax_applied_level = tax_applied_level
434
- end
435
-
436
- # Custom attribute writer method with validation
437
- # @param [Object] tax_type_code Value to be assigned
438
- def tax_type_code=(tax_type_code)
439
- @tax_type_code = tax_type_code
440
- end
441
-
442
- # Custom attribute writer method with validation
443
- # @param [Object] freight_amount Value to be assigned
444
- def freight_amount=(freight_amount)
445
- @freight_amount = freight_amount
446
- end
447
-
448
- # Custom attribute writer method with validation
449
- # @param [Object] foreign_amount Value to be assigned
450
- def foreign_amount=(foreign_amount)
451
- @foreign_amount = foreign_amount
452
- end
453
-
454
- # Custom attribute writer method with validation
455
- # @param [Object] foreign_currency Value to be assigned
456
- def foreign_currency=(foreign_currency)
457
- @foreign_currency = foreign_currency
458
- end
459
-
460
- # Custom attribute writer method with validation
461
- # @param [Object] exchange_rate Value to be assigned
462
- def exchange_rate=(exchange_rate)
463
- @exchange_rate = exchange_rate
464
- end
465
-
466
- # Custom attribute writer method with validation
467
- # @param [Object] exchange_rate_time_stamp Value to be assigned
468
- def exchange_rate_time_stamp=(exchange_rate_time_stamp)
469
- @exchange_rate_time_stamp = exchange_rate_time_stamp
470
- end
471
-
472
- # Custom attribute writer method with validation
473
- # @param [Object] settlement_amount Value to be assigned
474
- def settlement_amount=(settlement_amount)
475
- @settlement_amount = settlement_amount
476
- end
477
-
478
- # Custom attribute writer method with validation
479
- # @param [Object] settlement_currency Value to be assigned
480
- def settlement_currency=(settlement_currency)
481
- @settlement_currency = settlement_currency
482
- end
483
-
484
- # Custom attribute writer method with validation
485
- # @param [Object] service_fee_amount Value to be assigned
486
- def service_fee_amount=(service_fee_amount)
487
- @service_fee_amount = service_fee_amount
488
- end
489
-
490
- # Custom attribute writer method with validation
491
- # @param [Object] original_amount Value to be assigned
492
- def original_amount=(original_amount)
493
- @original_amount = original_amount
494
- end
495
-
496
- # Custom attribute writer method with validation
497
- # @param [Object] original_currency Value to be assigned
498
- def original_currency=(original_currency)
499
- @original_currency = original_currency
500
- end
501
-
502
- # Custom attribute writer method with validation
503
- # @param [Object] cashback_amount Value to be assigned
504
- def cashback_amount=(cashback_amount)
505
- @cashback_amount = cashback_amount
506
- end
507
-
508
- # Custom attribute writer method with validation
509
- # @param [Object] anticipated_amount Value to be assigned
510
- def anticipated_amount=(anticipated_amount)
511
- @anticipated_amount = anticipated_amount
512
- end
513
-
514
- # Checks equality by comparing each attribute.
515
- # @param [Object] Object to be compared
516
- def ==(o)
517
- return true if self.equal?(o)
518
- self.class == o.class &&
519
- gift_wrap_amount == o.gift_wrap_amount &&
520
- invoice_amount == o.invoice_amount &&
521
- total_amount == o.total_amount &&
522
- sub_total_amount == o.sub_total_amount &&
523
- currency == o.currency &&
524
- discount_amount == o.discount_amount &&
525
- duty_amount == o.duty_amount &&
526
- gratuity_amount == o.gratuity_amount &&
527
- tax_amount == o.tax_amount &&
528
- national_tax_included == o.national_tax_included &&
529
- tax_applied_after_discount == o.tax_applied_after_discount &&
530
- tax_applied_level == o.tax_applied_level &&
531
- tax_type_code == o.tax_type_code &&
532
- freight_amount == o.freight_amount &&
533
- foreign_amount == o.foreign_amount &&
534
- foreign_currency == o.foreign_currency &&
535
- exchange_rate == o.exchange_rate &&
536
- exchange_rate_time_stamp == o.exchange_rate_time_stamp &&
537
- surcharge == o.surcharge &&
538
- settlement_amount == o.settlement_amount &&
539
- settlement_currency == o.settlement_currency &&
540
- amex_additional_amounts == o.amex_additional_amounts &&
541
- tax_details == o.tax_details &&
542
- service_fee_amount == o.service_fee_amount &&
543
- original_amount == o.original_amount &&
544
- original_currency == o.original_currency &&
545
- cashback_amount == o.cashback_amount &&
546
- currency_conversion == o.currency_conversion &&
547
- oct_surcharge == o.oct_surcharge &&
548
- order == o.order &&
549
- anticipated_amount == o.anticipated_amount
550
- end
551
-
552
- # @see the `==` method
553
- # @param [Object] Object to be compared
554
- def eql?(o)
555
- self == o
556
- end
557
-
558
- # Calculates hash code according to all attributes.
559
- # @return [Fixnum] Hash code
560
- def hash
561
- [gift_wrap_amount, invoice_amount, total_amount, sub_total_amount, currency, discount_amount, duty_amount, gratuity_amount, tax_amount, national_tax_included, tax_applied_after_discount, tax_applied_level, tax_type_code, freight_amount, foreign_amount, foreign_currency, exchange_rate, exchange_rate_time_stamp, surcharge, settlement_amount, settlement_currency, amex_additional_amounts, tax_details, service_fee_amount, original_amount, original_currency, cashback_amount, currency_conversion, oct_surcharge, order, anticipated_amount].hash
562
- end
563
-
564
- # Builds the object from hash
565
- # @param [Hash] attributes Model attributes in the form of hash
566
- # @return [Object] Returns the model itself
567
- def build_from_hash(attributes)
568
- return nil unless attributes.is_a?(Hash)
569
- self.class.swagger_types.each_pair do |key, type|
570
- if type =~ /\AArray<(.*)>/i
571
- # check to ensure the input is an array given that the the attribute
572
- # is documented as an array but the input is not
573
- if attributes[self.class.attribute_map[key]].is_a?(Array)
574
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
575
- end
576
- elsif !attributes[self.class.attribute_map[key]].nil?
577
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
578
- end # or else data not found in attributes(hash), not an issue as the data can be optional
579
- end
580
-
581
- self
582
- end
583
-
584
- # Deserializes the data based on type
585
- # @param string type Data type
586
- # @param string value Value to be deserialized
587
- # @return [Object] Deserialized data
588
- def _deserialize(type, value)
589
- case type.to_sym
590
- when :DateTime
591
- DateTime.parse(value)
592
- when :Date
593
- Date.parse(value)
594
- when :String
595
- value.to_s
596
- when :Integer
597
- value.to_i
598
- when :Float
599
- value.to_f
600
- when :BOOLEAN
601
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
602
- true
603
- else
604
- false
605
- end
606
- when :Object
607
- # generic object (usually a Hash), return directly
608
- value
609
- when /\AArray<(?<inner_type>.+)>\z/
610
- inner_type = Regexp.last_match[:inner_type]
611
- value.map { |v| _deserialize(inner_type, v) }
612
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
613
- k_type = Regexp.last_match[:k_type]
614
- v_type = Regexp.last_match[:v_type]
615
- {}.tap do |hash|
616
- value.each do |k, v|
617
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
618
- end
619
- end
620
- else # model
621
- temp_model = CyberSource.const_get(type).new
622
- temp_model.build_from_hash(value)
623
- end
624
- end
625
-
626
- # Returns the string representation of the object
627
- # @return [String] String presentation of the object
628
- def to_s
629
- to_hash.to_s
630
- end
631
-
632
- # to_body is an alias to to_hash (backward compatibility)
633
- # @return [Hash] Returns the object in the form of hash
634
- def to_body
635
- to_hash
636
- end
637
-
638
- # Returns the object in the form of hash
639
- # @return [Hash] Returns the object in the form of hash
640
- def to_hash
641
- hash = {}
642
- self.class.attribute_map.each_pair do |attr, param|
643
- value = self.send(attr)
644
- next if value.nil?
645
- hash[param] = _to_hash(value)
646
- end
647
- hash
648
- end
649
-
650
- # Outputs non-array value in the form of hash
651
- # For object, use to_hash. Otherwise, just return the value
652
- # @param [Object] value Any valid value
653
- # @return [Hash] Returns the value in the form of hash
654
- def _to_hash(value)
655
- if value.is_a?(Array)
656
- value.compact.map { |v| _to_hash(v) }
657
- elsif value.is_a?(Hash)
658
- {}.tap do |hash|
659
- value.each { |k, v| hash[k] = _to_hash(v) }
660
- end
661
- elsif value.respond_to? :to_hash
662
- value.to_hash
663
- else
664
- value
665
- end
666
- end
667
- end
668
- 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 Ptsv2paymentsOrderInformationAmountDetails
16
+ # Amount being charged as gift wrap fee.
17
+ attr_accessor :gift_wrap_amount
18
+
19
+ # Invoice amount. The invoice amount issued by the Merchant to the Cardholder, which includes VAT (excluding items such as TIPS or CASHBACK). For transactions that do not have applicable Benefit Laws, the field may be entered as zeros. This field is only applicable for Uruguay market. Example: 100.00 Uruguay The value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR9 - Position: 7-18 - Field: Invoice Amount
20
+ attr_accessor :invoice_amount
21
+
22
+ # Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places. **Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. **Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. #### Card Present Required to include either this field or `orderInformation.lineItems[].unitPrice` for the order. #### Invoicing / Pay By Link Required for creating a new invoice or payment link. #### PIN Debit Amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required. #### DCC with a Third-Party Provider Set this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. #### DCC for First Data Not used.
23
+ attr_accessor :total_amount
24
+
25
+ # Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request. When there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request. Note The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request.
26
+ attr_accessor :sub_total_amount
27
+
28
+ # Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) #### Used by **Authorization** Required field. **Authorization Reversal** For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request. #### PIN Debit Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests. #### GPX This field is optional for reversing an authorization or credit. #### DCC for First Data Your local currency. #### Tax Calculation Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
29
+ attr_accessor :currency
30
+
31
+ # Total discount amount applied to the order.
32
+ attr_accessor :discount_amount
33
+
34
+ # Total charges for any import or export duties included in the order.
35
+ attr_accessor :duty_amount
36
+
37
+ # Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant. When your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not submit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the issuer has chargeback rights for the excess amount. Used by **Capture** Optional field. #### CyberSource through VisaNet Restaurant data is supported only on CyberSource through VisaNet when card is present.
38
+ attr_accessor :gratuity_amount
39
+
40
+ # Total tax amount for all the items in the order.
41
+ attr_accessor :tax_amount
42
+
43
+ # Flag that indicates whether a national tax is included in the order total. Possible values: - **0**: national tax not included - **1**: national tax included
44
+ attr_accessor :national_tax_included
45
+
46
+ # 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
47
+ attr_accessor :tax_applied_after_discount
48
+
49
+ # 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
50
+ attr_accessor :tax_applied_level
51
+
52
+ # For tax amounts that can be categorized as one tax type. This field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field. Possible values: - **056**: sales tax (U.S only) - **TX~**: all taxes (Canada only) Note ~ = space.
53
+ attr_accessor :tax_type_code
54
+
55
+ # 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.
56
+ attr_accessor :freight_amount
57
+
58
+ # Set this field to the converted amount that was returned by the DCC provider.
59
+ attr_accessor :foreign_amount
60
+
61
+ # Set this field to the converted amount that was returned by the DCC provider.
62
+ attr_accessor :foreign_currency
63
+
64
+ # Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.
65
+ attr_accessor :exchange_rate
66
+
67
+ # Time stamp for the exchange rate. This value is returned by the DCC service. Format: `YYYYMMDD~HH:MM` where ~ denotes a space.
68
+ attr_accessor :exchange_rate_time_stamp
69
+
70
+ attr_accessor :surcharge
71
+
72
+ # This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account. This field is returned for OCT transactions.
73
+ attr_accessor :settlement_amount
74
+
75
+ # This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account. This field is returned for OCT transactions.
76
+ attr_accessor :settlement_currency
77
+
78
+ attr_accessor :amex_additional_amounts
79
+
80
+ attr_accessor :tax_details
81
+
82
+ # Service fee. Required for service fee transactions.
83
+ attr_accessor :service_fee_amount
84
+
85
+ # Amount in your original local pricing currency. This value cannot be negative. You can include a decimal point (.) in this field to denote the currency exponent, but you cannot include any other special characters. If needed, CyberSource truncates the amount to the correct number of decimal places.
86
+ attr_accessor :original_amount
87
+
88
+ # Your local pricing currency code. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)
89
+ attr_accessor :original_currency
90
+
91
+ # Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included in the `orderInformation.amountDetails.totalAmount` value. This field is supported only on CyberSource through VisaNet. #### Used by **Authorization** Optional. **Authorization Reversal** Optional. #### PIN debit Optional field for PIN debit purchase, PIN debit credit or PIN debit reversal.
92
+ attr_accessor :cashback_amount
93
+
94
+ attr_accessor :currency_conversion
95
+
96
+ attr_accessor :oct_surcharge
97
+
98
+ attr_accessor :order
99
+
100
+ # This API Field contains the anticipated amount details. This supports use cases where the Merchant does not wish to have funds held against the account, but needs to confirm an amount prior to authorization, such as for a trial subscription, reservation service, or loyalty program. In an account verification, the anticipated amount is used to confirm the account has availability to accept purchases.
101
+ attr_accessor :anticipated_amount
102
+
103
+ # Attribute mapping from ruby-style variable name to JSON key.
104
+ def self.attribute_map
105
+ {
106
+ :'gift_wrap_amount' => :'giftWrapAmount',
107
+ :'invoice_amount' => :'invoiceAmount',
108
+ :'total_amount' => :'totalAmount',
109
+ :'sub_total_amount' => :'subTotalAmount',
110
+ :'currency' => :'currency',
111
+ :'discount_amount' => :'discountAmount',
112
+ :'duty_amount' => :'dutyAmount',
113
+ :'gratuity_amount' => :'gratuityAmount',
114
+ :'tax_amount' => :'taxAmount',
115
+ :'national_tax_included' => :'nationalTaxIncluded',
116
+ :'tax_applied_after_discount' => :'taxAppliedAfterDiscount',
117
+ :'tax_applied_level' => :'taxAppliedLevel',
118
+ :'tax_type_code' => :'taxTypeCode',
119
+ :'freight_amount' => :'freightAmount',
120
+ :'foreign_amount' => :'foreignAmount',
121
+ :'foreign_currency' => :'foreignCurrency',
122
+ :'exchange_rate' => :'exchangeRate',
123
+ :'exchange_rate_time_stamp' => :'exchangeRateTimeStamp',
124
+ :'surcharge' => :'surcharge',
125
+ :'settlement_amount' => :'settlementAmount',
126
+ :'settlement_currency' => :'settlementCurrency',
127
+ :'amex_additional_amounts' => :'amexAdditionalAmounts',
128
+ :'tax_details' => :'taxDetails',
129
+ :'service_fee_amount' => :'serviceFeeAmount',
130
+ :'original_amount' => :'originalAmount',
131
+ :'original_currency' => :'originalCurrency',
132
+ :'cashback_amount' => :'cashbackAmount',
133
+ :'currency_conversion' => :'currencyConversion',
134
+ :'oct_surcharge' => :'oct-surcharge',
135
+ :'order' => :'order',
136
+ :'anticipated_amount' => :'anticipatedAmount'
137
+ }
138
+ end
139
+
140
+ # Attribute mapping from JSON key to ruby-style variable name.
141
+ def self.json_map
142
+ {
143
+ :'gift_wrap_amount' => :'gift_wrap_amount',
144
+ :'invoice_amount' => :'invoice_amount',
145
+ :'total_amount' => :'total_amount',
146
+ :'sub_total_amount' => :'sub_total_amount',
147
+ :'currency' => :'currency',
148
+ :'discount_amount' => :'discount_amount',
149
+ :'duty_amount' => :'duty_amount',
150
+ :'gratuity_amount' => :'gratuity_amount',
151
+ :'tax_amount' => :'tax_amount',
152
+ :'national_tax_included' => :'national_tax_included',
153
+ :'tax_applied_after_discount' => :'tax_applied_after_discount',
154
+ :'tax_applied_level' => :'tax_applied_level',
155
+ :'tax_type_code' => :'tax_type_code',
156
+ :'freight_amount' => :'freight_amount',
157
+ :'foreign_amount' => :'foreign_amount',
158
+ :'foreign_currency' => :'foreign_currency',
159
+ :'exchange_rate' => :'exchange_rate',
160
+ :'exchange_rate_time_stamp' => :'exchange_rate_time_stamp',
161
+ :'surcharge' => :'surcharge',
162
+ :'settlement_amount' => :'settlement_amount',
163
+ :'settlement_currency' => :'settlement_currency',
164
+ :'amex_additional_amounts' => :'amex_additional_amounts',
165
+ :'tax_details' => :'tax_details',
166
+ :'service_fee_amount' => :'service_fee_amount',
167
+ :'original_amount' => :'original_amount',
168
+ :'original_currency' => :'original_currency',
169
+ :'cashback_amount' => :'cashback_amount',
170
+ :'currency_conversion' => :'currency_conversion',
171
+ :'oct_surcharge' => :'oct_surcharge',
172
+ :'order' => :'order',
173
+ :'anticipated_amount' => :'anticipated_amount'
174
+ }
175
+ end
176
+
177
+ # Attribute type mapping.
178
+ def self.swagger_types
179
+ {
180
+ :'gift_wrap_amount' => :'String',
181
+ :'invoice_amount' => :'String',
182
+ :'total_amount' => :'String',
183
+ :'sub_total_amount' => :'String',
184
+ :'currency' => :'String',
185
+ :'discount_amount' => :'String',
186
+ :'duty_amount' => :'String',
187
+ :'gratuity_amount' => :'String',
188
+ :'tax_amount' => :'String',
189
+ :'national_tax_included' => :'String',
190
+ :'tax_applied_after_discount' => :'String',
191
+ :'tax_applied_level' => :'String',
192
+ :'tax_type_code' => :'String',
193
+ :'freight_amount' => :'String',
194
+ :'foreign_amount' => :'String',
195
+ :'foreign_currency' => :'String',
196
+ :'exchange_rate' => :'String',
197
+ :'exchange_rate_time_stamp' => :'String',
198
+ :'surcharge' => :'Ptsv2paymentsOrderInformationAmountDetailsSurcharge',
199
+ :'settlement_amount' => :'String',
200
+ :'settlement_currency' => :'String',
201
+ :'amex_additional_amounts' => :'Array<Ptsv2paymentsOrderInformationAmountDetailsAmexAdditionalAmounts>',
202
+ :'tax_details' => :'Array<Ptsv2paymentsOrderInformationAmountDetailsTaxDetails>',
203
+ :'service_fee_amount' => :'String',
204
+ :'original_amount' => :'String',
205
+ :'original_currency' => :'String',
206
+ :'cashback_amount' => :'String',
207
+ :'currency_conversion' => :'Ptsv2paymentsOrderInformationAmountDetailsCurrencyConversion',
208
+ :'oct_surcharge' => :'Ptsv2paymentsOrderInformationAmountDetailsOctsurcharge',
209
+ :'order' => :'Ptsv2paymentsOrderInformationAmountDetailsOrder',
210
+ :'anticipated_amount' => :'String'
211
+ }
212
+ end
213
+
214
+ # Initializes the object
215
+ # @param [Hash] attributes Model attributes in the form of hash
216
+ def initialize(attributes = {})
217
+ return unless attributes.is_a?(Hash)
218
+
219
+ # convert string to symbol for hash key
220
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
221
+
222
+ if attributes.has_key?(:'giftWrapAmount')
223
+ self.gift_wrap_amount = attributes[:'giftWrapAmount']
224
+ end
225
+
226
+ if attributes.has_key?(:'invoiceAmount')
227
+ self.invoice_amount = attributes[:'invoiceAmount']
228
+ end
229
+
230
+ if attributes.has_key?(:'totalAmount')
231
+ self.total_amount = attributes[:'totalAmount']
232
+ end
233
+
234
+ if attributes.has_key?(:'subTotalAmount')
235
+ self.sub_total_amount = attributes[:'subTotalAmount']
236
+ end
237
+
238
+ if attributes.has_key?(:'currency')
239
+ self.currency = attributes[:'currency']
240
+ end
241
+
242
+ if attributes.has_key?(:'discountAmount')
243
+ self.discount_amount = attributes[:'discountAmount']
244
+ end
245
+
246
+ if attributes.has_key?(:'dutyAmount')
247
+ self.duty_amount = attributes[:'dutyAmount']
248
+ end
249
+
250
+ if attributes.has_key?(:'gratuityAmount')
251
+ self.gratuity_amount = attributes[:'gratuityAmount']
252
+ end
253
+
254
+ if attributes.has_key?(:'taxAmount')
255
+ self.tax_amount = attributes[:'taxAmount']
256
+ end
257
+
258
+ if attributes.has_key?(:'nationalTaxIncluded')
259
+ self.national_tax_included = attributes[:'nationalTaxIncluded']
260
+ end
261
+
262
+ if attributes.has_key?(:'taxAppliedAfterDiscount')
263
+ self.tax_applied_after_discount = attributes[:'taxAppliedAfterDiscount']
264
+ end
265
+
266
+ if attributes.has_key?(:'taxAppliedLevel')
267
+ self.tax_applied_level = attributes[:'taxAppliedLevel']
268
+ end
269
+
270
+ if attributes.has_key?(:'taxTypeCode')
271
+ self.tax_type_code = attributes[:'taxTypeCode']
272
+ end
273
+
274
+ if attributes.has_key?(:'freightAmount')
275
+ self.freight_amount = attributes[:'freightAmount']
276
+ end
277
+
278
+ if attributes.has_key?(:'foreignAmount')
279
+ self.foreign_amount = attributes[:'foreignAmount']
280
+ end
281
+
282
+ if attributes.has_key?(:'foreignCurrency')
283
+ self.foreign_currency = attributes[:'foreignCurrency']
284
+ end
285
+
286
+ if attributes.has_key?(:'exchangeRate')
287
+ self.exchange_rate = attributes[:'exchangeRate']
288
+ end
289
+
290
+ if attributes.has_key?(:'exchangeRateTimeStamp')
291
+ self.exchange_rate_time_stamp = attributes[:'exchangeRateTimeStamp']
292
+ end
293
+
294
+ if attributes.has_key?(:'surcharge')
295
+ self.surcharge = attributes[:'surcharge']
296
+ end
297
+
298
+ if attributes.has_key?(:'settlementAmount')
299
+ self.settlement_amount = attributes[:'settlementAmount']
300
+ end
301
+
302
+ if attributes.has_key?(:'settlementCurrency')
303
+ self.settlement_currency = attributes[:'settlementCurrency']
304
+ end
305
+
306
+ if attributes.has_key?(:'amexAdditionalAmounts')
307
+ if (value = attributes[:'amexAdditionalAmounts']).is_a?(Array)
308
+ self.amex_additional_amounts = value
309
+ end
310
+ end
311
+
312
+ if attributes.has_key?(:'taxDetails')
313
+ if (value = attributes[:'taxDetails']).is_a?(Array)
314
+ self.tax_details = value
315
+ end
316
+ end
317
+
318
+ if attributes.has_key?(:'serviceFeeAmount')
319
+ self.service_fee_amount = attributes[:'serviceFeeAmount']
320
+ end
321
+
322
+ if attributes.has_key?(:'originalAmount')
323
+ self.original_amount = attributes[:'originalAmount']
324
+ end
325
+
326
+ if attributes.has_key?(:'originalCurrency')
327
+ self.original_currency = attributes[:'originalCurrency']
328
+ end
329
+
330
+ if attributes.has_key?(:'cashbackAmount')
331
+ self.cashback_amount = attributes[:'cashbackAmount']
332
+ end
333
+
334
+ if attributes.has_key?(:'currencyConversion')
335
+ self.currency_conversion = attributes[:'currencyConversion']
336
+ end
337
+
338
+ if attributes.has_key?(:'oct-surcharge')
339
+ self.oct_surcharge = attributes[:'oct-surcharge']
340
+ end
341
+
342
+ if attributes.has_key?(:'order')
343
+ self.order = attributes[:'order']
344
+ end
345
+
346
+ if attributes.has_key?(:'anticipatedAmount')
347
+ self.anticipated_amount = attributes[:'anticipatedAmount']
348
+ end
349
+ end
350
+
351
+ # Show invalid properties with the reasons. Usually used together with valid?
352
+ # @return Array for valid properties with the reasons
353
+ def list_invalid_properties
354
+ invalid_properties = Array.new
355
+ invalid_properties
356
+ end
357
+
358
+ # Check to see if the all the properties in the model are valid
359
+ # @return true if the model is valid
360
+ def valid?
361
+ true
362
+ end
363
+
364
+ # Custom attribute writer method with validation
365
+ # @param [Object] gift_wrap_amount Value to be assigned
366
+ def gift_wrap_amount=(gift_wrap_amount)
367
+ @gift_wrap_amount = gift_wrap_amount
368
+ end
369
+
370
+ # Custom attribute writer method with validation
371
+ # @param [Object] invoice_amount Value to be assigned
372
+ def invoice_amount=(invoice_amount)
373
+ @invoice_amount = invoice_amount
374
+ end
375
+
376
+ # Custom attribute writer method with validation
377
+ # @param [Object] total_amount Value to be assigned
378
+ def total_amount=(total_amount)
379
+ @total_amount = total_amount
380
+ end
381
+
382
+ # Custom attribute writer method with validation
383
+ # @param [Object] sub_total_amount Value to be assigned
384
+ def sub_total_amount=(sub_total_amount)
385
+ @sub_total_amount = sub_total_amount
386
+ end
387
+
388
+ # Custom attribute writer method with validation
389
+ # @param [Object] currency Value to be assigned
390
+ def currency=(currency)
391
+ @currency = currency
392
+ end
393
+
394
+ # Custom attribute writer method with validation
395
+ # @param [Object] discount_amount Value to be assigned
396
+ def discount_amount=(discount_amount)
397
+ @discount_amount = discount_amount
398
+ end
399
+
400
+ # Custom attribute writer method with validation
401
+ # @param [Object] duty_amount Value to be assigned
402
+ def duty_amount=(duty_amount)
403
+ @duty_amount = duty_amount
404
+ end
405
+
406
+ # Custom attribute writer method with validation
407
+ # @param [Object] gratuity_amount Value to be assigned
408
+ def gratuity_amount=(gratuity_amount)
409
+ @gratuity_amount = gratuity_amount
410
+ end
411
+
412
+ # Custom attribute writer method with validation
413
+ # @param [Object] tax_amount Value to be assigned
414
+ def tax_amount=(tax_amount)
415
+ @tax_amount = tax_amount
416
+ end
417
+
418
+ # Custom attribute writer method with validation
419
+ # @param [Object] national_tax_included Value to be assigned
420
+ def national_tax_included=(national_tax_included)
421
+ @national_tax_included = national_tax_included
422
+ end
423
+
424
+ # Custom attribute writer method with validation
425
+ # @param [Object] tax_applied_after_discount Value to be assigned
426
+ def tax_applied_after_discount=(tax_applied_after_discount)
427
+ @tax_applied_after_discount = tax_applied_after_discount
428
+ end
429
+
430
+ # Custom attribute writer method with validation
431
+ # @param [Object] tax_applied_level Value to be assigned
432
+ def tax_applied_level=(tax_applied_level)
433
+ @tax_applied_level = tax_applied_level
434
+ end
435
+
436
+ # Custom attribute writer method with validation
437
+ # @param [Object] tax_type_code Value to be assigned
438
+ def tax_type_code=(tax_type_code)
439
+ @tax_type_code = tax_type_code
440
+ end
441
+
442
+ # Custom attribute writer method with validation
443
+ # @param [Object] freight_amount Value to be assigned
444
+ def freight_amount=(freight_amount)
445
+ @freight_amount = freight_amount
446
+ end
447
+
448
+ # Custom attribute writer method with validation
449
+ # @param [Object] foreign_amount Value to be assigned
450
+ def foreign_amount=(foreign_amount)
451
+ @foreign_amount = foreign_amount
452
+ end
453
+
454
+ # Custom attribute writer method with validation
455
+ # @param [Object] foreign_currency Value to be assigned
456
+ def foreign_currency=(foreign_currency)
457
+ @foreign_currency = foreign_currency
458
+ end
459
+
460
+ # Custom attribute writer method with validation
461
+ # @param [Object] exchange_rate Value to be assigned
462
+ def exchange_rate=(exchange_rate)
463
+ @exchange_rate = exchange_rate
464
+ end
465
+
466
+ # Custom attribute writer method with validation
467
+ # @param [Object] exchange_rate_time_stamp Value to be assigned
468
+ def exchange_rate_time_stamp=(exchange_rate_time_stamp)
469
+ @exchange_rate_time_stamp = exchange_rate_time_stamp
470
+ end
471
+
472
+ # Custom attribute writer method with validation
473
+ # @param [Object] settlement_amount Value to be assigned
474
+ def settlement_amount=(settlement_amount)
475
+ @settlement_amount = settlement_amount
476
+ end
477
+
478
+ # Custom attribute writer method with validation
479
+ # @param [Object] settlement_currency Value to be assigned
480
+ def settlement_currency=(settlement_currency)
481
+ @settlement_currency = settlement_currency
482
+ end
483
+
484
+ # Custom attribute writer method with validation
485
+ # @param [Object] service_fee_amount Value to be assigned
486
+ def service_fee_amount=(service_fee_amount)
487
+ @service_fee_amount = service_fee_amount
488
+ end
489
+
490
+ # Custom attribute writer method with validation
491
+ # @param [Object] original_amount Value to be assigned
492
+ def original_amount=(original_amount)
493
+ @original_amount = original_amount
494
+ end
495
+
496
+ # Custom attribute writer method with validation
497
+ # @param [Object] original_currency Value to be assigned
498
+ def original_currency=(original_currency)
499
+ @original_currency = original_currency
500
+ end
501
+
502
+ # Custom attribute writer method with validation
503
+ # @param [Object] cashback_amount Value to be assigned
504
+ def cashback_amount=(cashback_amount)
505
+ @cashback_amount = cashback_amount
506
+ end
507
+
508
+ # Custom attribute writer method with validation
509
+ # @param [Object] anticipated_amount Value to be assigned
510
+ def anticipated_amount=(anticipated_amount)
511
+ @anticipated_amount = anticipated_amount
512
+ end
513
+
514
+ # Checks equality by comparing each attribute.
515
+ # @param [Object] Object to be compared
516
+ def ==(o)
517
+ return true if self.equal?(o)
518
+ self.class == o.class &&
519
+ gift_wrap_amount == o.gift_wrap_amount &&
520
+ invoice_amount == o.invoice_amount &&
521
+ total_amount == o.total_amount &&
522
+ sub_total_amount == o.sub_total_amount &&
523
+ currency == o.currency &&
524
+ discount_amount == o.discount_amount &&
525
+ duty_amount == o.duty_amount &&
526
+ gratuity_amount == o.gratuity_amount &&
527
+ tax_amount == o.tax_amount &&
528
+ national_tax_included == o.national_tax_included &&
529
+ tax_applied_after_discount == o.tax_applied_after_discount &&
530
+ tax_applied_level == o.tax_applied_level &&
531
+ tax_type_code == o.tax_type_code &&
532
+ freight_amount == o.freight_amount &&
533
+ foreign_amount == o.foreign_amount &&
534
+ foreign_currency == o.foreign_currency &&
535
+ exchange_rate == o.exchange_rate &&
536
+ exchange_rate_time_stamp == o.exchange_rate_time_stamp &&
537
+ surcharge == o.surcharge &&
538
+ settlement_amount == o.settlement_amount &&
539
+ settlement_currency == o.settlement_currency &&
540
+ amex_additional_amounts == o.amex_additional_amounts &&
541
+ tax_details == o.tax_details &&
542
+ service_fee_amount == o.service_fee_amount &&
543
+ original_amount == o.original_amount &&
544
+ original_currency == o.original_currency &&
545
+ cashback_amount == o.cashback_amount &&
546
+ currency_conversion == o.currency_conversion &&
547
+ oct_surcharge == o.oct_surcharge &&
548
+ order == o.order &&
549
+ anticipated_amount == o.anticipated_amount
550
+ end
551
+
552
+ # @see the `==` method
553
+ # @param [Object] Object to be compared
554
+ def eql?(o)
555
+ self == o
556
+ end
557
+
558
+ # Calculates hash code according to all attributes.
559
+ # @return [Fixnum] Hash code
560
+ def hash
561
+ [gift_wrap_amount, invoice_amount, total_amount, sub_total_amount, currency, discount_amount, duty_amount, gratuity_amount, tax_amount, national_tax_included, tax_applied_after_discount, tax_applied_level, tax_type_code, freight_amount, foreign_amount, foreign_currency, exchange_rate, exchange_rate_time_stamp, surcharge, settlement_amount, settlement_currency, amex_additional_amounts, tax_details, service_fee_amount, original_amount, original_currency, cashback_amount, currency_conversion, oct_surcharge, order, anticipated_amount].hash
562
+ end
563
+
564
+ # Builds the object from hash
565
+ # @param [Hash] attributes Model attributes in the form of hash
566
+ # @return [Object] Returns the model itself
567
+ def build_from_hash(attributes)
568
+ return nil unless attributes.is_a?(Hash)
569
+ self.class.swagger_types.each_pair do |key, type|
570
+ if type =~ /\AArray<(.*)>/i
571
+ # check to ensure the input is an array given that the the attribute
572
+ # is documented as an array but the input is not
573
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
574
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
575
+ end
576
+ elsif !attributes[self.class.attribute_map[key]].nil?
577
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
578
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
579
+ end
580
+
581
+ self
582
+ end
583
+
584
+ # Deserializes the data based on type
585
+ # @param string type Data type
586
+ # @param string value Value to be deserialized
587
+ # @return [Object] Deserialized data
588
+ def _deserialize(type, value)
589
+ case type.to_sym
590
+ when :DateTime
591
+ DateTime.parse(value)
592
+ when :Date
593
+ Date.parse(value)
594
+ when :String
595
+ value.to_s
596
+ when :Integer
597
+ value.to_i
598
+ when :Float
599
+ value.to_f
600
+ when :BOOLEAN
601
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
602
+ true
603
+ else
604
+ false
605
+ end
606
+ when :Object
607
+ # generic object (usually a Hash), return directly
608
+ value
609
+ when /\AArray<(?<inner_type>.+)>\z/
610
+ inner_type = Regexp.last_match[:inner_type]
611
+ value.map { |v| _deserialize(inner_type, v) }
612
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
613
+ k_type = Regexp.last_match[:k_type]
614
+ v_type = Regexp.last_match[:v_type]
615
+ {}.tap do |hash|
616
+ value.each do |k, v|
617
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
618
+ end
619
+ end
620
+ else # model
621
+ temp_model = CyberSource.const_get(type).new
622
+ temp_model.build_from_hash(value)
623
+ end
624
+ end
625
+
626
+ # Returns the string representation of the object
627
+ # @return [String] String presentation of the object
628
+ def to_s
629
+ to_hash.to_s
630
+ end
631
+
632
+ # to_body is an alias to to_hash (backward compatibility)
633
+ # @return [Hash] Returns the object in the form of hash
634
+ def to_body
635
+ to_hash
636
+ end
637
+
638
+ # Returns the object in the form of hash
639
+ # @return [Hash] Returns the object in the form of hash
640
+ def to_hash
641
+ hash = {}
642
+ self.class.attribute_map.each_pair do |attr, param|
643
+ value = self.send(attr)
644
+ next if value.nil?
645
+ hash[param] = _to_hash(value)
646
+ end
647
+ hash
648
+ end
649
+
650
+ # Outputs non-array value in the form of hash
651
+ # For object, use to_hash. Otherwise, just return the value
652
+ # @param [Object] value Any valid value
653
+ # @return [Hash] Returns the value in the form of hash
654
+ def _to_hash(value)
655
+ if value.is_a?(Array)
656
+ value.compact.map { |v| _to_hash(v) }
657
+ elsif value.is_a?(Hash)
658
+ {}.tap do |hash|
659
+ value.each { |k, v| hash[k] = _to_hash(v) }
660
+ end
661
+ elsif value.respond_to? :to_hash
662
+ value.to_hash
663
+ else
664
+ value
665
+ end
666
+ end
667
+ end
668
+ end