cybersource_rest_client 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client.rb +68 -8
  3. data/lib/cybersource_rest_client/api/capture_api.rb +19 -8
  4. data/lib/cybersource_rest_client/api/conversion_details_api.rb +112 -0
  5. data/lib/cybersource_rest_client/api/credit_api.rb +19 -8
  6. data/lib/cybersource_rest_client/api/flex_token_api.rb +18 -7
  7. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +88 -55
  8. data/lib/cybersource_rest_client/api/instrument_identifiers_api.rb +24 -13
  9. data/lib/cybersource_rest_client/api/key_generation_api.rb +18 -7
  10. data/lib/cybersource_rest_client/api/net_fundings_api.rb +115 -0
  11. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +20 -9
  12. data/lib/cybersource_rest_client/api/payment_instruments_api.rb +144 -89
  13. data/lib/cybersource_rest_client/api/payments_api.rb +19 -8
  14. data/lib/cybersource_rest_client/api/process_a_payout_api.rb +21 -9
  15. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +27 -10
  16. data/lib/cybersource_rest_client/api/refund_api.rb +37 -15
  17. data/lib/cybersource_rest_client/api/report_definitions_api.rb +50 -19
  18. data/lib/cybersource_rest_client/api/report_downloads_api.rb +25 -10
  19. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +104 -43
  20. data/lib/cybersource_rest_client/api/reports_api.rb +83 -27
  21. data/lib/cybersource_rest_client/api/reversal_api.rb +19 -8
  22. data/lib/cybersource_rest_client/api/search_transactions_api.rb +39 -17
  23. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +45 -15
  24. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +89 -13
  25. data/lib/cybersource_rest_client/api/transaction_details_api.rb +19 -8
  26. data/lib/cybersource_rest_client/api/user_management_api.rb +19 -8
  27. data/lib/cybersource_rest_client/api/void_api.rb +73 -29
  28. data/lib/cybersource_rest_client/api_client.rb +24 -12
  29. data/lib/cybersource_rest_client/configuration.rb +1 -1
  30. data/lib/cybersource_rest_client/models/capture_payment_request.rb +14 -5
  31. data/lib/cybersource_rest_client/models/create_credit_request.rb +1 -1
  32. data/lib/cybersource_rest_client/models/create_payment_request.rb +23 -5
  33. data/lib/cybersource_rest_client/models/inline_response_400.rb +59 -14
  34. data/lib/cybersource_rest_client/models/inline_response_400_1.rb +202 -0
  35. data/lib/cybersource_rest_client/models/{reporting_v3_notificationof_changes_get400_response_fields.rb → inline_response_400_fields.rb} +1 -1
  36. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_get200_response_transaction_batches.rb +7 -7
  37. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_id_get200_response.rb +286 -0
  38. data/lib/cybersource_rest_client/models/{tmsv1instrumentidentifiers_authorization_options_merchant_initiated_transaction.rb → pts_v1_transaction_batches_id_get200_response__links.rb} +10 -9
  39. data/lib/cybersource_rest_client/models/pts_v1_transaction_batches_id_get200_response__links_transactions.rb +193 -0
  40. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response.rb +20 -2
  41. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_credit_amount_details.rb +1 -1
  42. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_payment_information.rb +183 -0
  43. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_processing_information.rb +183 -0
  44. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_processing_information_bank_transfer_options.rb +199 -0
  45. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response.rb +1 -1
  46. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_amount_details.rb +1 -1
  47. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post400_response.rb +2 -2
  48. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +34 -7
  49. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_client_reference_information.rb +40 -5
  50. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_error_information.rb +1 -1
  51. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_error_information_details.rb +1 -1
  52. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +519 -0
  53. data/lib/cybersource_rest_client/models/{pts_v2_payments_post201_response_processor_information_issuer.rb → pts_v2_payments_post201_response_issuer_information.rb} +31 -6
  54. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_amount_details.rb +1 -1
  55. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb +1 -1
  56. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +13 -4
  57. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_account_features.rb +1 -1
  58. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_bank.rb +208 -0
  59. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_bank_account.rb +199 -0
  60. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +2 -17
  61. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_point_of_sale_information_emv.rb +1 -1
  62. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +183 -0
  63. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information_bank_transfer_options.rb +224 -0
  64. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +75 -16
  65. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_ach_verification.rb +224 -0
  66. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_avs.rb +0 -15
  67. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_electronic_verification_results.rb +2 -2
  68. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_routing.rb +249 -0
  69. data/lib/cybersource_rest_client/models/pts_v2_payments_post400_response.rb +2 -2
  70. data/lib/cybersource_rest_client/models/pts_v2_payments_post502_response.rb +2 -2
  71. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response.rb +1 -1
  72. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +63 -4
  73. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_refund_amount_details.rb +1 -1
  74. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post400_response.rb +2 -2
  75. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +11 -2
  76. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_authorization_information.rb +29 -4
  77. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_issuer_information.rb +199 -0
  78. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_reversal_amount_details.rb +1 -1
  79. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post400_response.rb +2 -2
  80. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response.rb +1 -1
  81. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response_void_amount_details.rb +1 -1
  82. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post400_response.rb +2 -2
  83. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +350 -0
  84. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_error_information.rb +239 -0
  85. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_error_information_details.rb +228 -0
  86. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information.rb +183 -0
  87. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information_merchant_descriptor.rb +234 -0
  88. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_order_information.rb +183 -0
  89. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_order_information_amount_details.rb +274 -0
  90. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processor_information.rb +299 -0
  91. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_recipient_information.rb +183 -0
  92. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_recipient_information_card.rb +224 -0
  93. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_status_information.rb +228 -0
  94. data/lib/cybersource_rest_client/models/pts_v2_payouts_post400_response.rb +1 -1
  95. data/lib/cybersource_rest_client/models/pts_v2_payouts_post502_response.rb +260 -0
  96. data/lib/cybersource_rest_client/models/pts_v2_payouts_post_response.rb +1 -1
  97. data/lib/cybersource_rest_client/models/ptsv2credits_point_of_sale_information.rb +186 -4
  98. data/lib/cybersource_rest_client/models/ptsv2credits_point_of_sale_information_emv.rb +3 -3
  99. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +18 -9
  100. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information_bank_transfer_options.rb +349 -0
  101. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information.rb +2 -2
  102. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information_sub_merchant.rb +9 -9
  103. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information.rb +29 -4
  104. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information_personal_identification.rb +3 -2
  105. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information.rb +15 -6
  106. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information_partner.rb +249 -0
  107. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +7 -7
  108. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +364 -0
  109. data/lib/cybersource_rest_client/models/{ptsv2payments_processing_information_issuer.rb → ptsv2payments_issuer_information.rb} +2 -2
  110. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_defined_information.rb +2 -2
  111. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information.rb +66 -7
  112. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +0 -6
  113. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_service_fee_descriptor.rb +249 -0
  114. data/lib/cybersource_rest_client/models/{ptsv2payments_processing_information_authorization_options_merchant_initiated_transaction.rb → ptsv2payments_merchant_initiated_transaction.rb} +3 -3
  115. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +84 -9
  116. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details_surcharge.rb +2 -2
  117. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details_tax_details.rb +32 -7
  118. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_bill_to.rb +12 -28
  119. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_bill_to_company.rb +349 -0
  120. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_invoice_details.rb +55 -5
  121. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +139 -14
  122. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_ship_to.rb +2 -2
  123. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_shipping_details.rb +2 -2
  124. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +13 -4
  125. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank.rb +208 -0
  126. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank_account.rb +299 -0
  127. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +47 -37
  128. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_customer.rb +1 -7
  129. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_fluid_data.rb +4 -4
  130. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +3 -18
  131. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +253 -16
  132. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information_emv.rb +12 -12
  133. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +20 -20
  134. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +32 -12
  135. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options_initiator.rb +4 -4
  136. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_bank_transfer_options.rb +424 -0
  137. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_capture_options.rb +1 -1
  138. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_recurring_options.rb +2 -2
  139. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +3 -3
  140. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_aggregator_information.rb +2 -2
  141. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_aggregator_information_sub_merchant.rb +8 -8
  142. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_buyer_information.rb +1 -1
  143. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +579 -0
  144. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_merchant_information.rb +39 -5
  145. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_amount_details.rb +59 -9
  146. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_bill_to.rb +11 -27
  147. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_invoice_details.rb +1 -1
  148. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_ship_to.rb +1 -1
  149. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_point_of_sale_information_emv.rb +2 -2
  150. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +5 -5
  151. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information_authorization_options.rb +2 -2
  152. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_merchant_information.rb +30 -5
  153. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_order_information_line_items.rb +9 -9
  154. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information.rb +22 -4
  155. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +5 -20
  156. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information.rb +4 -4
  157. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information_recurring_options.rb +1 -1
  158. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information.rb +14 -5
  159. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information_partner.rb +224 -0
  160. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_order_information.rb +10 -1
  161. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_order_information_amount_details.rb +199 -0
  162. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_order_information_line_items.rb +2 -2
  163. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_processing_information.rb +5 -5
  164. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_reversal_information.rb +0 -15
  165. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_reversal_information_amount_details.rb +2 -2
  166. data/lib/cybersource_rest_client/models/ptsv2payouts_client_reference_information.rb +199 -0
  167. data/lib/cybersource_rest_client/models/ptsv2payouts_merchant_information_merchant_descriptor.rb +0 -15
  168. data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +0 -15
  169. data/lib/cybersource_rest_client/models/refund_capture_request.rb +1 -1
  170. data/lib/cybersource_rest_client/models/refund_payment_request.rb +1 -1
  171. data/lib/cybersource_rest_client/models/reporting_v3_conversion_details_get200_response.rb +213 -0
  172. data/lib/cybersource_rest_client/models/reporting_v3_conversion_details_get200_response_conversion_details.rb +275 -0
  173. data/lib/cybersource_rest_client/models/reporting_v3_conversion_details_get200_response_notes.rb +204 -0
  174. data/lib/cybersource_rest_client/models/reporting_v3_net_fundings_get200_response.rb +266 -0
  175. data/lib/cybersource_rest_client/models/reporting_v3_net_fundings_get200_response_net_funding_summaries.rb +281 -0
  176. data/lib/cybersource_rest_client/models/reporting_v3_net_fundings_get200_response_total_purchases.rb +203 -0
  177. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response.rb +273 -0
  178. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_authorizations.rb +255 -0
  179. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_fee_and_funding_details.rb +290 -0
  180. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_others.rb +260 -0
  181. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_request_details.rb +235 -0
  182. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_settlement_statuses.rb +240 -0
  183. data/lib/cybersource_rest_client/models/reporting_v3_purchase_refund_details_get200_response_settlements.rb +304 -0
  184. data/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb +1 -0
  185. data/lib/cybersource_rest_client/models/reporting_v3_report_definitions_name_get200_response_attributes.rb +2 -0
  186. data/lib/cybersource_rest_client/models/reporting_v3_report_subscriptions_get200_response_subscriptions.rb +13 -13
  187. data/lib/cybersource_rest_client/models/reporting_v3_reports_get200_response_reports.rb +18 -8
  188. data/lib/cybersource_rest_client/models/reporting_v3_reports_id_get200_response.rb +15 -15
  189. data/lib/cybersource_rest_client/models/{reporting_v3_report_subscriptions_get200_response_report_preferences.rb → reporting_v3_reports_id_get200_response_report_preferences.rb} +1 -1
  190. data/lib/cybersource_rest_client/models/{reporting_v3_notificationof_changes_get400_response.rb → reportingv3_report_downloads_get400_response.rb} +42 -52
  191. data/lib/cybersource_rest_client/models/reportingv3_report_downloads_get400_response_details.rb +195 -0
  192. data/lib/cybersource_rest_client/models/reportingv3reports_report_preferences.rb +229 -0
  193. data/lib/cybersource_rest_client/models/request_body.rb +74 -104
  194. data/lib/cybersource_rest_client/models/request_body_1.rb +159 -55
  195. data/lib/cybersource_rest_client/models/tms_v1_paymentinstruments_get200_response.rb +331 -0
  196. data/lib/cybersource_rest_client/models/tms_v1_paymentinstruments_post201_response.rb +1 -1
  197. data/lib/cybersource_rest_client/models/tms_v1_paymentinstruments_post201_response_card.rb +302 -0
  198. data/lib/cybersource_rest_client/models/tmsv1instrumentidentifiers_bank_account.rb +48 -0
  199. data/lib/cybersource_rest_client/models/tmsv1instrumentidentifiers_card.rb +24 -0
  200. data/lib/cybersource_rest_client/models/tmsv1instrumentidentifiers_merchant_initiated_transaction.rb +199 -0
  201. data/lib/cybersource_rest_client/models/tmsv1instrumentidentifiers_processing_information_authorization_options_initiator.rb +1 -1
  202. data/lib/cybersource_rest_client/models/tmsv1paymentinstruments_bill_to.rb +183 -0
  203. data/lib/cybersource_rest_client/models/tmsv1paymentinstruments_buyer_information.rb +39 -0
  204. data/lib/cybersource_rest_client/models/tmsv1paymentinstruments_instrument_identifier.rb +24 -0
  205. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_error_information.rb +1 -1
  206. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_merchant_information_merchant_descriptor.rb +0 -15
  207. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb +1 -1
  208. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +0 -30
  209. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_customer.rb +184 -0
  210. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_order_information.rb +1 -1
  211. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_order_information_amount_details.rb +224 -0
  212. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information.rb +1 -1
  213. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +0 -15
  214. data/lib/cybersource_rest_client/models/tss_v2_transactions_post400_response.rb +1 -1
  215. data/lib/cybersource_rest_client/models/ums_v1_users_get400_response.rb +271 -0
  216. metadata +70 -10
  217. data/lib/cybersource_rest_client/api/transaction_batch_api.rb +0 -77
@@ -26,7 +26,7 @@ module CyberSource
26
26
  # Attribute type mapping.
27
27
  def self.swagger_types
28
28
  {
29
- :'merchant_initiated_transaction' => :'Tmsv1instrumentidentifiersProcessingInformationAuthorizationOptionsInitiator'
29
+ :'merchant_initiated_transaction' => :'Tmsv1instrumentidentifiersProcessingInformationAuthorizationOptionsInitiatorMerchantInitiatedTransaction'
30
30
  }
31
31
  end
32
32
 
@@ -138,15 +138,198 @@ module CyberSource
138
138
  # @return Array for valid properties with the reasons
139
139
  def list_invalid_properties
140
140
  invalid_properties = Array.new
141
+ if !@first_name.nil? && @first_name.to_s.length > 60
142
+ invalid_properties.push('invalid value for "first_name", the character length must be smaller than or equal to 60.')
143
+ end
144
+
145
+ if !@last_name.nil? && @last_name.to_s.length > 60
146
+ invalid_properties.push('invalid value for "last_name", the character length must be smaller than or equal to 60.')
147
+ end
148
+
149
+ if !@company.nil? && @company.to_s.length > 60
150
+ invalid_properties.push('invalid value for "company", the character length must be smaller than or equal to 60.')
151
+ end
152
+
153
+ if !@address1.nil? && @address1.to_s.length > 60
154
+ invalid_properties.push('invalid value for "address1", the character length must be smaller than or equal to 60.')
155
+ end
156
+
157
+ if !@address2.nil? && @address2.to_s.length > 60
158
+ invalid_properties.push('invalid value for "address2", the character length must be smaller than or equal to 60.')
159
+ end
160
+
161
+ if !@locality.nil? && @locality.to_s.length > 50
162
+ invalid_properties.push('invalid value for "locality", the character length must be smaller than or equal to 50.')
163
+ end
164
+
165
+ if !@administrative_area.nil? && @administrative_area.to_s.length > 20
166
+ invalid_properties.push('invalid value for "administrative_area", the character length must be smaller than or equal to 20.')
167
+ end
168
+
169
+ if !@postal_code.nil? && @postal_code.to_s.length > 10
170
+ invalid_properties.push('invalid value for "postal_code", the character length must be smaller than or equal to 10.')
171
+ end
172
+
173
+ if !@country.nil? && @country.to_s.length > 3
174
+ invalid_properties.push('invalid value for "country", the character length must be smaller than or equal to 3.')
175
+ end
176
+
177
+ if !@country.nil? && @country.to_s.length < 2
178
+ invalid_properties.push('invalid value for "country", the character length must be great than or equal to 2.')
179
+ end
180
+
181
+ if !@email.nil? && @email.to_s.length > 320
182
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 320.')
183
+ end
184
+
185
+ if !@phone_number.nil? && @phone_number.to_s.length > 32
186
+ invalid_properties.push('invalid value for "phone_number", the character length must be smaller than or equal to 32.')
187
+ end
188
+
189
+ if !@phone_number.nil? && @phone_number.to_s.length < 6
190
+ invalid_properties.push('invalid value for "phone_number", the character length must be great than or equal to 6.')
191
+ end
192
+
141
193
  invalid_properties
142
194
  end
143
195
 
144
196
  # Check to see if the all the properties in the model are valid
145
197
  # @return true if the model is valid
146
198
  def valid?
199
+ return false if !@first_name.nil? && @first_name.to_s.length > 60
200
+ return false if !@last_name.nil? && @last_name.to_s.length > 60
201
+ return false if !@company.nil? && @company.to_s.length > 60
202
+ return false if !@address1.nil? && @address1.to_s.length > 60
203
+ return false if !@address2.nil? && @address2.to_s.length > 60
204
+ return false if !@locality.nil? && @locality.to_s.length > 50
205
+ return false if !@administrative_area.nil? && @administrative_area.to_s.length > 20
206
+ return false if !@postal_code.nil? && @postal_code.to_s.length > 10
207
+ return false if !@country.nil? && @country.to_s.length > 3
208
+ return false if !@country.nil? && @country.to_s.length < 2
209
+ return false if !@email.nil? && @email.to_s.length > 320
210
+ return false if !@phone_number.nil? && @phone_number.to_s.length > 32
211
+ return false if !@phone_number.nil? && @phone_number.to_s.length < 6
147
212
  true
148
213
  end
149
214
 
215
+ # Custom attribute writer method with validation
216
+ # @param [Object] first_name Value to be assigned
217
+ def first_name=(first_name)
218
+ if !first_name.nil? && first_name.to_s.length > 60
219
+ fail ArgumentError, 'invalid value for "first_name", the character length must be smaller than or equal to 60.'
220
+ end
221
+
222
+ @first_name = first_name
223
+ end
224
+
225
+ # Custom attribute writer method with validation
226
+ # @param [Object] last_name Value to be assigned
227
+ def last_name=(last_name)
228
+ if !last_name.nil? && last_name.to_s.length > 60
229
+ fail ArgumentError, 'invalid value for "last_name", the character length must be smaller than or equal to 60.'
230
+ end
231
+
232
+ @last_name = last_name
233
+ end
234
+
235
+ # Custom attribute writer method with validation
236
+ # @param [Object] company Value to be assigned
237
+ def company=(company)
238
+ if !company.nil? && company.to_s.length > 60
239
+ fail ArgumentError, 'invalid value for "company", the character length must be smaller than or equal to 60.'
240
+ end
241
+
242
+ @company = company
243
+ end
244
+
245
+ # Custom attribute writer method with validation
246
+ # @param [Object] address1 Value to be assigned
247
+ def address1=(address1)
248
+ if !address1.nil? && address1.to_s.length > 60
249
+ fail ArgumentError, 'invalid value for "address1", the character length must be smaller than or equal to 60.'
250
+ end
251
+
252
+ @address1 = address1
253
+ end
254
+
255
+ # Custom attribute writer method with validation
256
+ # @param [Object] address2 Value to be assigned
257
+ def address2=(address2)
258
+ if !address2.nil? && address2.to_s.length > 60
259
+ fail ArgumentError, 'invalid value for "address2", the character length must be smaller than or equal to 60.'
260
+ end
261
+
262
+ @address2 = address2
263
+ end
264
+
265
+ # Custom attribute writer method with validation
266
+ # @param [Object] locality Value to be assigned
267
+ def locality=(locality)
268
+ if !locality.nil? && locality.to_s.length > 50
269
+ fail ArgumentError, 'invalid value for "locality", the character length must be smaller than or equal to 50.'
270
+ end
271
+
272
+ @locality = locality
273
+ end
274
+
275
+ # Custom attribute writer method with validation
276
+ # @param [Object] administrative_area Value to be assigned
277
+ def administrative_area=(administrative_area)
278
+ if !administrative_area.nil? && administrative_area.to_s.length > 20
279
+ fail ArgumentError, 'invalid value for "administrative_area", the character length must be smaller than or equal to 20.'
280
+ end
281
+
282
+ @administrative_area = administrative_area
283
+ end
284
+
285
+ # Custom attribute writer method with validation
286
+ # @param [Object] postal_code Value to be assigned
287
+ def postal_code=(postal_code)
288
+ if !postal_code.nil? && postal_code.to_s.length > 10
289
+ fail ArgumentError, 'invalid value for "postal_code", the character length must be smaller than or equal to 10.'
290
+ end
291
+
292
+ @postal_code = postal_code
293
+ end
294
+
295
+ # Custom attribute writer method with validation
296
+ # @param [Object] country Value to be assigned
297
+ def country=(country)
298
+ if !country.nil? && country.to_s.length > 3
299
+ fail ArgumentError, 'invalid value for "country", the character length must be smaller than or equal to 3.'
300
+ end
301
+
302
+ if !country.nil? && country.to_s.length < 2
303
+ fail ArgumentError, 'invalid value for "country", the character length must be great than or equal to 2.'
304
+ end
305
+
306
+ @country = country
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param [Object] email Value to be assigned
311
+ def email=(email)
312
+ if !email.nil? && email.to_s.length > 320
313
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 320.'
314
+ end
315
+
316
+ @email = email
317
+ end
318
+
319
+ # Custom attribute writer method with validation
320
+ # @param [Object] phone_number Value to be assigned
321
+ def phone_number=(phone_number)
322
+ if !phone_number.nil? && phone_number.to_s.length > 32
323
+ fail ArgumentError, 'invalid value for "phone_number", the character length must be smaller than or equal to 32.'
324
+ end
325
+
326
+ if !phone_number.nil? && phone_number.to_s.length < 6
327
+ fail ArgumentError, 'invalid value for "phone_number", the character length must be great than or equal to 6.'
328
+ end
329
+
330
+ @phone_number = phone_number
331
+ end
332
+
150
333
  # Checks equality by comparing each attribute.
151
334
  # @param [Object] Object to be compared
152
335
  def ==(o)
@@ -76,15 +76,54 @@ module CyberSource
76
76
  # @return Array for valid properties with the reasons
77
77
  def list_invalid_properties
78
78
  invalid_properties = Array.new
79
+ if !@company_tax_id.nil? && @company_tax_id.to_s.length > 9
80
+ invalid_properties.push('invalid value for "company_tax_id", the character length must be smaller than or equal to 9.')
81
+ end
82
+
83
+ if !@currency.nil? && @currency.to_s.length > 3
84
+ invalid_properties.push('invalid value for "currency", the character length must be smaller than or equal to 3.')
85
+ end
86
+
87
+ if !@currency.nil? && @currency.to_s.length < 3
88
+ invalid_properties.push('invalid value for "currency", the character length must be great than or equal to 3.')
89
+ end
90
+
79
91
  invalid_properties
80
92
  end
81
93
 
82
94
  # Check to see if the all the properties in the model are valid
83
95
  # @return true if the model is valid
84
96
  def valid?
97
+ return false if !@company_tax_id.nil? && @company_tax_id.to_s.length > 9
98
+ return false if !@currency.nil? && @currency.to_s.length > 3
99
+ return false if !@currency.nil? && @currency.to_s.length < 3
85
100
  true
86
101
  end
87
102
 
103
+ # Custom attribute writer method with validation
104
+ # @param [Object] company_tax_id Value to be assigned
105
+ def company_tax_id=(company_tax_id)
106
+ if !company_tax_id.nil? && company_tax_id.to_s.length > 9
107
+ fail ArgumentError, 'invalid value for "company_tax_id", the character length must be smaller than or equal to 9.'
108
+ end
109
+
110
+ @company_tax_id = company_tax_id
111
+ end
112
+
113
+ # Custom attribute writer method with validation
114
+ # @param [Object] currency Value to be assigned
115
+ def currency=(currency)
116
+ if !currency.nil? && currency.to_s.length > 3
117
+ fail ArgumentError, 'invalid value for "currency", the character length must be smaller than or equal to 3.'
118
+ end
119
+
120
+ if !currency.nil? && currency.to_s.length < 3
121
+ fail ArgumentError, 'invalid value for "currency", the character length must be great than or equal to 3.'
122
+ end
123
+
124
+ @currency = currency
125
+ end
126
+
88
127
  # Checks equality by comparing each attribute.
89
128
  # @param [Object] Object to be compared
90
129
  def ==(o)
@@ -128,6 +128,14 @@ module CyberSource
128
128
  # @return Array for valid properties with the reasons
129
129
  def list_invalid_properties
130
130
  invalid_properties = Array.new
131
+ if !@id.nil? && @id.to_s.length > 32
132
+ invalid_properties.push('invalid value for "id", the character length must be smaller than or equal to 32.')
133
+ end
134
+
135
+ if !@id.nil? && @id.to_s.length < 16
136
+ invalid_properties.push('invalid value for "id", the character length must be great than or equal to 16.')
137
+ end
138
+
131
139
  invalid_properties
132
140
  end
133
141
 
@@ -138,6 +146,8 @@ module CyberSource
138
146
  return false unless object_validator.valid?(@object)
139
147
  state_validator = EnumAttributeValidator.new('String', ['ACTIVE', 'CLOSED'])
140
148
  return false unless state_validator.valid?(@state)
149
+ return false if !@id.nil? && @id.to_s.length > 32
150
+ return false if !@id.nil? && @id.to_s.length < 16
141
151
  true
142
152
  end
143
153
 
@@ -161,6 +171,20 @@ module CyberSource
161
171
  @state = state
162
172
  end
163
173
 
174
+ # Custom attribute writer method with validation
175
+ # @param [Object] id Value to be assigned
176
+ def id=(id)
177
+ if !id.nil? && id.to_s.length > 32
178
+ fail ArgumentError, 'invalid value for "id", the character length must be smaller than or equal to 32.'
179
+ end
180
+
181
+ if !id.nil? && id.to_s.length < 16
182
+ fail ArgumentError, 'invalid value for "id", the character length must be great than or equal to 16.'
183
+ end
184
+
185
+ @id = id
186
+ end
187
+
164
188
  # Checks equality by comparing each attribute.
165
189
  # @param [Object] Object to be compared
166
190
  def ==(o)
@@ -36,7 +36,7 @@ module CyberSource
36
36
  {
37
37
  :'reason' => :'String',
38
38
  :'message' => :'String',
39
- :'details' => :'Array<PtsV2PaymentsPost201ResponseErrorInformationDetails>'
39
+ :'details' => :'Array<PtsV2PayoutsPost201ResponseErrorInformationDetails>'
40
40
  }
41
41
  end
42
42
 
@@ -48,30 +48,15 @@ module CyberSource
48
48
  # @return Array for valid properties with the reasons
49
49
  def list_invalid_properties
50
50
  invalid_properties = Array.new
51
- if !@name.nil? && @name.to_s.length > 23
52
- invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 23.')
53
- end
54
-
55
51
  invalid_properties
56
52
  end
57
53
 
58
54
  # Check to see if the all the properties in the model are valid
59
55
  # @return true if the model is valid
60
56
  def valid?
61
- return false if !@name.nil? && @name.to_s.length > 23
62
57
  true
63
58
  end
64
59
 
65
- # Custom attribute writer method with validation
66
- # @param [Object] name Value to be assigned
67
- def name=(name)
68
- if !name.nil? && name.to_s.length > 23
69
- fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 23.'
70
- end
71
-
72
- @name = name
73
- end
74
-
75
60
  # Checks equality by comparing each attribute.
76
61
  # @param [Object] Object to be compared
77
62
  def ==(o)
@@ -42,7 +42,7 @@ module CyberSource
42
42
  def self.swagger_types
43
43
  {
44
44
  :'payment_type' => :'TssV2TransactionsGet200ResponsePaymentInformationPaymentType',
45
- :'customer' => :'Ptsv2paymentsPaymentInformationCustomer',
45
+ :'customer' => :'TssV2TransactionsGet200ResponsePaymentInformationCustomer',
46
46
  :'card' => :'TssV2TransactionsGet200ResponsePaymentInformationCard',
47
47
  :'invoice' => :'TssV2TransactionsGet200ResponsePaymentInformationInvoice',
48
48
  :'bank' => :'TssV2TransactionsGet200ResponsePaymentInformationBank',
@@ -129,10 +129,6 @@ module CyberSource
129
129
  # @return Array for valid properties with the reasons
130
130
  def list_invalid_properties
131
131
  invalid_properties = Array.new
132
- if !@suffix.nil? && @suffix.to_s.length > 4
133
- invalid_properties.push('invalid value for "suffix", the character length must be smaller than or equal to 4.')
134
- end
135
-
136
132
  if !@prefix.nil? && @prefix.to_s.length > 6
137
133
  invalid_properties.push('invalid value for "prefix", the character length must be smaller than or equal to 6.')
138
134
  end
@@ -157,10 +153,6 @@ module CyberSource
157
153
  invalid_properties.push('invalid value for "issue_number", the character length must be smaller than or equal to 5.')
158
154
  end
159
155
 
160
- # if !@type.nil? && @type.to_s.length > 3
161
- # invalid_properties.push('invalid value for "type", the character length must be smaller than or equal to 3.')
162
- # end
163
-
164
156
  if !@account_encoder_id.nil? && @account_encoder_id.to_s.length > 3
165
157
  invalid_properties.push('invalid value for "account_encoder_id", the character length must be smaller than or equal to 3.')
166
158
  end
@@ -175,29 +167,17 @@ module CyberSource
175
167
  # Check to see if the all the properties in the model are valid
176
168
  # @return true if the model is valid
177
169
  def valid?
178
- return false if !@suffix.nil? && @suffix.to_s.length > 4
179
170
  return false if !@prefix.nil? && @prefix.to_s.length > 6
180
171
  return false if !@expiration_month.nil? && @expiration_month.to_s.length > 2
181
172
  return false if !@expiration_year.nil? && @expiration_year.to_s.length > 4
182
173
  return false if !@start_month.nil? && @start_month.to_s.length > 2
183
174
  return false if !@start_year.nil? && @start_year.to_s.length > 4
184
175
  return false if !@issue_number.nil? && @issue_number.to_s.length > 5
185
- # return false if !@type.nil? && @type.to_s.length > 3
186
176
  return false if !@account_encoder_id.nil? && @account_encoder_id.to_s.length > 3
187
177
  return false if !@use_as.nil? && @use_as.to_s.length > 2
188
178
  true
189
179
  end
190
180
 
191
- # Custom attribute writer method with validation
192
- # @param [Object] suffix Value to be assigned
193
- def suffix=(suffix)
194
- if !suffix.nil? && suffix.to_s.length > 4
195
- fail ArgumentError, 'invalid value for "suffix", the character length must be smaller than or equal to 4.'
196
- end
197
-
198
- @suffix = suffix
199
- end
200
-
201
181
  # Custom attribute writer method with validation
202
182
  # @param [Object] prefix Value to be assigned
203
183
  def prefix=(prefix)
@@ -258,16 +238,6 @@ module CyberSource
258
238
  @issue_number = issue_number
259
239
  end
260
240
 
261
- # Custom attribute writer method with validation
262
- # @param [Object] type Value to be assigned
263
- def type=(type)
264
- # if !type.nil? && type.to_s.length > 3
265
- # fail ArgumentError, 'invalid value for "type", the character length must be smaller than or equal to 3.'
266
- # end
267
-
268
- @type = type
269
- end
270
-
271
241
  # Custom attribute writer method with validation
272
242
  # @param [Object] account_encoder_id Value to be assigned
273
243
  def account_encoder_id=(account_encoder_id)
@@ -0,0 +1,184 @@
1
+ =begin
2
+ #CyberSource Flex API
3
+
4
+ #Simple PAN tokenization service
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class TssV2TransactionsGet200ResponsePaymentInformationCustomer
17
+ # Unique identifier for the customer's card and billing information.
18
+ attr_accessor :customer_id
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'customer_id' => :'customerId'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'customer_id' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'customerId')
43
+ self.customer_id = attributes[:'customerId']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ invalid_properties
52
+ end
53
+
54
+ # Check to see if the all the properties in the model are valid
55
+ # @return true if the model is valid
56
+ def valid?
57
+ true
58
+ end
59
+
60
+ # Checks equality by comparing each attribute.
61
+ # @param [Object] Object to be compared
62
+ def ==(o)
63
+ return true if self.equal?(o)
64
+ self.class == o.class &&
65
+ customer_id == o.customer_id
66
+ end
67
+
68
+ # @see the `==` method
69
+ # @param [Object] Object to be compared
70
+ def eql?(o)
71
+ self == o
72
+ end
73
+
74
+ # Calculates hash code according to all attributes.
75
+ # @return [Fixnum] Hash code
76
+ def hash
77
+ [customer_id].hash
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ self.class.swagger_types.each_pair do |key, type|
86
+ if type =~ /\AArray<(.*)>/i
87
+ # check to ensure the input is an array given that the the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
90
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
91
+ end
92
+ elsif !attributes[self.class.attribute_map[key]].nil?
93
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
94
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Deserializes the data based on type
101
+ # @param string type Data type
102
+ # @param string value Value to be deserialized
103
+ # @return [Object] Deserialized data
104
+ def _deserialize(type, value)
105
+ case type.to_sym
106
+ when :DateTime
107
+ DateTime.parse(value)
108
+ when :Date
109
+ Date.parse(value)
110
+ when :String
111
+ value.to_s
112
+ when :Integer
113
+ value.to_i
114
+ when :Float
115
+ value.to_f
116
+ when :BOOLEAN
117
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
118
+ true
119
+ else
120
+ false
121
+ end
122
+ when :Object
123
+ # generic object (usually a Hash), return directly
124
+ value
125
+ when /\AArray<(?<inner_type>.+)>\z/
126
+ inner_type = Regexp.last_match[:inner_type]
127
+ value.map { |v| _deserialize(inner_type, v) }
128
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
129
+ k_type = Regexp.last_match[:k_type]
130
+ v_type = Regexp.last_match[:v_type]
131
+ {}.tap do |hash|
132
+ value.each do |k, v|
133
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
134
+ end
135
+ end
136
+ else # model
137
+ temp_model = CyberSource.const_get(type).new
138
+ temp_model.build_from_hash(value)
139
+ end
140
+ end
141
+
142
+ # Returns the string representation of the object
143
+ # @return [String] String presentation of the object
144
+ def to_s
145
+ to_hash.to_s
146
+ end
147
+
148
+ # to_body is an alias to to_hash (backward compatibility)
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_body
151
+ to_hash
152
+ end
153
+
154
+ # Returns the object in the form of hash
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_hash
157
+ hash = {}
158
+ self.class.attribute_map.each_pair do |attr, param|
159
+ value = self.send(attr)
160
+ next if value.nil?
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ # Outputs non-array value in the form of hash
167
+ # For object, use to_hash. Otherwise, just return the value
168
+ # @param [Object] value Any valid value
169
+ # @return [Hash] Returns the value in the form of hash
170
+ def _to_hash(value)
171
+ if value.is_a?(Array)
172
+ value.compact.map { |v| _to_hash(v) }
173
+ elsif value.is_a?(Hash)
174
+ {}.tap do |hash|
175
+ value.each { |k, v| hash[k] = _to_hash(v) }
176
+ end
177
+ elsif value.respond_to? :to_hash
178
+ value.to_hash
179
+ else
180
+ value
181
+ end
182
+ end
183
+ end
184
+ end