From 99f5b205775c28570e605221bd5c86a97e0dd91a Mon Sep 17 00:00:00 2001 From: gnongsie Date: Wed, 8 Oct 2025 19:22:39 +0530 Subject: [PATCH 1/3] Preparation for release of next version --- .gitignore | 2 + .swagger-codegen/VERSION | 1 - cybersource_rest_client.gemspec | 2 +- docs/AccountValidationsRequest.md | 10 + docs/BankAccountValidationApi.md | 56 + docs/BatchesApi.md | 12 +- ...ntvalidationsClientReferenceInformation.md | 8 + ...sv1accountvalidationsPaymentInformation.md | 8 + ...ccountvalidationsPaymentInformationBank.md | 9 + ...alidationsPaymentInformationBankAccount.md | 8 + ...accountvalidationsProcessingInformation.md | 8 + docs/CapturePaymentRequest.md | 1 + docs/CardProcessingConfigCommonAcquirers.md | 19 + docs/CardProcessingConfigCommonProcessors.md | 1 + ...CommerceSolutionsProductsAccountUpdater.md | 2 +- docs/CommerceSolutionsProductsBinLookup.md | 2 +- ...ommerceSolutionsProductsTokenManagement.md | 2 +- docs/CreateCreditRequest.md | 1 + docs/CreateInvoiceRequest.md | 1 + docs/CreateNewWebhooksApi.md | 4 +- docs/DeviceDeAssociationApi.md | 4 +- docs/DeviceSearchApi.md | 8 +- docs/InlineResponse20010.md | 17 +- docs/InlineResponse20010Embedded.md | 8 + ... => InlineResponse20010EmbeddedBatches.md} | 6 +- docs/InlineResponse20010EmbeddedLinks.md | 8 + ...nlineResponse20010EmbeddedLinksReports.md} | 2 +- ...d => InlineResponse20010EmbeddedTotals.md} | 2 +- docs/InlineResponse20010Links.md | 4 +- docs/InlineResponse20011.md | 14 +- ...lling.md => InlineResponse20011Billing.md} | 2 +- docs/InlineResponse20011Links.md | 9 + ...t.md => InlineResponse20011LinksReport.md} | 2 +- docs/InlineResponse20011Records.md | 10 - docs/InlineResponse20012.md | 17 + docs/InlineResponse20012Records.md | 10 + ...d => InlineResponse20012ResponseRecord.md} | 4 +- ...se20012ResponseRecordAdditionalUpdates.md} | 2 +- ....md => InlineResponse20012SourceRecord.md} | 2 +- docs/InlineResponse20013.md | 11 + docs/InlineResponse2002.md | 19 +- docs/InlineResponse2003.md | 10 +- ...lineResponse2003IntegrationInformation.md} | 4 +- ...grationInformationTenantConfigurations.md} | 2 +- docs/InlineResponse2004.md | 15 +- docs/InlineResponse2005.md | 1 - docs/InlineResponse2006.md | 19 +- docs/InlineResponse2007.md | 8 +- ...evices.md => InlineResponse2007Devices.md} | 2 +- docs/InlineResponse2008.md | 8 +- docs/InlineResponse2009.md | 13 +- ...evices.md => InlineResponse2009Devices.md} | 4 +- docs/InlineResponse2009Embedded.md | 8 - docs/InlineResponse2009EmbeddedLinks.md | 8 - docs/InlineResponse2009Links.md | 9 - ...ponse2009PaymentProcessorToTerminalMap.md} | 2 +- ...eResponse2012PayoutInformationPullFunds.md | 4 +- ...eResponse2012PayoutInformationPushFunds.md | 4 +- docs/InlineResponse4009.md | 12 + docs/InlineResponse4009Details.md | 9 + docs/InlineResponse4033.md | 11 + docs/InlineResponse4041.md | 10 +- docs/InlineResponse4041Details.md | 9 + docs/InlineResponse4042.md | 8 +- docs/InlineResponse4043.md | 7 +- ...etails.md => InlineResponse4043Details.md} | 2 +- docs/InlineResponse4044.md | 11 + docs/InlineResponse4045.md | 11 + docs/InlineResponse4222.md | 11 + docs/InlineResponse5021.md | 11 + ...nvoicingV2InvoiceSettingsGet200Response.md | 1 + ...ttingsGet200ResponseMerchantInformation.md | 10 + ...sponseMerchantInformationAddressDetails.md | 13 + docs/InvoicingV2InvoicesGet200Response.md | 1 + docs/InvoicingV2InvoicesPost201Response.md | 1 + ...erchantDefinedFieldValuesWithDefinition.md | 20 + docs/InvoicingV2InvoicesPut200Response.md | 1 + ...ingv2invoicesMerchantDefinedFieldValues.md | 9 + docs/ManageWebhooksApi.md | 8 +- docs/MerchantBoardingApi.md | 4 +- docs/MerchantDefinedFieldCore.md | 16 + docs/MerchantDefinedFieldDefinitionRequest.md | 16 + docs/MerchantDefinedFieldsApi.md | 203 + docs/MitReversalRequest.md | 1 + ...InformationConfigurationsPaymentMethods.md | 1 + ...vePaymentMethodsSubscriptionInformation.md | 1 - docs/PaymentsProductsCurrencyConversion.md | 2 +- ...ntialFeeSubscriptionInformationFeatures.md | 2 +- ...ubscriptionInformationFeaturesSurcharge.md | 8 - docs/PaymentsProductsPayerAuthentication.md | 2 +- ...erAuthenticationSubscriptionInformation.md | 9 + docs/PaymentsProductsPayouts.md | 2 +- ...sConfigurationInformationConfigurations.md | 4 +- ...gurationInformationConfigurationsCommon.md | 10 + ...formationConfigurationsCommonAggregator.md | 10 + ...formationConfigurationsProcessorAccount.md | 10 - ...ationInformationConfigurationsPullfunds.md | 14 - ...ationInformationConfigurationsPushfunds.md | 16 - docs/PaymentsProductsSecureAcceptance.md | 2 +- docs/PaymentsProductsServiceFee.md | 2 +- docs/PaymentsProductsTax.md | 2 +- docs/PaymentsProductsVirtualTerminal.md | 2 +- docs/PostIssuerLifeCycleSimulationRequest.md | 10 + ...ionPatch201ResponseProcessorInformation.md | 3 +- ...1ResponseOrderInformationInvoiceDetails.md | 2 +- ...uresPost201ResponseProcessorInformation.md | 1 + ...ost201ResponsePaymentInformationEWallet.md | 2 +- ...rderPost201ResponseProcessorInformation.md | 2 +- ...ymentsPost201Response1IssuerInformation.md | 2 +- ...1Response1OrderInformationAmountDetails.md | 2 +- ...ntsPost201Response1ProcessorInformation.md | 4 +- ...ntsPost201Response2ProcessorInformation.md | 2 +- ...1ResponseOrderInformationInvoiceDetails.md | 2 +- ...entsPost201ResponseProcessorInformation.md | 3 +- ...fundPost201ResponseProcessorInformation.md | 1 + ...salsPost201ResponseProcessorInformation.md | 3 +- ...aymentInformationTokenizedPaymentMethod.md | 2 +- ...v2paymentsOrderInformationAmountDetails.md | 1 + docs/Ptsv2paymentsProcessorInformation.md | 1 + ...sv2paymentsProcessorInformationReversal.md | 1 + ...entsProcessorInformationReversalNetwork.md | 8 + docs/Ptsv2paymentsidProcessingInformation.md | 1 + docs/Ptsv2reversalsProcessorInformation.md | 8 + docs/RefundCaptureRequest.md | 1 + docs/RefundPaymentRequest.md | 1 + ...initionsGet200ResponseReportDefinitions.md | 2 +- docs/RiskProductsDecisionManager.md | 2 +- docs/RiskProductsFraudManagementEssentials.md | 2 +- docs/RiskProductsPortfolioRiskControls.md | 2 +- ...LookupPaymentAccountInformationFeatures.md | 5 + ...rdIdissuerlifecycleeventsimulationsCard.md | 10 + ...issuerlifecycleeventsimulationsMetadata.md | 8 + ...ifecycleeventsimulationsMetadataCardArt.md | 8 + ...simulationsMetadataCardArtCombinedAsset.md | 8 + docs/TokenizedCardApi.md | 53 + ...00ResponseOrderInformationAmountDetails.md | 1 + ...actionsGet200ResponsePaymentInformation.md | 1 + ...tionsGet200ResponseProcessorInformation.md | 4 + docs/UnderwritingConfiguration.md | 17 + ...rwritingConfigurationBillingInformation.md | 8 + ...illingInformationBankAccountInformation.md | 12 + ...ConfigurationClientReferenceInformation.md | 9 + ...rwritingConfigurationDepositInformation.md | 12 + ...erwritingConfigurationDeviceInformation.md | 10 + ...gConfigurationFileAttachmentInformation.md | 8 + ...writingConfigurationMerchantApplication.md | 13 + ...onfigurationMerchantApplicationProducts.md | 10 + ...ingConfigurationOrganizationInformation.md | 11 + ...anizationInformationBusinessInformation.md | 31 + ...onInformationBusinessInformationAddress.md | 14 + ...nInformationBusinessInformationAddress1.md | 14 + ...nInformationBusinessInformationAddress2.md | 14 + ...ationBusinessInformationBusinessContact.md | 12 + ...ationBusinessInformationBusinessDetails.md | 33 + ...inessDetailsProductServicesSubscription.md | 9 + ...nBusinessInformationDirectorInformation.md | 18 + ...tionBusinessInformationOwnerInformation.md | 26 + ...mationBusinessInformationTradingAddress.md | 14 + ...figurationSaleRepresentativeInformation.md | 13 + docs/UpdateInvoiceRequest.md | 1 + docs/Upv1capturecontextsCaptureMandate.md | 2 +- docs/Upv1capturecontextsCaptureMandateCPF.md | 8 + generator/cybersource-rest-spec-ruby.json | 8238 +++++++++++++++-- generator/cybersource-rest-spec.json | 8238 +++++++++++++++-- generator/cybersource_ruby_SDK_gen.sh | 6 + lib/cybersource_rest_client.rb | 97 +- .../api/bank_account_validation_api.rb | 97 + .../api/batches_api.rb | 18 +- .../api/create_new_webhooks_api.rb | 6 +- .../api/device_de_association_api.rb | 6 +- .../api/device_search_api.rb | 12 +- .../api/manage_webhooks_api.rb | 12 +- .../api/merchant_boarding_api.rb | 6 +- .../api/merchant_defined_fields_api.rb | 350 + .../api/tokenized_card_api.rb | 85 + .../models/account_validations_request.rb | 219 + ...lidations_client_reference_information.rb} | 19 +- ...1accountvalidations_payment_information.rb | 194 + ...untvalidations_payment_information_bank.rb | 220 + ...ations_payment_information_bank_account.rb | 205 + ...countvalidations_processing_information.rb | 195 + .../models/capture_payment_request.rb | 20 +- ...card_processing_config_common_acquirers.rb | 315 + ...ard_processing_config_common_processors.rb | 15 +- ...erce_solutions_products_account_updater.rb | 2 +- .../commerce_solutions_products_bin_lookup.rb | 2 +- ...rce_solutions_products_token_management.rb | 2 +- .../models/create_credit_request.rb | 20 +- .../models/create_invoice_request.rb | 22 +- .../models/inline_response_200_10.rb | 133 +- ...rb => inline_response_200_10__embedded.rb} | 4 +- ...nline_response_200_10__embedded__links.rb} | 4 +- ...sponse_200_10__embedded__links_reports.rb} | 2 +- ...line_response_200_10__embedded_batches.rb} | 6 +- ...nline_response_200_10__embedded_totals.rb} | 2 +- .../models/inline_response_200_10__links.rb | 33 +- .../models/inline_response_200_11.rb | 96 +- .../models/inline_response_200_11__links.rb | 201 + ...> inline_response_200_11__links_report.rb} | 2 +- ...g.rb => inline_response_200_11_billing.rb} | 2 +- .../models/inline_response_200_12.rb | 292 + ...s.rb => inline_response_200_12_records.rb} | 6 +- ...inline_response_200_12_response_record.rb} | 4 +- ..._12_response_record_additional_updates.rb} | 2 +- ...> inline_response_200_12_source_record.rb} | 2 +- .../models/inline_response_200_13.rb | 221 + .../models/inline_response_200_2.rb | 154 +- .../models/inline_response_200_3.rb | 90 +- ...response_200_3_integration_information.rb} | 4 +- ...tion_information_tenant_configurations.rb} | 2 +- .../models/inline_response_200_4.rb | 151 +- .../models/inline_response_200_5.rb | 13 +- .../models/inline_response_200_6.rb | 180 +- .../models/inline_response_200_7.rb | 65 +- ...es.rb => inline_response_200_7_devices.rb} | 2 +- .../models/inline_response_200_8.rb | 65 +- .../models/inline_response_200_9.rb | 70 +- ...es.rb => inline_response_200_9_devices.rb} | 4 +- ...00_9_payment_processor_to_terminal_map.rb} | 2 +- ...nse_201_2_payout_information_pull_funds.rb | 4 +- ...nse_201_2_payout_information_push_funds.rb | 4 +- .../models/inline_response_400_9.rb | 235 + .../models/inline_response_400_9_details.rb | 201 + .../models/inline_response_403_3.rb | 223 + .../models/inline_response_404_1.rb | 15 +- .../models/inline_response_404_1_details.rb | 201 + .../models/inline_response_404_2.rb | 28 +- .../models/inline_response_404_3.rb | 46 +- ...ls.rb => inline_response_404_3_details.rb} | 2 +- .../models/inline_response_404_4.rb | 223 + .../models/inline_response_404_5.rb | 223 + .../models/inline_response_422_2.rb | 223 + .../models/inline_response_502_1.rb | 223 + ...ing_v2_invoice_settings_get200_response.rb | 20 +- ...gs_get200_response_merchant_information.rb | 215 + ...e_merchant_information_address_details.rb} | 119 +- .../invoicing_v2_invoices_get200_response.rb | 14 +- .../invoicing_v2_invoices_post201_response.rb | 22 +- ...nt_defined_field_values_with_definition.rb | 309 + .../invoicing_v2_invoices_put200_response.rb | 22 +- ...2invoices_merchant_defined_field_values.rb | 199 + .../models/merchant_defined_field_core.rb | 315 + ...rchant_defined_field_definition_request.rb | 315 + .../models/mit_reversal_request.rb | 20 +- ...t_methods_configuration_payment_methods.rb | 12 +- ...ayment_methods_subscription_information.rb | 23 +- .../payments_products_currency_conversion.rb | 2 +- ...l_fee_subscription_information_features.rb | 2 +- .../payments_products_payer_authentication.rb | 2 +- ...authentication_subscription_information.rb | 202 + .../models/payments_products_payouts.rb | 2 +- ...onfiguration_information_configurations.rb | 34 +- ...ation_information_configurations_common.rb | 215 + ...mation_configurations_common_aggregator.rb | 257 + ...on_information_configurations_pullfunds.rb | 310 - ...on_information_configurations_pushfunds.rb | 335 - .../payments_products_secure_acceptance.rb | 2 +- .../models/payments_products_service_fee.rb | 2 +- .../models/payments_products_tax.rb | 2 +- .../payments_products_virtual_terminal.rb | 2 +- ...st_issuer_life_cycle_simulation_request.rb | 211 + ...patch201_response_processor_information.rb | 22 +- ...ponse_order_information_invoice_details.rb | 4 +- ..._post201_response_processor_information.rb | 20 +- ...1_response_payment_information_e_wallet.rb | 2 +- ..._post201_response_processor_information.rb | 2 +- ...s_post201_response_1_issuer_information.rb | 2 +- ...onse_1_order_information_amount_details.rb | 2 +- ...ost201_response_1_processor_information.rb | 4 +- ...ost201_response_2_processor_information.rb | 2 +- ...ponse_order_information_invoice_details.rb | 4 +- ..._post201_response_processor_information.rb | 22 +- ..._post201_response_processor_information.rb | 20 +- ..._post201_response_processor_information.rb | 22 +- ...nt_information_tokenized_payment_method.rb | 2 +- ...yments_order_information_amount_details.rb | 19 +- .../ptsv2payments_processor_information.rb | 20 +- ...payments_processor_information_reversal.rb | 20 +- ..._processor_information_reversal_network.rb | 196 + .../ptsv2paymentsid_processing_information.rb | 20 +- .../ptsv2reversals_processor_information.rb | 189 + .../models/refund_capture_request.rb | 20 +- .../models/refund_payment_request.rb | 20 +- ...ions_get200_response_report_definitions.rb | 2 +- .../models/risk_products_decision_manager.rb | 2 +- ...sk_products_fraud_management_essentials.rb | 2 +- .../risk_products_portfolio_risk_controls.rb | 2 +- ...up_payment_account_information_features.rb | 65 +- ...ations_metadata_card_art_combined_asset.rb | 190 + ..._idissuerlifecycleeventsimulations_card.rb | 230 + ...ssuerlifecycleeventsimulations_metadata.rb | 189 + ...cycleeventsimulations_metadata_card_art.rb | 189 + ...sponse_order_information_amount_details.rb | 19 +- ...ons_get200_response_payment_information.rb | 12 +- ...s_get200_response_processor_information.rb | 63 +- .../models/underwriting_configuration.rb | 280 + ...ting_configuration_billing_information.rb} | 29 +- ...ng_information_bank_account_information.rb | 285 + ...s_details_product_services_subscription.rb | 213 + ...figuration_client_reference_information.rb | 231 + ...iting_configuration_deposit_information.rb | 285 + ...riting_configuration_device_information.rb | 212 + ...nfiguration_file_attachment_information.rb | 190 + ...ting_configuration_merchant_application.rb | 256 + ...iguration_merchant_application_products.rb | 251 + ..._configuration_organization_information.rb | 258 + ...zation_information_business_information.rb | 677 ++ ...nformation_business_information_address.rb | 397 + ...ormation_business_information_address_1.rb | 388 + ...ormation_business_information_address_2.rb | 352 + ...n_business_information_business_contact.rb | 309 + ...n_business_information_business_details.rb | 555 ++ ...siness_information_director_information.rb | 380 + ..._business_information_owner_information.rb | 611 ++ ...on_business_information_trading_address.rb | 352 + ...uration_sale_representative_information.rb | 335 + .../models/update_invoice_request.rb | 22 +- .../upv1capturecontexts_capture_mandate.rb | 3 +- ...upv1capturecontexts_capture_mandate_cpf.rb | 190 + spec/api/bank_account_validation_api_spec.rb | 46 + spec/api/batches_api_spec.rb | 6 +- spec/api/create_new_webhooks_api_spec.rb | 2 +- spec/api/device_de_association_api_spec.rb | 2 +- spec/api/device_search_api_spec.rb | 4 +- spec/api/manage_webhooks_api_spec.rb | 4 +- spec/api/merchant_boarding_api_spec.rb | 2 +- spec/api/merchant_defined_fields_api_spec.rb | 82 + spec/api/tokenized_card_api_spec.rb | 14 + .../account_validations_request_spec.rb | 52 + ...tions_client_reference_information_spec.rb | 40 + ...s_payment_information_bank_account_spec.rb | 40 + ...lidations_payment_information_bank_spec.rb | 46 + ...untvalidations_payment_information_spec.rb | 40 + ...validations_processing_information_spec.rb | 40 + spec/models/capture_payment_request_spec.rb | 6 + ...processing_config_common_acquirers_spec.rb | 106 + ...rocessing_config_common_processors_spec.rb | 6 + spec/models/create_credit_request_spec.rb | 6 + spec/models/create_invoice_request_spec.rb | 6 + ...e_200_10__embedded__links_reports_spec.rb} | 12 +- ..._response_200_10__embedded__links_spec.rb} | 12 +- ...response_200_10__embedded_batches_spec.rb} | 12 +- ... inline_response_200_10__embedded_spec.rb} | 12 +- ..._response_200_10__embedded_totals_spec.rb} | 12 +- .../inline_response_200_10__links_spec.rb | 4 +- spec/models/inline_response_200_10_spec.rb | 30 +- ...ine_response_200_11__links_report_spec.rb} | 12 +- ... => inline_response_200_11__links_spec.rb} | 16 +- ...=> inline_response_200_11_billing_spec.rb} | 12 +- spec/models/inline_response_200_11_spec.rb | 14 +- ...=> inline_response_200_12_records_spec.rb} | 12 +- ...esponse_record_additional_updates_spec.rb} | 12 +- ...e_response_200_12_response_record_spec.rb} | 12 +- ...ine_response_200_12_source_record_spec.rb} | 12 +- spec/models/inline_response_200_12_spec.rb | 94 + spec/models/inline_response_200_13_spec.rb | 58 + spec/models/inline_response_200_2_spec.rb | 44 +- ...nse_200_3_integration_information_spec.rb} | 12 +- ...information_tenant_configurations_spec.rb} | 12 +- spec/models/inline_response_200_3_spec.rb | 30 +- spec/models/inline_response_200_4_spec.rb | 60 +- spec/models/inline_response_200_5_spec.rb | 6 - spec/models/inline_response_200_6_spec.rb | 54 +- ... => inline_response_200_7_devices_spec.rb} | 12 +- spec/models/inline_response_200_7_spec.rb | 26 +- spec/models/inline_response_200_8_spec.rb | 26 +- ... => inline_response_200_9_devices_spec.rb} | 12 +- ...payment_processor_to_terminal_map_spec.rb} | 12 +- spec/models/inline_response_200_9_spec.rb | 14 +- ... => inline_response_400_9_details_spec.rb} | 12 +- spec/models/inline_response_400_9_spec.rb | 64 + spec/models/inline_response_403_3_spec.rb | 58 + .../inline_response_404_1_details_spec.rb | 46 + spec/models/inline_response_404_2_spec.rb | 12 + .../inline_response_404_3_details_spec.rb | 46 + spec/models/inline_response_404_3_spec.rb | 10 +- spec/models/inline_response_404_4_spec.rb | 58 + spec/models/inline_response_404_5_spec.rb | 58 + spec/models/inline_response_422_2_spec.rb | 58 + spec/models/inline_response_502_1_spec.rb | 58 + ...rchant_information_address_details_spec.rb | 70 + ...t200_response_merchant_information_spec.rb | 52 + ...2_invoice_settings_get200_response_spec.rb | 6 + ...oicing_v2_invoices_get200_response_spec.rb | 6 + ...fined_field_values_with_definition_spec.rb | 112 + ...icing_v2_invoices_post201_response_spec.rb | 6 + ...oicing_v2_invoices_put200_response_spec.rb | 6 + ...ices_merchant_defined_field_values_spec.rb | 46 + .../merchant_defined_field_core_spec.rb | 88 + ...t_defined_field_definition_request_spec.rb | 88 + spec/models/mit_reversal_request_spec.rb | 6 + ...ion_configurations_payment_methods_spec.rb | 6 + ...t_methods_subscription_information_spec.rb | 6 - ...ion_information_features_surcharge_spec.rb | 40 - ...ntication_subscription_information_spec.rb | 46 + ..._configurations_common_aggregator_spec.rb} | 18 +- ..._information_configurations_common_spec.rb | 52 + ...formation_configurations_pushfunds_spec.rb | 88 - ...uration_information_configurations_spec.rb | 4 +- ...suer_life_cycle_simulation_request_spec.rb | 52 + ...201_response_processor_information_spec.rb | 6 + ...201_response_processor_information_spec.rb | 6 + ...201_response_processor_information_spec.rb | 6 + ...201_response_processor_information_spec.rb | 6 + ...201_response_processor_information_spec.rb | 6 + ...s_order_information_amount_details_spec.rb | 6 + ...essor_information_reversal_network_spec.rb | 40 + ...nts_processor_information_reversal_spec.rb | 6 + ...tsv2payments_processor_information_spec.rb | 6 + ...2paymentsid_processing_information_spec.rb | 6 + ...sv2reversals_processor_information_spec.rb | 40 + spec/models/refund_capture_request_spec.rb | 6 + spec/models/refund_payment_request_spec.rb | 6 + ...yment_account_information_features_spec.rb | 30 + ...suerlifecycleeventsimulations_card_spec.rb | 52 + ...s_metadata_card_art_combined_asset_spec.rb | 40 + ...eventsimulations_metadata_card_art_spec.rb | 40 + ...lifecycleeventsimulations_metadata_spec.rb | 40 + ...e_order_information_amount_details_spec.rb | 6 + ...et200_response_payment_information_spec.rb | 6 + ...200_response_processor_information_spec.rb | 24 + ...formation_bank_account_information_spec.rb | 64 + ..._configuration_billing_information_spec.rb | 40 + ...ation_client_reference_information_spec.rb | 46 + ..._configuration_deposit_information_spec.rb | 64 + ...g_configuration_device_information_spec.rb | 52 + ...ration_file_attachment_information_spec.rb | 40 + ...tion_merchant_application_products_spec.rb | 52 + ...configuration_merchant_application_spec.rb | 70 + ...on_business_information_address_1_spec.rb} | 26 +- ...ion_business_information_address_2_spec.rb | 76 + ...ation_business_information_address_spec.rb | 76 + ...iness_information_business_contact_spec.rb | 64 + ...ails_product_services_subscription_spec.rb | 46 + ...iness_information_business_details_spec.rb | 190 + ...s_information_director_information_spec.rb | 100 + ...ness_information_owner_information_spec.rb | 148 + ...n_information_business_information_spec.rb | 178 + ...siness_information_trading_address_spec.rb | 76 + ...iguration_organization_information_spec.rb | 58 + ...on_sale_representative_information_spec.rb | 70 + .../models/underwriting_configuration_spec.rb | 94 + spec/models/update_invoice_request_spec.rb | 6 + ...apturecontexts_capture_mandate_cpf_spec.rb | 40 + 444 files changed, 36336 insertions(+), 3793 deletions(-) delete mode 100644 .swagger-codegen/VERSION create mode 100644 docs/AccountValidationsRequest.md create mode 100644 docs/BankAccountValidationApi.md create mode 100644 docs/Bavsv1accountvalidationsClientReferenceInformation.md create mode 100644 docs/Bavsv1accountvalidationsPaymentInformation.md create mode 100644 docs/Bavsv1accountvalidationsPaymentInformationBank.md create mode 100644 docs/Bavsv1accountvalidationsPaymentInformationBankAccount.md create mode 100644 docs/Bavsv1accountvalidationsProcessingInformation.md create mode 100644 docs/CardProcessingConfigCommonAcquirers.md create mode 100644 docs/InlineResponse20010Embedded.md rename docs/{InlineResponse2009EmbeddedBatches.md => InlineResponse20010EmbeddedBatches.md} (79%) create mode 100644 docs/InlineResponse20010EmbeddedLinks.md rename docs/{InlineResponse2009EmbeddedLinksReports.md => InlineResponse20010EmbeddedLinksReports.md} (73%) rename docs/{InlineResponse2009EmbeddedTotals.md => InlineResponse20010EmbeddedTotals.md} (88%) rename docs/{InlineResponse20010Billing.md => InlineResponse20011Billing.md} (86%) create mode 100644 docs/InlineResponse20011Links.md rename docs/{InlineResponse20010LinksReport.md => InlineResponse20011LinksReport.md} (76%) delete mode 100644 docs/InlineResponse20011Records.md create mode 100644 docs/InlineResponse20012.md create mode 100644 docs/InlineResponse20012Records.md rename docs/{InlineResponse20011ResponseRecord.md => InlineResponse20012ResponseRecord.md} (80%) rename docs/{InlineResponse20011ResponseRecordAdditionalUpdates.md => InlineResponse20012ResponseRecordAdditionalUpdates.md} (85%) rename docs/{InlineResponse20011SourceRecord.md => InlineResponse20012SourceRecord.md} (91%) create mode 100644 docs/InlineResponse20013.md rename docs/{InlineResponse2002IntegrationInformation.md => InlineResponse2003IntegrationInformation.md} (70%) rename docs/{InlineResponse2002IntegrationInformationTenantConfigurations.md => InlineResponse2003IntegrationInformationTenantConfigurations.md} (93%) rename docs/{InlineResponse2006Devices.md => InlineResponse2007Devices.md} (93%) rename docs/{InlineResponse2008Devices.md => InlineResponse2009Devices.md} (85%) delete mode 100644 docs/InlineResponse2009Embedded.md delete mode 100644 docs/InlineResponse2009EmbeddedLinks.md delete mode 100644 docs/InlineResponse2009Links.md rename docs/{InlineResponse2008PaymentProcessorToTerminalMap.md => InlineResponse2009PaymentProcessorToTerminalMap.md} (76%) create mode 100644 docs/InlineResponse4009.md create mode 100644 docs/InlineResponse4009Details.md create mode 100644 docs/InlineResponse4033.md create mode 100644 docs/InlineResponse4041Details.md rename docs/{InlineResponse4042Details.md => InlineResponse4043Details.md} (82%) create mode 100644 docs/InlineResponse4044.md create mode 100644 docs/InlineResponse4045.md create mode 100644 docs/InlineResponse4222.md create mode 100644 docs/InlineResponse5021.md create mode 100644 docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.md create mode 100644 docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.md create mode 100644 docs/InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md create mode 100644 docs/Invoicingv2invoicesMerchantDefinedFieldValues.md create mode 100644 docs/MerchantDefinedFieldCore.md create mode 100644 docs/MerchantDefinedFieldDefinitionRequest.md create mode 100644 docs/MerchantDefinedFieldsApi.md delete mode 100644 docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.md create mode 100644 docs/PaymentsProductsPayerAuthenticationSubscriptionInformation.md create mode 100644 docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.md create mode 100644 docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.md delete mode 100644 docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.md delete mode 100644 docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.md delete mode 100644 docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.md create mode 100644 docs/PostIssuerLifeCycleSimulationRequest.md create mode 100644 docs/Ptsv2paymentsProcessorInformationReversalNetwork.md create mode 100644 docs/Ptsv2reversalsProcessorInformation.md create mode 100644 docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.md create mode 100644 docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.md create mode 100644 docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.md create mode 100644 docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.md create mode 100644 docs/UnderwritingConfiguration.md create mode 100644 docs/UnderwritingConfigurationBillingInformation.md create mode 100644 docs/UnderwritingConfigurationBillingInformationBankAccountInformation.md create mode 100644 docs/UnderwritingConfigurationClientReferenceInformation.md create mode 100644 docs/UnderwritingConfigurationDepositInformation.md create mode 100644 docs/UnderwritingConfigurationDeviceInformation.md create mode 100644 docs/UnderwritingConfigurationFileAttachmentInformation.md create mode 100644 docs/UnderwritingConfigurationMerchantApplication.md create mode 100644 docs/UnderwritingConfigurationMerchantApplicationProducts.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformation.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformation.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.md create mode 100644 docs/UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.md create mode 100644 docs/UnderwritingConfigurationSaleRepresentativeInformation.md create mode 100644 docs/Upv1capturecontextsCaptureMandateCPF.md create mode 100644 lib/cybersource_rest_client/api/bank_account_validation_api.rb create mode 100644 lib/cybersource_rest_client/api/merchant_defined_fields_api.rb create mode 100644 lib/cybersource_rest_client/models/account_validations_request.rb rename lib/cybersource_rest_client/models/{payments_products_differential_fee_subscription_information_features_surcharge.rb => bavsv1accountvalidations_client_reference_information.rb} (93%) create mode 100644 lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information.rb create mode 100644 lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank.rb create mode 100644 lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account.rb create mode 100644 lib/cybersource_rest_client/models/bavsv1accountvalidations_processing_information.rb create mode 100644 lib/cybersource_rest_client/models/card_processing_config_common_acquirers.rb rename lib/cybersource_rest_client/models/{inline_response_200_9__embedded.rb => inline_response_200_10__embedded.rb} (98%) rename lib/cybersource_rest_client/models/{inline_response_200_9__embedded__links.rb => inline_response_200_10__embedded__links.rb} (97%) rename lib/cybersource_rest_client/models/{inline_response_200_9__embedded__links_reports.rb => inline_response_200_10__embedded__links_reports.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_9__embedded_batches.rb => inline_response_200_10__embedded_batches.rb} (98%) rename lib/cybersource_rest_client/models/{inline_response_200_9__embedded_totals.rb => inline_response_200_10__embedded_totals.rb} (99%) create mode 100644 lib/cybersource_rest_client/models/inline_response_200_11__links.rb rename lib/cybersource_rest_client/models/{inline_response_200_10__links_report.rb => inline_response_200_11__links_report.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_10_billing.rb => inline_response_200_11_billing.rb} (99%) create mode 100644 lib/cybersource_rest_client/models/inline_response_200_12.rb rename lib/cybersource_rest_client/models/{inline_response_200_11_records.rb => inline_response_200_12_records.rb} (97%) rename lib/cybersource_rest_client/models/{inline_response_200_11_response_record.rb => inline_response_200_12_response_record.rb} (98%) rename lib/cybersource_rest_client/models/{inline_response_200_11_response_record_additional_updates.rb => inline_response_200_12_response_record_additional_updates.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_11_source_record.rb => inline_response_200_12_source_record.rb} (99%) create mode 100644 lib/cybersource_rest_client/models/inline_response_200_13.rb rename lib/cybersource_rest_client/models/{inline_response_200_2_integration_information.rb => inline_response_200_3_integration_information.rb} (98%) rename lib/cybersource_rest_client/models/{inline_response_200_2_integration_information_tenant_configurations.rb => inline_response_200_3_integration_information_tenant_configurations.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_6_devices.rb => inline_response_200_7_devices.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_8_devices.rb => inline_response_200_9_devices.rb} (99%) rename lib/cybersource_rest_client/models/{inline_response_200_8_payment_processor_to_terminal_map.rb => inline_response_200_9_payment_processor_to_terminal_map.rb} (99%) create mode 100644 lib/cybersource_rest_client/models/inline_response_400_9.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_400_9_details.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_403_3.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_404_1_details.rb rename lib/cybersource_rest_client/models/{inline_response_404_2_details.rb => inline_response_404_3_details.rb} (99%) create mode 100644 lib/cybersource_rest_client/models/inline_response_404_4.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_404_5.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_422_2.rb create mode 100644 lib/cybersource_rest_client/models/inline_response_502_1.rb create mode 100644 lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information.rb rename lib/cybersource_rest_client/models/{payments_products_payouts_configuration_information_configurations_processor_account.rb => invoicing_v2_invoice_settings_get200_response_merchant_information_address_details.rb} (69%) create mode 100644 lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition.rb create mode 100644 lib/cybersource_rest_client/models/invoicingv2invoices_merchant_defined_field_values.rb create mode 100644 lib/cybersource_rest_client/models/merchant_defined_field_core.rb create mode 100644 lib/cybersource_rest_client/models/merchant_defined_field_definition_request.rb create mode 100644 lib/cybersource_rest_client/models/payments_products_payer_authentication_subscription_information.rb create mode 100644 lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common.rb create mode 100644 lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common_aggregator.rb delete mode 100644 lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pullfunds.rb delete mode 100644 lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pushfunds.rb create mode 100644 lib/cybersource_rest_client/models/post_issuer_life_cycle_simulation_request.rb create mode 100644 lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal_network.rb create mode 100644 lib/cybersource_rest_client/models/ptsv2reversals_processor_information.rb create mode 100644 lib/cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb create mode 100644 lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card.rb create mode 100644 lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata.rb create mode 100644 lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration.rb rename lib/cybersource_rest_client/models/{inline_response_200_9__links.rb => underwriting_configuration_billing_information.rb} (90%) create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_billing_information_bank_account_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_client_reference_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_deposit_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_device_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_file_attachment_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_merchant_application.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_merchant_application_products.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_1.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address.rb create mode 100644 lib/cybersource_rest_client/models/underwriting_configuration_sale_representative_information.rb create mode 100644 lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate_cpf.rb create mode 100644 spec/api/bank_account_validation_api_spec.rb create mode 100644 spec/api/merchant_defined_fields_api_spec.rb create mode 100644 spec/models/account_validations_request_spec.rb create mode 100644 spec/models/bavsv1accountvalidations_client_reference_information_spec.rb create mode 100644 spec/models/bavsv1accountvalidations_payment_information_bank_account_spec.rb create mode 100644 spec/models/bavsv1accountvalidations_payment_information_bank_spec.rb create mode 100644 spec/models/bavsv1accountvalidations_payment_information_spec.rb create mode 100644 spec/models/bavsv1accountvalidations_processing_information_spec.rb create mode 100644 spec/models/card_processing_config_common_acquirers_spec.rb rename spec/models/{inline_response_200_9__embedded__links_reports_spec.rb => inline_response_200_10__embedded__links_reports_spec.rb} (68%) rename spec/models/{inline_response_200_9__embedded__links_spec.rb => inline_response_200_10__embedded__links_spec.rb} (70%) rename spec/models/{inline_response_200_9__embedded_batches_spec.rb => inline_response_200_10__embedded_batches_spec.rb} (87%) rename spec/models/{inline_response_200_9__embedded_spec.rb => inline_response_200_10__embedded_spec.rb} (72%) rename spec/models/{inline_response_200_9__embedded_totals_spec.rb => inline_response_200_10__embedded_totals_spec.rb} (82%) rename spec/models/{inline_response_200_10__links_report_spec.rb => inline_response_200_11__links_report_spec.rb} (72%) rename spec/models/{inline_response_200_9__links_spec.rb => inline_response_200_11__links_spec.rb} (71%) rename spec/models/{inline_response_200_10_billing_spec.rb => inline_response_200_11_billing_spec.rb} (81%) rename spec/models/{inline_response_200_11_records_spec.rb => inline_response_200_12_records_spec.rb} (79%) rename spec/models/{inline_response_200_11_response_record_additional_updates_spec.rb => inline_response_200_12_response_record_additional_updates_spec.rb} (82%) rename spec/models/{inline_response_200_11_response_record_spec.rb => inline_response_200_12_response_record_spec.rb} (88%) rename spec/models/{inline_response_200_11_source_record_spec.rb => inline_response_200_12_source_record_spec.rb} (87%) create mode 100644 spec/models/inline_response_200_12_spec.rb create mode 100644 spec/models/inline_response_200_13_spec.rb rename spec/models/{inline_response_200_2_integration_information_spec.rb => inline_response_200_3_integration_information_spec.rb} (75%) rename spec/models/{inline_response_200_2_integration_information_tenant_configurations_spec.rb => inline_response_200_3_integration_information_tenant_configurations_spec.rb} (82%) rename spec/models/{inline_response_200_6_devices_spec.rb => inline_response_200_7_devices_spec.rb} (88%) rename spec/models/{inline_response_200_8_devices_spec.rb => inline_response_200_9_devices_spec.rb} (90%) rename spec/models/{inline_response_200_8_payment_processor_to_terminal_map_spec.rb => inline_response_200_9_payment_processor_to_terminal_map_spec.rb} (75%) rename spec/models/{inline_response_404_2_details_spec.rb => inline_response_400_9_details_spec.rb} (77%) create mode 100644 spec/models/inline_response_400_9_spec.rb create mode 100644 spec/models/inline_response_403_3_spec.rb create mode 100644 spec/models/inline_response_404_1_details_spec.rb create mode 100644 spec/models/inline_response_404_3_details_spec.rb create mode 100644 spec/models/inline_response_404_4_spec.rb create mode 100644 spec/models/inline_response_404_5_spec.rb create mode 100644 spec/models/inline_response_422_2_spec.rb create mode 100644 spec/models/inline_response_502_1_spec.rb create mode 100644 spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details_spec.rb create mode 100644 spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_spec.rb create mode 100644 spec/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition_spec.rb create mode 100644 spec/models/invoicingv2invoices_merchant_defined_field_values_spec.rb create mode 100644 spec/models/merchant_defined_field_core_spec.rb create mode 100644 spec/models/merchant_defined_field_definition_request_spec.rb delete mode 100644 spec/models/payments_products_differential_fee_subscription_information_features_surcharge_spec.rb create mode 100644 spec/models/payments_products_payer_authentication_subscription_information_spec.rb rename spec/models/{payments_products_payouts_configuration_information_configurations_processor_account_spec.rb => payments_products_payouts_configuration_information_configurations_common_aggregator_spec.rb} (75%) create mode 100644 spec/models/payments_products_payouts_configuration_information_configurations_common_spec.rb delete mode 100644 spec/models/payments_products_payouts_configuration_information_configurations_pushfunds_spec.rb create mode 100644 spec/models/post_issuer_life_cycle_simulation_request_spec.rb create mode 100644 spec/models/ptsv2payments_processor_information_reversal_network_spec.rb create mode 100644 spec/models/ptsv2reversals_processor_information_spec.rb create mode 100644 spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card_spec.rb create mode 100644 spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset_spec.rb create mode 100644 spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_spec.rb create mode 100644 spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_spec.rb create mode 100644 spec/models/underwriting_configuration_billing_information_bank_account_information_spec.rb create mode 100644 spec/models/underwriting_configuration_billing_information_spec.rb create mode 100644 spec/models/underwriting_configuration_client_reference_information_spec.rb create mode 100644 spec/models/underwriting_configuration_deposit_information_spec.rb create mode 100644 spec/models/underwriting_configuration_device_information_spec.rb create mode 100644 spec/models/underwriting_configuration_file_attachment_information_spec.rb create mode 100644 spec/models/underwriting_configuration_merchant_application_products_spec.rb create mode 100644 spec/models/underwriting_configuration_merchant_application_spec.rb rename spec/models/{payments_products_payouts_configuration_information_configurations_pullfunds_spec.rb => underwriting_configuration_organization_information_business_information_address_1_spec.rb} (62%) create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_address_2_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_address_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_business_contact_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_business_details_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_director_information_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_owner_information_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_business_information_trading_address_spec.rb create mode 100644 spec/models/underwriting_configuration_organization_information_spec.rb create mode 100644 spec/models/underwriting_configuration_sale_representative_information_spec.rb create mode 100644 spec/models/underwriting_configuration_spec.rb create mode 100644 spec/models/upv1capturecontexts_capture_mandate_cpf_spec.rb diff --git a/.gitignore b/.gitignore index 54737ee4..e5089f81 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,5 @@ build/ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc +/.swagger-codegen +/.swagger-codegen diff --git a/.swagger-codegen/VERSION b/.swagger-codegen/VERSION deleted file mode 100644 index e4e0ea0a..00000000 --- a/.swagger-codegen/VERSION +++ /dev/null @@ -1 +0,0 @@ -2.4.38 \ No newline at end of file diff --git a/cybersource_rest_client.gemspec b/cybersource_rest_client.gemspec index bff06020..9a12fe7d 100644 --- a/cybersource_rest_client.gemspec +++ b/cybersource_rest_client.gemspec @@ -17,7 +17,7 @@ require "cybersource_rest_client/version" Gem::Specification.new do |s| s.name = "cybersource_rest_client" - s.version = "0.0.77" + s.version = "0.0.78" s.platform = Gem::Platform::RUBY s.authors = ["CyberSource"] s.email = ["cybersourcedev@gmail.com"] diff --git a/docs/AccountValidationsRequest.md b/docs/AccountValidationsRequest.md new file mode 100644 index 00000000..a2e8640f --- /dev/null +++ b/docs/AccountValidationsRequest.md @@ -0,0 +1,10 @@ +# CyberSource::AccountValidationsRequest + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_reference_information** | [**Bavsv1accountvalidationsClientReferenceInformation**](Bavsv1accountvalidationsClientReferenceInformation.md) | | [optional] +**processing_information** | [**Bavsv1accountvalidationsProcessingInformation**](Bavsv1accountvalidationsProcessingInformation.md) | | +**payment_information** | [**Bavsv1accountvalidationsPaymentInformation**](Bavsv1accountvalidationsPaymentInformation.md) | | + + diff --git a/docs/BankAccountValidationApi.md b/docs/BankAccountValidationApi.md new file mode 100644 index 00000000..dd92397b --- /dev/null +++ b/docs/BankAccountValidationApi.md @@ -0,0 +1,56 @@ +# CyberSource::BankAccountValidationApi + +All URIs are relative to *https://apitest.cybersource.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**bank_account_validation_request**](BankAccountValidationApi.md#bank_account_validation_request) | **POST** /bavs/v1/account-validations | Visa Bank Account Validation Service + + +# **bank_account_validation_request** +> InlineResponse20013 bank_account_validation_request(account_validations_request) + +Visa Bank Account Validation Service + +The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions. + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::BankAccountValidationApi.new + +account_validations_request = CyberSource::AccountValidationsRequest.new # AccountValidationsRequest | + + +begin + #Visa Bank Account Validation Service + result = api_instance.bank_account_validation_request(account_validations_request) + p result +rescue CyberSource::ApiError => e + puts "Exception when calling BankAccountValidationApi->bank_account_validation_request: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **account_validations_request** | [**AccountValidationsRequest**](AccountValidationsRequest.md)| | + +### Return type + +[**InlineResponse20013**](InlineResponse20013.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json;charset=utf-8 + - **Accept**: application/json;charset=utf-8 + + + diff --git a/docs/BatchesApi.md b/docs/BatchesApi.md index 5f6763fe..ed08e3ad 100644 --- a/docs/BatchesApi.md +++ b/docs/BatchesApi.md @@ -11,7 +11,7 @@ Method | HTTP request | Description # **get_batch_report** -> InlineResponse20011 get_batch_report(batch_id) +> InlineResponse20012 get_batch_report(batch_id) Retrieve a Batch Report @@ -44,7 +44,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse20011**](InlineResponse20011.md) +[**InlineResponse20012**](InlineResponse20012.md) ### Authorization @@ -58,7 +58,7 @@ No authorization required # **get_batch_status** -> InlineResponse20010 get_batch_status(batch_id) +> InlineResponse20011 get_batch_status(batch_id) Retrieve a Batch Status @@ -91,7 +91,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse20010**](InlineResponse20010.md) +[**InlineResponse20011**](InlineResponse20011.md) ### Authorization @@ -105,7 +105,7 @@ No authorization required # **get_batches_list** -> InlineResponse2009 get_batches_list(opts) +> InlineResponse20010 get_batches_list(opts) List Batches @@ -145,7 +145,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2009**](InlineResponse2009.md) +[**InlineResponse20010**](InlineResponse20010.md) ### Authorization diff --git a/docs/Bavsv1accountvalidationsClientReferenceInformation.md b/docs/Bavsv1accountvalidationsClientReferenceInformation.md new file mode 100644 index 00000000..36feaccb --- /dev/null +++ b/docs/Bavsv1accountvalidationsClientReferenceInformation.md @@ -0,0 +1,8 @@ +# CyberSource::Bavsv1accountvalidationsClientReferenceInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **String** | Client reference code | [optional] + + diff --git a/docs/Bavsv1accountvalidationsPaymentInformation.md b/docs/Bavsv1accountvalidationsPaymentInformation.md new file mode 100644 index 00000000..9bd1798b --- /dev/null +++ b/docs/Bavsv1accountvalidationsPaymentInformation.md @@ -0,0 +1,8 @@ +# CyberSource::Bavsv1accountvalidationsPaymentInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bank** | [**Bavsv1accountvalidationsPaymentInformationBank**](Bavsv1accountvalidationsPaymentInformationBank.md) | | + + diff --git a/docs/Bavsv1accountvalidationsPaymentInformationBank.md b/docs/Bavsv1accountvalidationsPaymentInformationBank.md new file mode 100644 index 00000000..5409ef36 --- /dev/null +++ b/docs/Bavsv1accountvalidationsPaymentInformationBank.md @@ -0,0 +1,9 @@ +# CyberSource::Bavsv1accountvalidationsPaymentInformationBank + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**routing_number** | **String** | Bank routing number. This is also called the transit number. Non-Negative Integer | +**account** | [**Bavsv1accountvalidationsPaymentInformationBankAccount**](Bavsv1accountvalidationsPaymentInformationBankAccount.md) | | + + diff --git a/docs/Bavsv1accountvalidationsPaymentInformationBankAccount.md b/docs/Bavsv1accountvalidationsPaymentInformationBankAccount.md new file mode 100644 index 00000000..f54fafb2 --- /dev/null +++ b/docs/Bavsv1accountvalidationsPaymentInformationBankAccount.md @@ -0,0 +1,8 @@ +# CyberSource::Bavsv1accountvalidationsPaymentInformationBankAccount + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**number** | **String** | Account Number. Non-Negative Integer. example: 12345678901234577 | + + diff --git a/docs/Bavsv1accountvalidationsProcessingInformation.md b/docs/Bavsv1accountvalidationsProcessingInformation.md new file mode 100644 index 00000000..fd6cdca3 --- /dev/null +++ b/docs/Bavsv1accountvalidationsProcessingInformation.md @@ -0,0 +1,8 @@ +# CyberSource::Bavsv1accountvalidationsProcessingInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**validation_level** | **Integer** | Enter 1 for routing and account number validation. | + + diff --git a/docs/CapturePaymentRequest.md b/docs/CapturePaymentRequest.md index cca834a3..2fbdc09a 100644 --- a/docs/CapturePaymentRequest.md +++ b/docs/CapturePaymentRequest.md @@ -17,5 +17,6 @@ Name | Type | Description | Notes **installment_information** | [**Ptsv2paymentsidcapturesInstallmentInformation**](Ptsv2paymentsidcapturesInstallmentInformation.md) | | [optional] **travel_information** | [**Ptsv2paymentsTravelInformation**](Ptsv2paymentsTravelInformation.md) | | [optional] **promotion_information** | [**Ptsv2paymentsPromotionInformation**](Ptsv2paymentsPromotionInformation.md) | | [optional] +**processor_information** | [**Ptsv2reversalsProcessorInformation**](Ptsv2reversalsProcessorInformation.md) | | [optional] diff --git a/docs/CardProcessingConfigCommonAcquirers.md b/docs/CardProcessingConfigCommonAcquirers.md new file mode 100644 index 00000000..aa2d5201 --- /dev/null +++ b/docs/CardProcessingConfigCommonAcquirers.md @@ -0,0 +1,19 @@ +# CyberSource::CardProcessingConfigCommonAcquirers + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**institution_id** | **String** | Identifier of the acquirer. This number is usually assigned by Visa. | [optional] +**interbank_card_association_id** | **String** | Number assigned by MasterCard to banks to identify the member in transactions. | [optional] +**discover_institution_id** | **String** | Assigned by Discover to identify the acquirer. | [optional] +**country_code** | **String** | ISO 4217 format. | [optional] +**file_destination_bin** | **String** | The BIN to which this capturefile is sent. This field must contain a valid BIN. | [optional] +**merchant_verification_value** | **String** | Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. | [optional] +**merchant_id** | **String** | Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party. | [optional] +**terminal_id** | **String** | The 'Terminal Id' aka TID, is an identifier used for with your payments processor. Depending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions. | [optional] +**allow_multiple_bills** | **BOOLEAN** | Allows multiple captures for a single authorization transaction. | [optional] +**enable_transaction_reference_number** | **BOOLEAN** | To enable merchant to send in transaction reference number (unique reconciliation ID). | [optional] +**payment_types** | [**Hash<String, CardProcessingConfigCommonPaymentTypes>**](CardProcessingConfigCommonPaymentTypes.md) | Valid values are: * VISA * MASTERCARD * AMERICAN_EXPRESS * CUP * EFTPOS * DINERS_CLUB * DISCOVER * JCB | [optional] +**currencies** | [**Hash<String, CardProcessingConfigCommonCurrencies>**](CardProcessingConfigCommonCurrencies.md) | Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) | [optional] + + diff --git a/docs/CardProcessingConfigCommonProcessors.md b/docs/CardProcessingConfigCommonProcessors.md index baf004a0..8775f3ae 100644 --- a/docs/CardProcessingConfigCommonProcessors.md +++ b/docs/CardProcessingConfigCommonProcessors.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **merchant_verification_value** | **String** | Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. Applicable for GPX (gpx) and VPC processors. | [optional] **aba_number** | **String** | Routing Number to identify banks within the United States. Applicable for GPX (gpx) processors. | [optional] **acquirer** | [**CardProcessingConfigCommonAcquirer**](CardProcessingConfigCommonAcquirer.md) | | [optional] +**acquirers** | [**Hash<String, CardProcessingConfigCommonAcquirers>**](CardProcessingConfigCommonAcquirers.md) | Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. | [optional] **merchant_id** | **String** | Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>Barclays HISO</td><td>cp, cnp, hybrid</td><td>Yes</td><td>1</td><td>15</td><td>^[0-9a-zA-Z]+$</td></tr> <tr><td>Barclays</td><td>cp, cnp, hybrid</td><td>Yes</td><td>1</td><td>11</td><td>^[0-9a-zA-Z]+$</td></tr> </table> | **terminal_id** | **String** | The 'Terminal Id' aka TID, is an identifier used for with your payments processor. Depending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions. Validation details (for selected processors)... <table> <thead><tr><th>Processor</th><th>Acceptance Type</th><th>Required</th><th>Min. Length</th><th>Max. Length</th><th>Regex</th></tr></thead> <tr><td>Barclays HISO</td><td>cnp, hybrid</td><td>Yes</td><td>1</td><td>16</td><td>^[0-9a-zA-Z]+$</td></tr> <tr><td>Barclays HISO</td><td>cp</td><td>No</td><td>1</td><td>16</td><td>^[0-9a-zA-Z]+$</td></tr> </table> | [optional] **payment_types** | [**Hash<String, CardProcessingConfigCommonPaymentTypes>**](CardProcessingConfigCommonPaymentTypes.md) | Valid values are: * VISA * MASTERCARD * AMERICAN_EXPRESS * CUP * EFTPOS * DINERS_CLUB * DISCOVER * JCB | [optional] diff --git a/docs/CommerceSolutionsProductsAccountUpdater.md b/docs/CommerceSolutionsProductsAccountUpdater.md index 946a6946..f697417f 100644 --- a/docs/CommerceSolutionsProductsAccountUpdater.md +++ b/docs/CommerceSolutionsProductsAccountUpdater.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**CommerceSolutionsProductsAccountUpdaterConfigurationInformation**](CommerceSolutionsProductsAccountUpdaterConfigurationInformation.md) | | [optional] diff --git a/docs/CommerceSolutionsProductsBinLookup.md b/docs/CommerceSolutionsProductsBinLookup.md index e2f191bc..805beb8b 100644 --- a/docs/CommerceSolutionsProductsBinLookup.md +++ b/docs/CommerceSolutionsProductsBinLookup.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**CommerceSolutionsProductsBinLookupConfigurationInformation**](CommerceSolutionsProductsBinLookupConfigurationInformation.md) | | [optional] diff --git a/docs/CommerceSolutionsProductsTokenManagement.md b/docs/CommerceSolutionsProductsTokenManagement.md index a231dc13..708f3ae1 100644 --- a/docs/CommerceSolutionsProductsTokenManagement.md +++ b/docs/CommerceSolutionsProductsTokenManagement.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**CommerceSolutionsProductsTokenManagementConfigurationInformation**](CommerceSolutionsProductsTokenManagementConfigurationInformation.md) | | [optional] diff --git a/docs/CreateCreditRequest.md b/docs/CreateCreditRequest.md index e3aadacf..16f41ddf 100644 --- a/docs/CreateCreditRequest.md +++ b/docs/CreateCreditRequest.md @@ -19,5 +19,6 @@ Name | Type | Description | Notes **recipient_information** | [**Ptsv2creditsRecipientInformation**](Ptsv2creditsRecipientInformation.md) | | [optional] **sender_information** | [**Ptsv2creditsSenderInformation**](Ptsv2creditsSenderInformation.md) | | [optional] **promotion_information** | [**Ptsv2paymentsPromotionInformation**](Ptsv2paymentsPromotionInformation.md) | | [optional] +**processor_information** | [**Ptsv2reversalsProcessorInformation**](Ptsv2reversalsProcessorInformation.md) | | [optional] diff --git a/docs/CreateInvoiceRequest.md b/docs/CreateInvoiceRequest.md index bae8035a..d259af8c 100644 --- a/docs/CreateInvoiceRequest.md +++ b/docs/CreateInvoiceRequest.md @@ -8,5 +8,6 @@ Name | Type | Description | Notes **processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional] **invoice_information** | [**Invoicingv2invoicesInvoiceInformation**](Invoicingv2invoicesInvoiceInformation.md) | | **order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | | +**merchant_defined_field_values** | [**Array<Invoicingv2invoicesMerchantDefinedFieldValues>**](Invoicingv2invoicesMerchantDefinedFieldValues.md) | | [optional] diff --git a/docs/CreateNewWebhooksApi.md b/docs/CreateNewWebhooksApi.md index 07471ebe..2f8053da 100644 --- a/docs/CreateNewWebhooksApi.md +++ b/docs/CreateNewWebhooksApi.md @@ -10,7 +10,7 @@ Method | HTTP request | Description # **find_products_to_subscribe** -> Array<InlineResponse2003> find_products_to_subscribe(organization_id) +> Array<InlineResponse2004> find_products_to_subscribe(organization_id) Find Products You Can Subscribe To @@ -43,7 +43,7 @@ Name | Type | Description | Notes ### Return type -[**Array<InlineResponse2003>**](InlineResponse2003.md) +[**Array<InlineResponse2004>**](InlineResponse2004.md) ### Authorization diff --git a/docs/DeviceDeAssociationApi.md b/docs/DeviceDeAssociationApi.md index 496d4b09..bc2020fa 100644 --- a/docs/DeviceDeAssociationApi.md +++ b/docs/DeviceDeAssociationApi.md @@ -55,7 +55,7 @@ No authorization required # **post_de_associate_v3_terminal** -> Array<InlineResponse2007> post_de_associate_v3_terminal(device_de_associate_v3_request) +> Array<InlineResponse2008> post_de_associate_v3_terminal(device_de_associate_v3_request) De-associate a device from merchant to account or reseller and from account to reseller @@ -88,7 +88,7 @@ Name | Type | Description | Notes ### Return type -[**Array<InlineResponse2007>**](InlineResponse2007.md) +[**Array<InlineResponse2008>**](InlineResponse2008.md) ### Authorization diff --git a/docs/DeviceSearchApi.md b/docs/DeviceSearchApi.md index 22be5167..fd123bdd 100644 --- a/docs/DeviceSearchApi.md +++ b/docs/DeviceSearchApi.md @@ -9,7 +9,7 @@ Method | HTTP request | Description # **post_search_query** -> InlineResponse2006 post_search_query(post_device_search_request) +> InlineResponse2007 post_search_query(post_device_search_request) Retrieve List of Devices for a given search query V2 @@ -42,7 +42,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2006**](InlineResponse2006.md) +[**InlineResponse2007**](InlineResponse2007.md) ### Authorization @@ -56,7 +56,7 @@ No authorization required # **post_search_query_v3** -> InlineResponse2008 post_search_query_v3(post_device_search_request_v3) +> InlineResponse2009 post_search_query_v3(post_device_search_request_v3) Retrieve List of Devices for a given search query @@ -89,7 +89,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2008**](InlineResponse2008.md) +[**InlineResponse2009**](InlineResponse2009.md) ### Authorization diff --git a/docs/InlineResponse20010.md b/docs/InlineResponse20010.md index 00eb69e5..1d1e4af8 100644 --- a/docs/InlineResponse20010.md +++ b/docs/InlineResponse20010.md @@ -3,15 +3,12 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**_links** | [**InlineResponse20010Links**](InlineResponse20010Links.md) | | [optional] -**batch_id** | **String** | Unique identification number assigned to the submitted request. | [optional] -**batch_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] -**batch_source** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] -**merchant_reference** | **String** | Reference used by merchant to identify batch. | [optional] -**batch_ca_endpoints** | **String** | | [optional] -**status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional] -**totals** | [**InlineResponse2009EmbeddedTotals**](InlineResponse2009EmbeddedTotals.md) | | [optional] -**billing** | [**InlineResponse20010Billing**](InlineResponse20010Billing.md) | | [optional] -**description** | **String** | | [optional] +**_links** | [**Array<InlineResponse20010Links>**](InlineResponse20010Links.md) | | [optional] +**object** | **String** | | [optional] +**offset** | **Integer** | | [optional] +**limit** | **Integer** | | [optional] +**count** | **Integer** | | [optional] +**total** | **Integer** | | [optional] +**_embedded** | [**InlineResponse20010Embedded**](InlineResponse20010Embedded.md) | | [optional] diff --git a/docs/InlineResponse20010Embedded.md b/docs/InlineResponse20010Embedded.md new file mode 100644 index 00000000..5ae20158 --- /dev/null +++ b/docs/InlineResponse20010Embedded.md @@ -0,0 +1,8 @@ +# CyberSource::InlineResponse20010Embedded + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**batches** | [**Array<InlineResponse20010EmbeddedBatches>**](InlineResponse20010EmbeddedBatches.md) | | [optional] + + diff --git a/docs/InlineResponse2009EmbeddedBatches.md b/docs/InlineResponse20010EmbeddedBatches.md similarity index 79% rename from docs/InlineResponse2009EmbeddedBatches.md rename to docs/InlineResponse20010EmbeddedBatches.md index f6d9e9e5..997e294d 100644 --- a/docs/InlineResponse2009EmbeddedBatches.md +++ b/docs/InlineResponse20010EmbeddedBatches.md @@ -1,9 +1,9 @@ -# CyberSource::InlineResponse2009EmbeddedBatches +# CyberSource::InlineResponse20010EmbeddedBatches ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**_links** | [**InlineResponse2009EmbeddedLinks**](InlineResponse2009EmbeddedLinks.md) | | [optional] +**_links** | [**InlineResponse20010EmbeddedLinks**](InlineResponse20010EmbeddedLinks.md) | | [optional] **batch_id** | **String** | Unique identification number assigned to the submitted request. | [optional] **batch_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] **batch_modified_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] @@ -12,6 +12,6 @@ Name | Type | Description | Notes **merchant_reference** | **String** | Reference used by merchant to identify batch. | [optional] **batch_ca_endpoints** | **Array<String>** | Valid Values: * VISA * MASTERCARD * AMEX | [optional] **status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETE | [optional] -**totals** | [**InlineResponse2009EmbeddedTotals**](InlineResponse2009EmbeddedTotals.md) | | [optional] +**totals** | [**InlineResponse20010EmbeddedTotals**](InlineResponse20010EmbeddedTotals.md) | | [optional] diff --git a/docs/InlineResponse20010EmbeddedLinks.md b/docs/InlineResponse20010EmbeddedLinks.md new file mode 100644 index 00000000..69a28356 --- /dev/null +++ b/docs/InlineResponse20010EmbeddedLinks.md @@ -0,0 +1,8 @@ +# CyberSource::InlineResponse20010EmbeddedLinks + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reports** | [**Array<InlineResponse20010EmbeddedLinksReports>**](InlineResponse20010EmbeddedLinksReports.md) | | [optional] + + diff --git a/docs/InlineResponse2009EmbeddedLinksReports.md b/docs/InlineResponse20010EmbeddedLinksReports.md similarity index 73% rename from docs/InlineResponse2009EmbeddedLinksReports.md rename to docs/InlineResponse20010EmbeddedLinksReports.md index 9e5f75fc..76c5a551 100644 --- a/docs/InlineResponse2009EmbeddedLinksReports.md +++ b/docs/InlineResponse20010EmbeddedLinksReports.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2009EmbeddedLinksReports +# CyberSource::InlineResponse20010EmbeddedLinksReports ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2009EmbeddedTotals.md b/docs/InlineResponse20010EmbeddedTotals.md similarity index 88% rename from docs/InlineResponse2009EmbeddedTotals.md rename to docs/InlineResponse20010EmbeddedTotals.md index dbd26de8..8e1281e1 100644 --- a/docs/InlineResponse2009EmbeddedTotals.md +++ b/docs/InlineResponse20010EmbeddedTotals.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2009EmbeddedTotals +# CyberSource::InlineResponse20010EmbeddedTotals ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse20010Links.md b/docs/InlineResponse20010Links.md index 4da0adc0..af40d870 100644 --- a/docs/InlineResponse20010Links.md +++ b/docs/InlineResponse20010Links.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**_self** | [**InlineResponse202LinksStatus**](InlineResponse202LinksStatus.md) | | [optional] -**report** | [**Array<InlineResponse20010LinksReport>**](InlineResponse20010LinksReport.md) | | [optional] +**rel** | **String** | Valid Values: * self * first * last * prev * next | [optional] +**href** | **String** | | [optional] diff --git a/docs/InlineResponse20011.md b/docs/InlineResponse20011.md index b1ca74d6..3f52286e 100644 --- a/docs/InlineResponse20011.md +++ b/docs/InlineResponse20011.md @@ -3,15 +3,15 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**version** | **String** | | [optional] -**report_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**_links** | [**InlineResponse20011Links**](InlineResponse20011Links.md) | | [optional] **batch_id** | **String** | Unique identification number assigned to the submitted request. | [optional] -**batch_source** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] -**batch_ca_endpoints** | **String** | | [optional] **batch_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**batch_source** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] **merchant_reference** | **String** | Reference used by merchant to identify batch. | [optional] -**totals** | [**InlineResponse2009EmbeddedTotals**](InlineResponse2009EmbeddedTotals.md) | | [optional] -**billing** | [**InlineResponse20010Billing**](InlineResponse20010Billing.md) | | [optional] -**records** | [**Array<InlineResponse20011Records>**](InlineResponse20011Records.md) | | [optional] +**batch_ca_endpoints** | **String** | | [optional] +**status** | **String** | Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED | [optional] +**totals** | [**InlineResponse20010EmbeddedTotals**](InlineResponse20010EmbeddedTotals.md) | | [optional] +**billing** | [**InlineResponse20011Billing**](InlineResponse20011Billing.md) | | [optional] +**description** | **String** | | [optional] diff --git a/docs/InlineResponse20010Billing.md b/docs/InlineResponse20011Billing.md similarity index 86% rename from docs/InlineResponse20010Billing.md rename to docs/InlineResponse20011Billing.md index 63d38534..09664cac 100644 --- a/docs/InlineResponse20010Billing.md +++ b/docs/InlineResponse20011Billing.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse20010Billing +# CyberSource::InlineResponse20011Billing ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse20011Links.md b/docs/InlineResponse20011Links.md new file mode 100644 index 00000000..c5b9d84a --- /dev/null +++ b/docs/InlineResponse20011Links.md @@ -0,0 +1,9 @@ +# CyberSource::InlineResponse20011Links + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**_self** | [**InlineResponse202LinksStatus**](InlineResponse202LinksStatus.md) | | [optional] +**report** | [**Array<InlineResponse20011LinksReport>**](InlineResponse20011LinksReport.md) | | [optional] + + diff --git a/docs/InlineResponse20010LinksReport.md b/docs/InlineResponse20011LinksReport.md similarity index 76% rename from docs/InlineResponse20010LinksReport.md rename to docs/InlineResponse20011LinksReport.md index b8c2ab8b..3df4b1f3 100644 --- a/docs/InlineResponse20010LinksReport.md +++ b/docs/InlineResponse20011LinksReport.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse20010LinksReport +# CyberSource::InlineResponse20011LinksReport ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse20011Records.md b/docs/InlineResponse20011Records.md deleted file mode 100644 index ae86cbaf..00000000 --- a/docs/InlineResponse20011Records.md +++ /dev/null @@ -1,10 +0,0 @@ -# CyberSource::InlineResponse20011Records - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **String** | | [optional] -**source_record** | [**InlineResponse20011SourceRecord**](InlineResponse20011SourceRecord.md) | | [optional] -**response_record** | [**InlineResponse20011ResponseRecord**](InlineResponse20011ResponseRecord.md) | | [optional] - - diff --git a/docs/InlineResponse20012.md b/docs/InlineResponse20012.md new file mode 100644 index 00000000..19eb8954 --- /dev/null +++ b/docs/InlineResponse20012.md @@ -0,0 +1,17 @@ +# CyberSource::InlineResponse20012 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**version** | **String** | | [optional] +**report_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**batch_id** | **String** | Unique identification number assigned to the submitted request. | [optional] +**batch_source** | **String** | Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE | [optional] +**batch_ca_endpoints** | **String** | | [optional] +**batch_created_date** | **String** | ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ | [optional] +**merchant_reference** | **String** | Reference used by merchant to identify batch. | [optional] +**totals** | [**InlineResponse20010EmbeddedTotals**](InlineResponse20010EmbeddedTotals.md) | | [optional] +**billing** | [**InlineResponse20011Billing**](InlineResponse20011Billing.md) | | [optional] +**records** | [**Array<InlineResponse20012Records>**](InlineResponse20012Records.md) | | [optional] + + diff --git a/docs/InlineResponse20012Records.md b/docs/InlineResponse20012Records.md new file mode 100644 index 00000000..741b8acf --- /dev/null +++ b/docs/InlineResponse20012Records.md @@ -0,0 +1,10 @@ +# CyberSource::InlineResponse20012Records + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | | [optional] +**source_record** | [**InlineResponse20012SourceRecord**](InlineResponse20012SourceRecord.md) | | [optional] +**response_record** | [**InlineResponse20012ResponseRecord**](InlineResponse20012ResponseRecord.md) | | [optional] + + diff --git a/docs/InlineResponse20011ResponseRecord.md b/docs/InlineResponse20012ResponseRecord.md similarity index 80% rename from docs/InlineResponse20011ResponseRecord.md rename to docs/InlineResponse20012ResponseRecord.md index 34eb0fc6..9d9ad537 100644 --- a/docs/InlineResponse20011ResponseRecord.md +++ b/docs/InlineResponse20012ResponseRecord.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse20011ResponseRecord +# CyberSource::InlineResponse20012ResponseRecord ## Properties Name | Type | Description | Notes @@ -12,6 +12,6 @@ Name | Type | Description | Notes **card_expiry_month** | **String** | | [optional] **card_expiry_year** | **String** | | [optional] **card_type** | **String** | | [optional] -**additional_updates** | [**Array<InlineResponse20011ResponseRecordAdditionalUpdates>**](InlineResponse20011ResponseRecordAdditionalUpdates.md) | | [optional] +**additional_updates** | [**Array<InlineResponse20012ResponseRecordAdditionalUpdates>**](InlineResponse20012ResponseRecordAdditionalUpdates.md) | | [optional] diff --git a/docs/InlineResponse20011ResponseRecordAdditionalUpdates.md b/docs/InlineResponse20012ResponseRecordAdditionalUpdates.md similarity index 85% rename from docs/InlineResponse20011ResponseRecordAdditionalUpdates.md rename to docs/InlineResponse20012ResponseRecordAdditionalUpdates.md index bd0ca2d4..2b24afa7 100644 --- a/docs/InlineResponse20011ResponseRecordAdditionalUpdates.md +++ b/docs/InlineResponse20012ResponseRecordAdditionalUpdates.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse20011ResponseRecordAdditionalUpdates +# CyberSource::InlineResponse20012ResponseRecordAdditionalUpdates ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse20011SourceRecord.md b/docs/InlineResponse20012SourceRecord.md similarity index 91% rename from docs/InlineResponse20011SourceRecord.md rename to docs/InlineResponse20012SourceRecord.md index 7314b9ef..a1feddeb 100644 --- a/docs/InlineResponse20011SourceRecord.md +++ b/docs/InlineResponse20012SourceRecord.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse20011SourceRecord +# CyberSource::InlineResponse20012SourceRecord ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse20013.md b/docs/InlineResponse20013.md new file mode 100644 index 00000000..cd50a192 --- /dev/null +++ b/docs/InlineResponse20013.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse20013 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_reference_information** | [**Bavsv1accountvalidationsClientReferenceInformation**](Bavsv1accountvalidationsClientReferenceInformation.md) | | [optional] +**request_id** | **String** | Request Id sent as part of the request. | [optional] +**submit_time_utc** | **String** | Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) | [optional] +**bank_account_validation** | [**TssV2TransactionsGet200ResponseBankAccountValidation**](TssV2TransactionsGet200ResponseBankAccountValidation.md) | | [optional] + + diff --git a/docs/InlineResponse2002.md b/docs/InlineResponse2002.md index cc57983e..a39a975d 100644 --- a/docs/InlineResponse2002.md +++ b/docs/InlineResponse2002.md @@ -3,12 +3,17 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**registration_information** | [**Boardingv1registrationsRegistrationInformation**](Boardingv1registrationsRegistrationInformation.md) | | [optional] -**integration_information** | [**InlineResponse2002IntegrationInformation**](InlineResponse2002IntegrationInformation.md) | | [optional] -**organization_information** | [**Boardingv1registrationsOrganizationInformation**](Boardingv1registrationsOrganizationInformation.md) | | [optional] -**product_information** | [**Boardingv1registrationsProductInformation**](Boardingv1registrationsProductInformation.md) | | [optional] -**product_information_setups** | [**Array<InlineResponse2013ProductInformationSetups>**](InlineResponse2013ProductInformationSetups.md) | | [optional] -**document_information** | [**Boardingv1registrationsDocumentInformation**](Boardingv1registrationsDocumentInformation.md) | | [optional] -**details** | **Hash<String, Array<Object>>** | | [optional] +**id** | **Integer** | | [optional] +**field_type** | **String** | | [optional] +**label** | **String** | | [optional] +**customer_visible** | **BOOLEAN** | | [optional] +**text_min_length** | **Integer** | | [optional] +**text_max_length** | **Integer** | | [optional] +**possible_values** | **String** | | [optional] +**text_default_value** | **String** | | [optional] +**merchant_id** | **String** | | [optional] +**reference_type** | **String** | | [optional] +**read_only** | **BOOLEAN** | | [optional] +**merchant_defined_data_index** | **Integer** | | [optional] diff --git a/docs/InlineResponse2003.md b/docs/InlineResponse2003.md index c30483d0..216bdbff 100644 --- a/docs/InlineResponse2003.md +++ b/docs/InlineResponse2003.md @@ -3,8 +3,12 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**product_id** | **String** | Product ID. | [optional] -**product_name** | **String** | Product Name. | [optional] -**event_types** | [**Array<Notificationsubscriptionsv2productsorganizationIdEventTypes>**](Notificationsubscriptionsv2productsorganizationIdEventTypes.md) | | [optional] +**registration_information** | [**Boardingv1registrationsRegistrationInformation**](Boardingv1registrationsRegistrationInformation.md) | | [optional] +**integration_information** | [**InlineResponse2003IntegrationInformation**](InlineResponse2003IntegrationInformation.md) | | [optional] +**organization_information** | [**Boardingv1registrationsOrganizationInformation**](Boardingv1registrationsOrganizationInformation.md) | | [optional] +**product_information** | [**Boardingv1registrationsProductInformation**](Boardingv1registrationsProductInformation.md) | | [optional] +**product_information_setups** | [**Array<InlineResponse2013ProductInformationSetups>**](InlineResponse2013ProductInformationSetups.md) | | [optional] +**document_information** | [**Boardingv1registrationsDocumentInformation**](Boardingv1registrationsDocumentInformation.md) | | [optional] +**details** | **Hash<String, Array<Object>>** | | [optional] diff --git a/docs/InlineResponse2002IntegrationInformation.md b/docs/InlineResponse2003IntegrationInformation.md similarity index 70% rename from docs/InlineResponse2002IntegrationInformation.md rename to docs/InlineResponse2003IntegrationInformation.md index 289255d0..b73f528e 100644 --- a/docs/InlineResponse2002IntegrationInformation.md +++ b/docs/InlineResponse2003IntegrationInformation.md @@ -1,9 +1,9 @@ -# CyberSource::InlineResponse2002IntegrationInformation +# CyberSource::InlineResponse2003IntegrationInformation ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **oauth2** | [**Array<Boardingv1registrationsIntegrationInformationOauth2>**](Boardingv1registrationsIntegrationInformationOauth2.md) | | [optional] -**tenant_configurations** | [**Array<InlineResponse2002IntegrationInformationTenantConfigurations>**](InlineResponse2002IntegrationInformationTenantConfigurations.md) | tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with. | [optional] +**tenant_configurations** | [**Array<InlineResponse2003IntegrationInformationTenantConfigurations>**](InlineResponse2003IntegrationInformationTenantConfigurations.md) | tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with. | [optional] diff --git a/docs/InlineResponse2002IntegrationInformationTenantConfigurations.md b/docs/InlineResponse2003IntegrationInformationTenantConfigurations.md similarity index 93% rename from docs/InlineResponse2002IntegrationInformationTenantConfigurations.md rename to docs/InlineResponse2003IntegrationInformationTenantConfigurations.md index 1a9dd24a..e5e40dd2 100644 --- a/docs/InlineResponse2002IntegrationInformationTenantConfigurations.md +++ b/docs/InlineResponse2003IntegrationInformationTenantConfigurations.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2002IntegrationInformationTenantConfigurations +# CyberSource::InlineResponse2003IntegrationInformationTenantConfigurations ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2004.md b/docs/InlineResponse2004.md index 573c09c8..621c5dc6 100644 --- a/docs/InlineResponse2004.md +++ b/docs/InlineResponse2004.md @@ -3,17 +3,8 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**webhook_id** | **String** | Webhook Id. This is generated by the server. | [optional] -**organization_id** | **String** | Organization ID. | [optional] -**products** | [**Array<Notificationsubscriptionsv2webhooksProducts>**](Notificationsubscriptionsv2webhooksProducts.md) | | [optional] -**webhook_url** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] -**health_check_url** | **String** | The client's health check endpoint (URL). | [optional] -**status** | **String** | Webhook status. | [optional] [default to 'INACTIVE'] -**name** | **String** | Client friendly webhook name. | [optional] -**description** | **String** | Client friendly webhook description. | [optional] -**retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional] -**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional] -**created_on** | **String** | Date on which webhook was created/registered. | [optional] -**notification_scope** | **String** | The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS | [optional] [default to 'DESCENDANTS'] +**product_id** | **String** | Product ID. | [optional] +**product_name** | **String** | Product Name. | [optional] +**event_types** | [**Array<Notificationsubscriptionsv2productsorganizationIdEventTypes>**](Notificationsubscriptionsv2productsorganizationIdEventTypes.md) | | [optional] diff --git a/docs/InlineResponse2005.md b/docs/InlineResponse2005.md index 5d7f1074..74eee203 100644 --- a/docs/InlineResponse2005.md +++ b/docs/InlineResponse2005.md @@ -14,7 +14,6 @@ Name | Type | Description | Notes **retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional] **security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional] **created_on** | **String** | Date on which webhook was created/registered. | [optional] -**updated_on** | **String** | Date on which webhook was most recently updated. | [optional] **notification_scope** | **String** | The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS | [optional] [default to 'DESCENDANTS'] diff --git a/docs/InlineResponse2006.md b/docs/InlineResponse2006.md index bb57d3a9..4affccc8 100644 --- a/docs/InlineResponse2006.md +++ b/docs/InlineResponse2006.md @@ -3,11 +3,18 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**total_count** | **Integer** | Total number of results. | [optional] -**offset** | **Integer** | Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. | [optional] -**limit** | **Integer** | Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. | [optional] -**sort** | **String** | A comma separated list of the following form: `submitTimeUtc:desc` | [optional] -**count** | **Integer** | Results for this page, this could be below the limit. | [optional] -**devices** | [**Array<InlineResponse2006Devices>**](InlineResponse2006Devices.md) | A collection of devices | [optional] +**webhook_id** | **String** | Webhook Id. This is generated by the server. | [optional] +**organization_id** | **String** | Organization ID. | [optional] +**products** | [**Array<Notificationsubscriptionsv2webhooksProducts>**](Notificationsubscriptionsv2webhooksProducts.md) | | [optional] +**webhook_url** | **String** | The client's endpoint (URL) to receive webhooks. | [optional] +**health_check_url** | **String** | The client's health check endpoint (URL). | [optional] +**status** | **String** | Webhook status. | [optional] [default to 'INACTIVE'] +**name** | **String** | Client friendly webhook name. | [optional] +**description** | **String** | Client friendly webhook description. | [optional] +**retry_policy** | [**Notificationsubscriptionsv2webhooksRetryPolicy**](Notificationsubscriptionsv2webhooksRetryPolicy.md) | | [optional] +**security_policy** | [**Notificationsubscriptionsv2webhooksSecurityPolicy**](Notificationsubscriptionsv2webhooksSecurityPolicy.md) | | [optional] +**created_on** | **String** | Date on which webhook was created/registered. | [optional] +**updated_on** | **String** | Date on which webhook was most recently updated. | [optional] +**notification_scope** | **String** | The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS | [optional] [default to 'DESCENDANTS'] diff --git a/docs/InlineResponse2007.md b/docs/InlineResponse2007.md index 1c0cbde7..c226e8f9 100644 --- a/docs/InlineResponse2007.md +++ b/docs/InlineResponse2007.md @@ -3,7 +3,11 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**status** | **String** | Possible values: - OK | [optional] -**devices** | [**Array<Dmsv3devicesdeassociateDevices>**](Dmsv3devicesdeassociateDevices.md) | | [optional] +**total_count** | **Integer** | Total number of results. | [optional] +**offset** | **Integer** | Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. | [optional] +**limit** | **Integer** | Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. | [optional] +**sort** | **String** | A comma separated list of the following form: `submitTimeUtc:desc` | [optional] +**count** | **Integer** | Results for this page, this could be below the limit. | [optional] +**devices** | [**Array<InlineResponse2007Devices>**](InlineResponse2007Devices.md) | A collection of devices | [optional] diff --git a/docs/InlineResponse2006Devices.md b/docs/InlineResponse2007Devices.md similarity index 93% rename from docs/InlineResponse2006Devices.md rename to docs/InlineResponse2007Devices.md index 547c6a68..efefcdee 100644 --- a/docs/InlineResponse2006Devices.md +++ b/docs/InlineResponse2007Devices.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2006Devices +# CyberSource::InlineResponse2007Devices ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2008.md b/docs/InlineResponse2008.md index e0b50acf..7b54e507 100644 --- a/docs/InlineResponse2008.md +++ b/docs/InlineResponse2008.md @@ -3,11 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**total_count** | **Integer** | Total number of results. | [optional] -**offset** | **Integer** | Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. | [optional] -**limit** | **Integer** | Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. | [optional] -**sort** | **String** | A comma separated list of the following form: `terminalCreationDate:desc or serialNumber or terminalUpdationDate` | [optional] -**count** | **Integer** | Results for this page, this could be below the limit. | [optional] -**devices** | [**Array<InlineResponse2008Devices>**](InlineResponse2008Devices.md) | A collection of devices | [optional] +**status** | **String** | Possible values: - OK | [optional] +**devices** | [**Array<Dmsv3devicesdeassociateDevices>**](Dmsv3devicesdeassociateDevices.md) | | [optional] diff --git a/docs/InlineResponse2009.md b/docs/InlineResponse2009.md index d0419543..c2e18983 100644 --- a/docs/InlineResponse2009.md +++ b/docs/InlineResponse2009.md @@ -3,12 +3,11 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**_links** | [**Array<InlineResponse2009Links>**](InlineResponse2009Links.md) | | [optional] -**object** | **String** | | [optional] -**offset** | **Integer** | | [optional] -**limit** | **Integer** | | [optional] -**count** | **Integer** | | [optional] -**total** | **Integer** | | [optional] -**_embedded** | [**InlineResponse2009Embedded**](InlineResponse2009Embedded.md) | | [optional] +**total_count** | **Integer** | Total number of results. | [optional] +**offset** | **Integer** | Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. | [optional] +**limit** | **Integer** | Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. | [optional] +**sort** | **String** | A comma separated list of the following form: `terminalCreationDate:desc or serialNumber or terminalUpdationDate` | [optional] +**count** | **Integer** | Results for this page, this could be below the limit. | [optional] +**devices** | [**Array<InlineResponse2009Devices>**](InlineResponse2009Devices.md) | A collection of devices | [optional] diff --git a/docs/InlineResponse2008Devices.md b/docs/InlineResponse2009Devices.md similarity index 85% rename from docs/InlineResponse2008Devices.md rename to docs/InlineResponse2009Devices.md index 03cf653e..85afc493 100644 --- a/docs/InlineResponse2008Devices.md +++ b/docs/InlineResponse2009Devices.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2008Devices +# CyberSource::InlineResponse2009Devices ## Properties Name | Type | Description | Notes @@ -14,6 +14,6 @@ Name | Type | Description | Notes **account_id** | **String** | ID of the account to whom the device assigned. | [optional] **terminal_creation_date** | **DateTime** | Timestamp in which the device was created. | [optional] **terminal_updation_date** | **DateTime** | Timestamp in which the device was updated/modified. | [optional] -**payment_processor_to_terminal_map** | [**InlineResponse2008PaymentProcessorToTerminalMap**](InlineResponse2008PaymentProcessorToTerminalMap.md) | | [optional] +**payment_processor_to_terminal_map** | [**InlineResponse2009PaymentProcessorToTerminalMap**](InlineResponse2009PaymentProcessorToTerminalMap.md) | | [optional] diff --git a/docs/InlineResponse2009Embedded.md b/docs/InlineResponse2009Embedded.md deleted file mode 100644 index fe1aa850..00000000 --- a/docs/InlineResponse2009Embedded.md +++ /dev/null @@ -1,8 +0,0 @@ -# CyberSource::InlineResponse2009Embedded - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**batches** | [**Array<InlineResponse2009EmbeddedBatches>**](InlineResponse2009EmbeddedBatches.md) | | [optional] - - diff --git a/docs/InlineResponse2009EmbeddedLinks.md b/docs/InlineResponse2009EmbeddedLinks.md deleted file mode 100644 index 4915a0ab..00000000 --- a/docs/InlineResponse2009EmbeddedLinks.md +++ /dev/null @@ -1,8 +0,0 @@ -# CyberSource::InlineResponse2009EmbeddedLinks - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**reports** | [**Array<InlineResponse2009EmbeddedLinksReports>**](InlineResponse2009EmbeddedLinksReports.md) | | [optional] - - diff --git a/docs/InlineResponse2009Links.md b/docs/InlineResponse2009Links.md deleted file mode 100644 index 62176a9d..00000000 --- a/docs/InlineResponse2009Links.md +++ /dev/null @@ -1,9 +0,0 @@ -# CyberSource::InlineResponse2009Links - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**rel** | **String** | Valid Values: * self * first * last * prev * next | [optional] -**href** | **String** | | [optional] - - diff --git a/docs/InlineResponse2008PaymentProcessorToTerminalMap.md b/docs/InlineResponse2009PaymentProcessorToTerminalMap.md similarity index 76% rename from docs/InlineResponse2008PaymentProcessorToTerminalMap.md rename to docs/InlineResponse2009PaymentProcessorToTerminalMap.md index a69d04b6..2a1755e9 100644 --- a/docs/InlineResponse2008PaymentProcessorToTerminalMap.md +++ b/docs/InlineResponse2009PaymentProcessorToTerminalMap.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse2008PaymentProcessorToTerminalMap +# CyberSource::InlineResponse2009PaymentProcessorToTerminalMap ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse2012PayoutInformationPullFunds.md b/docs/InlineResponse2012PayoutInformationPullFunds.md index 6e7fce55..fd0d01c4 100644 --- a/docs/InlineResponse2012PayoutInformationPullFunds.md +++ b/docs/InlineResponse2012PayoutInformationPullFunds.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**domestic_participant** | **String** | This field indicates if domestic AFTs (pull funds) are allowed. Note: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` | [optional] -**cross_border_participant** | **String** | This field indicates if cross-border AFTs (pull funds) are allowed. Note: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` | [optional] +**domestic_participant** | **String** | This field indicates if domestic AFTs (pull funds) are allowed. Possible values: - `true` - `false` | [optional] +**cross_border_participant** | **String** | This field indicates if cross-border AFTs (pull funds) are allowed. Possible values: - `true` - `false` | [optional] diff --git a/docs/InlineResponse2012PayoutInformationPushFunds.md b/docs/InlineResponse2012PayoutInformationPushFunds.md index 09e9b292..76dd82fd 100644 --- a/docs/InlineResponse2012PayoutInformationPushFunds.md +++ b/docs/InlineResponse2012PayoutInformationPushFunds.md @@ -15,7 +15,7 @@ Name | Type | Description | Notes **online_gambling_fast_funds_domestic** | **String** | This field indicates if domestic gambling OCTs (fast push funds) are allowed. Possible values: - `Y` - `N` | [optional] **online_gambling_cross_border** | **String** | This field indicates if cross-border gambling OCTs (push funds) are allowed. Possible values: - `Y` - `N` | [optional] **online_gambling_domestic** | **String** | This field indicates if domestic gambling OCTs (push funds) are allowed. Possible values: - `Y` - `N` | [optional] -**domestic_participant** | **String** | This field indicates if domestic OCTs (push funds) are allowed. Note: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` | [optional] -**cross_border_participant** | **String** | This field indicates if cross-border OCTs (push funds) are allowed. Note: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` | [optional] +**domestic_participant** | **String** | This field indicates if domestic OCTs (push funds) are allowed. Possible values: - `true` - `false` | [optional] +**cross_border_participant** | **String** | This field indicates if cross-border OCTs (push funds) are allowed. Possible values: - `true` - `false` | [optional] diff --git a/docs/InlineResponse4009.md b/docs/InlineResponse4009.md new file mode 100644 index 00000000..ea715b57 --- /dev/null +++ b/docs/InlineResponse4009.md @@ -0,0 +1,12 @@ +# CyberSource::InlineResponse4009 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**submit_time_utc** | **String** | Time verification was requested Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) | [optional] +**status** | **String** | Possible values: - `INVALID_REQUEST` | [optional] +**message** | **String** | The detail message related to the status and reason | [optional] +**reason** | **String** | The reason of the status. Possible values: - `INVALID_REQUEST` | [optional] +**details** | [**Array<InlineResponse4009Details>**](InlineResponse4009Details.md) | | [optional] + + diff --git a/docs/InlineResponse4009Details.md b/docs/InlineResponse4009Details.md new file mode 100644 index 00000000..5e55d875 --- /dev/null +++ b/docs/InlineResponse4009Details.md @@ -0,0 +1,9 @@ +# CyberSource::InlineResponse4009Details + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field** | **String** | This is the flattened JSON object field name/path that is either missing or invalid. | [optional] +**reason** | **String** | Possible reasons for the error. Possible values: - `MISSING_FIELD` - `INVALID_DATA` | [optional] + + diff --git a/docs/InlineResponse4033.md b/docs/InlineResponse4033.md new file mode 100644 index 00000000..e9299b60 --- /dev/null +++ b/docs/InlineResponse4033.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse4033 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**submit_time_utc** | **String** | Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) | [optional] +**status** | **String** | Possible values: - `UNAUTHORIZED` | [optional] +**reason** | **String** | The reason of the status. Possible values: - `UNAUTHORIZED` | [optional] +**message** | **String** | The detail message related to the status and reason. | [optional] + + diff --git a/docs/InlineResponse4041.md b/docs/InlineResponse4041.md index 249b03bc..be53955c 100644 --- a/docs/InlineResponse4041.md +++ b/docs/InlineResponse4041.md @@ -3,10 +3,10 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**submit_time_utc** | **DateTime** | Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. | [optional] -**status** | **String** | The http status description of the submitted request. | [optional] -**reason** | **String** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'RESOURCE_NOT_FOUND' | [optional] -**message** | **String** | Descriptive message for the error. | [optional] -**details** | [**Array<InlineResponse4007Details>**](InlineResponse4007Details.md) | | [optional] +**submit_time_utc** | **String** | The time the response was submitted | [optional] +**status** | **Integer** | The status code of the response | [optional] +**reason** | **String** | The reason for the response | [optional] +**message** | **String** | The message of the response | [optional] +**details** | [**Array<InlineResponse4041Details>**](InlineResponse4041Details.md) | The details of the validation error | [optional] diff --git a/docs/InlineResponse4041Details.md b/docs/InlineResponse4041Details.md new file mode 100644 index 00000000..2229969c --- /dev/null +++ b/docs/InlineResponse4041Details.md @@ -0,0 +1,9 @@ +# CyberSource::InlineResponse4041Details + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field** | **String** | The field that caused the validation error | [optional] +**reason** | **String** | The reason for the validation error | [optional] + + diff --git a/docs/InlineResponse4042.md b/docs/InlineResponse4042.md index 1e4d42fd..995081c8 100644 --- a/docs/InlineResponse4042.md +++ b/docs/InlineResponse4042.md @@ -3,8 +3,10 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**reason** | **String** | | [optional] -**message** | **String** | | [optional] -**details** | [**Array<InlineResponse4042Details>**](InlineResponse4042Details.md) | | [optional] +**submit_time_utc** | **DateTime** | Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. | [optional] +**status** | **String** | The http status description of the submitted request. | [optional] +**reason** | **String** | Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'RESOURCE_NOT_FOUND' | [optional] +**message** | **String** | Descriptive message for the error. | [optional] +**details** | [**Array<InlineResponse4007Details>**](InlineResponse4007Details.md) | | [optional] diff --git a/docs/InlineResponse4043.md b/docs/InlineResponse4043.md index 9ad39c79..6f7c312e 100644 --- a/docs/InlineResponse4043.md +++ b/docs/InlineResponse4043.md @@ -3,9 +3,8 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**status** | **String** | The status of the submitted request. Possible values: - NOT_FOUND | [optional] -**message** | **String** | The detail message related to the status and reason listed above. | [optional] -**code** | **String** | An optional short string which identifies the exact error. | [optional] -**submit_time_utc** | **String** | Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. | [optional] +**reason** | **String** | | [optional] +**message** | **String** | | [optional] +**details** | [**Array<InlineResponse4043Details>**](InlineResponse4043Details.md) | | [optional] diff --git a/docs/InlineResponse4042Details.md b/docs/InlineResponse4043Details.md similarity index 82% rename from docs/InlineResponse4042Details.md rename to docs/InlineResponse4043Details.md index 3b088dc6..f8c463fb 100644 --- a/docs/InlineResponse4042Details.md +++ b/docs/InlineResponse4043Details.md @@ -1,4 +1,4 @@ -# CyberSource::InlineResponse4042Details +# CyberSource::InlineResponse4043Details ## Properties Name | Type | Description | Notes diff --git a/docs/InlineResponse4044.md b/docs/InlineResponse4044.md new file mode 100644 index 00000000..cf564bab --- /dev/null +++ b/docs/InlineResponse4044.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse4044 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **String** | The status of the submitted request. Possible values: - NOT_FOUND | [optional] +**message** | **String** | The detail message related to the status and reason listed above. | [optional] +**code** | **String** | An optional short string which identifies the exact error. | [optional] +**submit_time_utc** | **String** | Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. | [optional] + + diff --git a/docs/InlineResponse4045.md b/docs/InlineResponse4045.md new file mode 100644 index 00000000..499dd932 --- /dev/null +++ b/docs/InlineResponse4045.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse4045 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**submit_time_utc** | **String** | Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. | [optional] +**status** | **String** | The status of the submitted request. Possible values: - NOT_FOUND | [optional] +**reason** | **String** | The reason of the status. Possible values: - NOT_FOUND | [optional] +**message** | **String** | The detail message related to the status and reason listed above. | [optional] + + diff --git a/docs/InlineResponse4222.md b/docs/InlineResponse4222.md new file mode 100644 index 00000000..aeb9a7c8 --- /dev/null +++ b/docs/InlineResponse4222.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse4222 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**submit_time_utc** | **String** | Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) | [optional] +**status** | **String** | Possible values: - `VALIDATION_ERROR` | [optional] +**reason** | **String** | The reason of the status. Possible values: - `PRODUCT_INACTIVE` - `INVALID_MERCHANT_CONFIGURATION` - `PRODUCT_NOT_CONFIGURED` | [optional] +**message** | **String** | The detail message related to the status and reason. | [optional] + + diff --git a/docs/InlineResponse5021.md b/docs/InlineResponse5021.md new file mode 100644 index 00000000..cbf9b786 --- /dev/null +++ b/docs/InlineResponse5021.md @@ -0,0 +1,11 @@ +# CyberSource::InlineResponse5021 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**submit_time_utc** | **String** | Time verification was requested Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) | [optional] +**status** | **String** | The status of the submitted transaction. Possible values: - `SERVER_ERROR` | [optional] +**message** | **String** | The detail message related to the status and reason | [optional] +**reason** | **String** | The reason of the status. Possible values: - `SYSTEM_ERROR` - `SERVER_TIMEOUT` - `SERVICE_TIMEOUT` | [optional] + + diff --git a/docs/InvoicingV2InvoiceSettingsGet200Response.md b/docs/InvoicingV2InvoiceSettingsGet200Response.md index fb9ec61f..07a043cf 100644 --- a/docs/InvoicingV2InvoiceSettingsGet200Response.md +++ b/docs/InvoicingV2InvoiceSettingsGet200Response.md @@ -5,5 +5,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **submit_time_utc** | **String** | Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ` **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the time. The `Z` indicates UTC. Returned by Cybersource for all services. | [optional] **invoice_settings_information** | [**InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation**](InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation.md) | | [optional] +**merchant_information** | [**InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation**](InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.md) | | [optional] diff --git a/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.md b/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.md new file mode 100644 index 00000000..afced86e --- /dev/null +++ b/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.md @@ -0,0 +1,10 @@ +# CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | | [optional] +**phone** | **String** | | [optional] +**address_details** | [**InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails**](InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.md) | | [optional] + + diff --git a/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.md b/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.md new file mode 100644 index 00000000..359aa3a6 --- /dev/null +++ b/docs/InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.md @@ -0,0 +1,13 @@ +# CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**address1** | **String** | | [optional] +**address2** | **String** | | [optional] +**city** | **String** | | [optional] +**state** | **String** | | [optional] +**country** | **String** | | [optional] +**postal_code** | **String** | | [optional] + + diff --git a/docs/InvoicingV2InvoicesGet200Response.md b/docs/InvoicingV2InvoicesGet200Response.md index b719ac53..377d109b 100644 --- a/docs/InvoicingV2InvoicesGet200Response.md +++ b/docs/InvoicingV2InvoicesGet200Response.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional] **invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional] **order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional] +**merchant_defined_field_values_with_definition** | [**Array<InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition>**](InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md) | | [optional] **invoice_history** | [**Array<InvoicingV2InvoicesGet200ResponseInvoiceHistory>**](InvoicingV2InvoicesGet200ResponseInvoiceHistory.md) | | [optional] diff --git a/docs/InvoicingV2InvoicesPost201Response.md b/docs/InvoicingV2InvoicesPost201Response.md index 205aafbd..104cb14e 100644 --- a/docs/InvoicingV2InvoicesPost201Response.md +++ b/docs/InvoicingV2InvoicesPost201Response.md @@ -11,5 +11,6 @@ Name | Type | Description | Notes **processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional] **invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional] **order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional] +**merchant_defined_field_values_with_definition** | [**Array<InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition>**](InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md) | | [optional] diff --git a/docs/InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md b/docs/InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md new file mode 100644 index 00000000..86f6abc1 --- /dev/null +++ b/docs/InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md @@ -0,0 +1,20 @@ +# CyberSource::InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reference_type** | **String** | | [optional] +**label** | **String** | | [optional] +**field_type** | **String** | | [optional] +**customer_visible** | **BOOLEAN** | | [optional] +**read_only** | **BOOLEAN** | | [optional] +**text_min_length** | **Integer** | | [optional] +**text_max_length** | **Integer** | | [optional] +**text_default_value** | **String** | | [optional] +**possible_values** | **String** | | [optional] +**value** | **String** | | [optional] +**position** | **Integer** | | [optional] +**definition_id** | **Integer** | | [optional] +**merchant_defined_data_index** | **Integer** | | [optional] + + diff --git a/docs/InvoicingV2InvoicesPut200Response.md b/docs/InvoicingV2InvoicesPut200Response.md index 8ae186a2..6a248d9f 100644 --- a/docs/InvoicingV2InvoicesPut200Response.md +++ b/docs/InvoicingV2InvoicesPut200Response.md @@ -11,5 +11,6 @@ Name | Type | Description | Notes **processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional] **invoice_information** | [**InvoicingV2InvoicesPost201ResponseInvoiceInformation**](InvoicingV2InvoicesPost201ResponseInvoiceInformation.md) | | [optional] **order_information** | [**InvoicingV2InvoicesPost201ResponseOrderInformation**](InvoicingV2InvoicesPost201ResponseOrderInformation.md) | | [optional] +**merchant_defined_field_values_with_definition** | [**Array<InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition>**](InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.md) | | [optional] diff --git a/docs/Invoicingv2invoicesMerchantDefinedFieldValues.md b/docs/Invoicingv2invoicesMerchantDefinedFieldValues.md new file mode 100644 index 00000000..392e279c --- /dev/null +++ b/docs/Invoicingv2invoicesMerchantDefinedFieldValues.md @@ -0,0 +1,9 @@ +# CyberSource::Invoicingv2invoicesMerchantDefinedFieldValues + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**definition_id** | **Integer** | | [optional] +**value** | **String** | | [optional] + + diff --git a/docs/ManageWebhooksApi.md b/docs/ManageWebhooksApi.md index c12030d1..8283c0fb 100644 --- a/docs/ManageWebhooksApi.md +++ b/docs/ManageWebhooksApi.md @@ -107,7 +107,7 @@ No authorization required # **get_webhook_subscriptions_by_org** -> Array<InlineResponse2004> get_webhook_subscriptions_by_org(organization_id, opts) +> Array<InlineResponse2005> get_webhook_subscriptions_by_org(organization_id, opts) Get Details On All Created Webhooks @@ -146,7 +146,7 @@ Name | Type | Description | Notes ### Return type -[**Array<InlineResponse2004>**](InlineResponse2004.md) +[**Array<InlineResponse2005>**](InlineResponse2005.md) ### Authorization @@ -207,7 +207,7 @@ No authorization required # **notification_subscriptions_v2_webhooks_webhook_id_patch** -> InlineResponse2005 notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, opts) +> InlineResponse2006 notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, opts) Update a Webhook Subscription @@ -244,7 +244,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2005**](InlineResponse2005.md) +[**InlineResponse2006**](InlineResponse2006.md) ### Authorization diff --git a/docs/MerchantBoardingApi.md b/docs/MerchantBoardingApi.md index b97821bd..b23b6250 100644 --- a/docs/MerchantBoardingApi.md +++ b/docs/MerchantBoardingApi.md @@ -9,7 +9,7 @@ Method | HTTP request | Description # **get_registration** -> InlineResponse2002 get_registration(registration_id) +> InlineResponse2003 get_registration(registration_id) Gets all the information on a boarding registration @@ -42,7 +42,7 @@ Name | Type | Description | Notes ### Return type -[**InlineResponse2002**](InlineResponse2002.md) +[**InlineResponse2003**](InlineResponse2003.md) ### Authorization diff --git a/docs/MerchantDefinedFieldCore.md b/docs/MerchantDefinedFieldCore.md new file mode 100644 index 00000000..0c3862cb --- /dev/null +++ b/docs/MerchantDefinedFieldCore.md @@ -0,0 +1,16 @@ +# CyberSource::MerchantDefinedFieldCore + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field_type** | **String** | Possible values: - text - select | +**label** | **String** | | +**customer_visible** | **BOOLEAN** | | [optional] [default to false] +**text_min_length** | **Integer** | Should be used only if fieldType = \"text\" | [optional] +**text_max_length** | **Integer** | Should be used only if fieldType = \"text\" | [optional] +**text_default_value** | **String** | Should be used only if fieldType = \"text\" | [optional] +**possible_values** | **String** | Should be mandatory and used only if fieldType = \"select\" | [optional] +**read_only** | **BOOLEAN** | | [optional] [default to false] +**merchant_defined_data_index** | **Integer** | | + + diff --git a/docs/MerchantDefinedFieldDefinitionRequest.md b/docs/MerchantDefinedFieldDefinitionRequest.md new file mode 100644 index 00000000..f29651af --- /dev/null +++ b/docs/MerchantDefinedFieldDefinitionRequest.md @@ -0,0 +1,16 @@ +# CyberSource::MerchantDefinedFieldDefinitionRequest + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field_type** | **String** | Possible values: - text - select | +**label** | **String** | | +**customer_visible** | **BOOLEAN** | | [optional] [default to false] +**text_min_length** | **Integer** | Should be used only if fieldType = \"text\" | [optional] +**text_max_length** | **Integer** | Should be used only if fieldType = \"text\" | [optional] +**text_default_value** | **String** | Should be used only if fieldType = \"text\" | [optional] +**possible_values** | **String** | Should be mandatory and used only if fieldType = \"select\" | [optional] +**read_only** | **BOOLEAN** | | [optional] [default to false] +**merchant_defined_data_index** | **Integer** | | + + diff --git a/docs/MerchantDefinedFieldsApi.md b/docs/MerchantDefinedFieldsApi.md new file mode 100644 index 00000000..bc57052a --- /dev/null +++ b/docs/MerchantDefinedFieldsApi.md @@ -0,0 +1,203 @@ +# CyberSource::MerchantDefinedFieldsApi + +All URIs are relative to *https://apitest.cybersource.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_merchant_defined_field_definition**](MerchantDefinedFieldsApi.md#create_merchant_defined_field_definition) | **POST** /invoicing/v2/{referenceType}/merchantDefinedFields | Create merchant defined field for a given reference type +[**get_merchant_defined_fields_definitions**](MerchantDefinedFieldsApi.md#get_merchant_defined_fields_definitions) | **GET** /invoicing/v2/{referenceType}/merchantDefinedFields | Get all merchant defined fields for a given reference type +[**invoicing_v2_reference_type_merchant_defined_fields_id_delete**](MerchantDefinedFieldsApi.md#invoicing_v2_reference_type_merchant_defined_fields_id_delete) | **DELETE** /invoicing/v2/{referenceType}/merchantDefinedFields/{id} | Delete a MerchantDefinedField by ID +[**invoicing_v2_reference_type_merchant_defined_fields_id_put**](MerchantDefinedFieldsApi.md#invoicing_v2_reference_type_merchant_defined_fields_id_put) | **PUT** /invoicing/v2/{referenceType}/merchantDefinedFields/{id} | Update a MerchantDefinedField by ID + + +# **create_merchant_defined_field_definition** +> Array<InlineResponse2002> create_merchant_defined_field_definition(reference_type, merchant_defined_field_definition_request) + +Create merchant defined field for a given reference type + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::MerchantDefinedFieldsApi.new + +reference_type = 'reference_type_example' # String | The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + +merchant_defined_field_definition_request = CyberSource::MerchantDefinedFieldDefinitionRequest.new # MerchantDefinedFieldDefinitionRequest | + + +begin + #Create merchant defined field for a given reference type + result = api_instance.create_merchant_defined_field_definition(reference_type, merchant_defined_field_definition_request) + p result +rescue CyberSource::ApiError => e + puts "Exception when calling MerchantDefinedFieldsApi->create_merchant_defined_field_definition: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reference_type** | **String**| The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation | + **merchant_defined_field_definition_request** | [**MerchantDefinedFieldDefinitionRequest**](MerchantDefinedFieldDefinitionRequest.md)| | + +### Return type + +[**Array<InlineResponse2002>**](InlineResponse2002.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + + +# **get_merchant_defined_fields_definitions** +> Array<InlineResponse2002> get_merchant_defined_fields_definitions(reference_type) + +Get all merchant defined fields for a given reference type + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::MerchantDefinedFieldsApi.new + +reference_type = 'reference_type_example' # String | The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + + +begin + #Get all merchant defined fields for a given reference type + result = api_instance.get_merchant_defined_fields_definitions(reference_type) + p result +rescue CyberSource::ApiError => e + puts "Exception when calling MerchantDefinedFieldsApi->get_merchant_defined_fields_definitions: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reference_type** | **String**| The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation | + +### Return type + +[**Array<InlineResponse2002>**](InlineResponse2002.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + + +# **invoicing_v2_reference_type_merchant_defined_fields_id_delete** +> invoicing_v2_reference_type_merchant_defined_fields_id_delete(reference_type, id) + +Delete a MerchantDefinedField by ID + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::MerchantDefinedFieldsApi.new + +reference_type = 'reference_type_example' # String | + +id = 789 # Integer | + + +begin + #Delete a MerchantDefinedField by ID + api_instance.invoicing_v2_reference_type_merchant_defined_fields_id_delete(reference_type, id) +rescue CyberSource::ApiError => e + puts "Exception when calling MerchantDefinedFieldsApi->invoicing_v2_reference_type_merchant_defined_fields_id_delete: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reference_type** | **String**| | + **id** | **Integer**| | + +### Return type + +nil (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json;charset=utf-8 + - **Accept**: application/hal+json;charset=utf-8 + + + +# **invoicing_v2_reference_type_merchant_defined_fields_id_put** +> Array<InlineResponse2002> invoicing_v2_reference_type_merchant_defined_fields_id_put(reference_type, id, merchant_defined_field_core) + +Update a MerchantDefinedField by ID + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::MerchantDefinedFieldsApi.new + +reference_type = 'reference_type_example' # String | + +id = 789 # Integer | + +merchant_defined_field_core = CyberSource::MerchantDefinedFieldCore.new # MerchantDefinedFieldCore | + + +begin + #Update a MerchantDefinedField by ID + result = api_instance.invoicing_v2_reference_type_merchant_defined_fields_id_put(reference_type, id, merchant_defined_field_core) + p result +rescue CyberSource::ApiError => e + puts "Exception when calling MerchantDefinedFieldsApi->invoicing_v2_reference_type_merchant_defined_fields_id_put: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reference_type** | **String**| | + **id** | **Integer**| | + **merchant_defined_field_core** | [**MerchantDefinedFieldCore**](MerchantDefinedFieldCore.md)| | + +### Return type + +[**Array<InlineResponse2002>**](InlineResponse2002.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json;charset=utf-8 + - **Accept**: application/hal+json;charset=utf-8 + + + diff --git a/docs/MitReversalRequest.md b/docs/MitReversalRequest.md index 97542b55..463b5d12 100644 --- a/docs/MitReversalRequest.md +++ b/docs/MitReversalRequest.md @@ -8,5 +8,6 @@ Name | Type | Description | Notes **processing_information** | [**Ptsv2paymentsidreversalsProcessingInformation**](Ptsv2paymentsidreversalsProcessingInformation.md) | | [optional] **order_information** | [**Ptsv2paymentsidreversalsOrderInformation**](Ptsv2paymentsidreversalsOrderInformation.md) | | [optional] **point_of_sale_information** | [**Ptsv2paymentsidreversalsPointOfSaleInformation**](Ptsv2paymentsidreversalsPointOfSaleInformation.md) | | [optional] +**processor_information** | [**Ptsv2reversalsProcessorInformation**](Ptsv2reversalsProcessorInformation.md) | | [optional] diff --git a/docs/PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsPaymentMethods.md b/docs/PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsPaymentMethods.md index b241b554..ee9a24f4 100644 --- a/docs/PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsPaymentMethods.md +++ b/docs/PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsPaymentMethods.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **redirect_success_url** | **String** | URL to redirect to after a successful transaction. This is where the user will be sent after completing the payment. example: http://www.test.com/success | [optional] **redirect_cancel_url** | **String** | URL to redirect to if the user cancels the transaction. This is where the user will be sent if they choose to cancel the payment. example: http://www.test.com/cancel | [optional] **redirect_failure_url** | **String** | URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process. example: http://www.test.com/failure | [optional] +**underwriting** | [**UnderwritingConfiguration**](UnderwritingConfiguration.md) | | [optional] **additional_configurations** | [**Array<PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsAdditionalConfigurations>**](PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigurationsAdditionalConfigurations.md) | Additional configurations for the payment method. This can include various settings specific to the payment method. | [optional] diff --git a/docs/PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md b/docs/PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md index ef7d0858..ae7461b6 100644 --- a/docs/PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md +++ b/docs/PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md @@ -4,6 +4,5 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **BOOLEAN** | | [optional] -**self_serviceability** | **String** | Indicates if the organization can enable this product using self service. Possible values: - SELF_SERVICEABLE - NOT_SELF_SERVICEABLE - SELF_SERVICE_ONLY | [optional] [default to 'NOT_SELF_SERVICEABLE'] diff --git a/docs/PaymentsProductsCurrencyConversion.md b/docs/PaymentsProductsCurrencyConversion.md index 3cc66d06..93e580d4 100644 --- a/docs/PaymentsProductsCurrencyConversion.md +++ b/docs/PaymentsProductsCurrencyConversion.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsCurrencyConversionConfigurationInformation**](PaymentsProductsCurrencyConversionConfigurationInformation.md) | | [optional] diff --git a/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeatures.md b/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeatures.md index 79b43afe..e6fbd2db 100644 --- a/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeatures.md +++ b/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeatures.md @@ -3,6 +3,6 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**surcharge** | [**PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge**](PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.md) | | [optional] +**surcharge** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] diff --git a/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.md b/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.md deleted file mode 100644 index efb275b9..00000000 --- a/docs/PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.md +++ /dev/null @@ -1,8 +0,0 @@ -# CyberSource::PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**enabled** | **BOOLEAN** | | [optional] - - diff --git a/docs/PaymentsProductsPayerAuthentication.md b/docs/PaymentsProductsPayerAuthentication.md index 727c4589..44bbeeaf 100644 --- a/docs/PaymentsProductsPayerAuthentication.md +++ b/docs/PaymentsProductsPayerAuthentication.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsPayerAuthenticationConfigurationInformation**](PaymentsProductsPayerAuthenticationConfigurationInformation.md) | | [optional] diff --git a/docs/PaymentsProductsPayerAuthenticationSubscriptionInformation.md b/docs/PaymentsProductsPayerAuthenticationSubscriptionInformation.md new file mode 100644 index 00000000..95c9af79 --- /dev/null +++ b/docs/PaymentsProductsPayerAuthenticationSubscriptionInformation.md @@ -0,0 +1,9 @@ +# CyberSource::PaymentsProductsPayerAuthenticationSubscriptionInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **BOOLEAN** | | [optional] +**self_serviceability** | **String** | Indicates if the organization can enable this product using self service. Possible values: - SELF_SERVICEABLE - NOT_SELF_SERVICEABLE - SELF_SERVICE_ONLY | [optional] [default to 'NOT_SELF_SERVICEABLE'] + + diff --git a/docs/PaymentsProductsPayouts.md b/docs/PaymentsProductsPayouts.md index ae5ed4ac..148e6da5 100644 --- a/docs/PaymentsProductsPayouts.md +++ b/docs/PaymentsProductsPayouts.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsPayoutsConfigurationInformation**](PaymentsProductsPayoutsConfigurationInformation.md) | | [optional] diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurations.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurations.md index 939e98cf..ae8e65f6 100644 --- a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurations.md +++ b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurations.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**pullfunds** | [**Hash<String, PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds>**](PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.md) | | [optional] -**pushfunds** | [**Hash<String, PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds>**](PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.md) | | [optional] +**common** | [**PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon**](PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.md) | | [optional] +**processors** | **Hash<String, Object>** | | [optional] diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.md new file mode 100644 index 00000000..0d1021e9 --- /dev/null +++ b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.md @@ -0,0 +1,10 @@ +# CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_types** | **Array<String>** | List of card types supported by this merchant. | [optional] +**business_application_id** | **Array<String>** | List of supported Business Application Indicators. | [optional] +**aggregator** | [**PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator**](PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.md) | | [optional] + + diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.md new file mode 100644 index 00000000..0c3356d8 --- /dev/null +++ b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.md @@ -0,0 +1,10 @@ +# CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **String** | Marketplace or payment facilitator ID. | [optional] +**name** | **String** | Acceptor's legal business name associated with the card acceptor identification code. | [optional] +**sub_merchant_id** | **String** | Sub-merchant ID | [optional] + + diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.md deleted file mode 100644 index 5224b229..00000000 --- a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.md +++ /dev/null @@ -1,10 +0,0 @@ -# CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**originator_merchant_id** | **String** | TBD | -**originator_terminal_id** | **Array<String>** | TBD | -**supported_currencies** | **Array<String>** | Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) | [optional] - - diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.md deleted file mode 100644 index 30f52fed..00000000 --- a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.md +++ /dev/null @@ -1,14 +0,0 @@ -# CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**acquirer_organization_id** | **String** | Valid organization in OMS with an organizationInformation.type as \"acquirer\". | [optional] -**acquiring_bin** | **Integer** | This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center. | -**allow_crypto_currency_purchase** | **BOOLEAN** | This configuration allows a transaction to be flagged for cryptocurrency funds transfer. | [optional] -**card_acceptor_id** | **String** | A unique identifier number for the originator of transfers that is unique to the processor or acquirer. | -**originator_mvv** | **String** | Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant. | [optional] -**originator_name_abbreviation** | **String** | A 4 character max name abbreviation for the originator. | [optional] -**card_terminal_id** | **String** | This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions. | - - diff --git a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.md b/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.md deleted file mode 100644 index c7314b5c..00000000 --- a/docs/PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.md +++ /dev/null @@ -1,16 +0,0 @@ -# CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**acquirer_country_code** | **Integer** | TBD | -**acquiring_bin** | **Integer** | TBD | -**allow_crypto_currency_purchase** | **BOOLEAN** | This configuration allows a transaction to be flagged for cryptocurrency funds transfer. | [optional] -**financial_institution_id** | **String** | TBD | [optional] -**network_order** | **String** | TBD | [optional] -**national_reimbursement_fee** | **String** | TBD | [optional] -**originator_business_application_id** | **String** | TBD | -**originator_pseudo_aba_number** | **String** | TBD | [optional] -**processor_account** | [**Array<PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount>**](PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.md) | TBD | - - diff --git a/docs/PaymentsProductsSecureAcceptance.md b/docs/PaymentsProductsSecureAcceptance.md index 383c4ccd..553053b2 100644 --- a/docs/PaymentsProductsSecureAcceptance.md +++ b/docs/PaymentsProductsSecureAcceptance.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsSecureAcceptanceConfigurationInformation**](PaymentsProductsSecureAcceptanceConfigurationInformation.md) | | [optional] diff --git a/docs/PaymentsProductsServiceFee.md b/docs/PaymentsProductsServiceFee.md index 565f45fa..74cabd6a 100644 --- a/docs/PaymentsProductsServiceFee.md +++ b/docs/PaymentsProductsServiceFee.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsServiceFeeConfigurationInformation**](PaymentsProductsServiceFeeConfigurationInformation.md) | | [optional] diff --git a/docs/PaymentsProductsTax.md b/docs/PaymentsProductsTax.md index 59ae9282..c7b3a0b8 100644 --- a/docs/PaymentsProductsTax.md +++ b/docs/PaymentsProductsTax.md @@ -3,6 +3,6 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] diff --git a/docs/PaymentsProductsVirtualTerminal.md b/docs/PaymentsProductsVirtualTerminal.md index a4cf048c..be59e1a5 100644 --- a/docs/PaymentsProductsVirtualTerminal.md +++ b/docs/PaymentsProductsVirtualTerminal.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**PaymentsProductsVirtualTerminalConfigurationInformation**](PaymentsProductsVirtualTerminalConfigurationInformation.md) | | [optional] diff --git a/docs/PostIssuerLifeCycleSimulationRequest.md b/docs/PostIssuerLifeCycleSimulationRequest.md new file mode 100644 index 00000000..64dc32b5 --- /dev/null +++ b/docs/PostIssuerLifeCycleSimulationRequest.md @@ -0,0 +1,10 @@ +# CyberSource::PostIssuerLifeCycleSimulationRequest + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**state** | **String** | The new state of the Tokenized Card. Possible Values: - ACTIVE - SUSPENDED - DELETED | [optional] +**card** | [**Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard**](Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.md) | | [optional] +**metadata** | [**Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata**](Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.md) | | [optional] + + diff --git a/docs/PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation.md b/docs/PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation.md index 1500eee8..fb6867f7 100644 --- a/docs/PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation.md +++ b/docs/PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation.md @@ -8,9 +8,10 @@ Name | Type | Description | Notes **network_transaction_id** | **String** | Same value as `processorInformation.transactionId` | [optional] **response_code** | **String** | For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of the authorization. #### PIN debit Response value that is returned by the processor or bank. **Important** Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal. #### AIBMS If this value is `08`, you can accept the transaction if the customer provides you with identification. #### Atos This value is the response code sent from Atos and it might also include the response code from the bank. Format: `aa,bb` with the two values separated by a comma and where: - `aa` is the two-digit error message from Atos. - `bb` is the optional two-digit error message from the bank. #### Comercio Latino This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example `2:R06` #### JCN Gateway Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field. String (3) #### paypalgateway Processor generated ID for the itemized detail. | [optional] **system_trace_audit_number** | **String** | This field is returned only for **American Express Direct** and **CyberSource through VisaNet**. Returned by authorization and incremental authorization services. #### American Express Direct System trace audit number (STAN). This value identifies the transaction and is useful when investigating a chargeback dispute. #### CyberSource through VisaNet System trace number that must be printed on the customer's receipt. | [optional] -**response_details** | **String** | This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] **merchant_advice** | [**PtsV2PaymentsPost201ResponseProcessorInformationMerchantAdvice**](PtsV2PaymentsPost201ResponseProcessorInformationMerchantAdvice.md) | | [optional] **merchant_risk_prediction** | **String** | Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region. A newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices. | [optional] **seller_protection** | [**PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection**](PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection.md) | | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/PtsV2PaymentsCapturesPost201ResponseOrderInformationInvoiceDetails.md b/docs/PtsV2PaymentsCapturesPost201ResponseOrderInformationInvoiceDetails.md index 694e704c..94c24b8f 100644 --- a/docs/PtsV2PaymentsCapturesPost201ResponseOrderInformationInvoiceDetails.md +++ b/docs/PtsV2PaymentsCapturesPost201ResponseOrderInformationInvoiceDetails.md @@ -3,6 +3,6 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**level3_transmission_status** | **BOOLEAN** | Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **true** - **false** | [optional] +**level3_transmission_status** | **String** | Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **Y** for true - **N** for false | [optional] diff --git a/docs/PtsV2PaymentsCapturesPost201ResponseProcessorInformation.md b/docs/PtsV2PaymentsCapturesPost201ResponseProcessorInformation.md index 266fbe1a..5ad17544 100644 --- a/docs/PtsV2PaymentsCapturesPost201ResponseProcessorInformation.md +++ b/docs/PtsV2PaymentsCapturesPost201ResponseProcessorInformation.md @@ -9,5 +9,6 @@ Name | Type | Description | Notes **response_code** | **String** | For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of the authorization. #### PIN debit Response value that is returned by the processor or bank. **Important** Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal. #### AIBMS If this value is `08`, you can accept the transaction if the customer provides you with identification. #### Atos This value is the response code sent from Atos and it might also include the response code from the bank. Format: `aa,bb` with the two values separated by a comma and where: - `aa` is the two-digit error message from Atos. - `bb` is the optional two-digit error message from the bank. #### Comercio Latino This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example `2:R06` #### JCN Gateway Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field. String (3) #### paypalgateway Processor generated ID for the itemized detail. | [optional] **provider_response** | **String** | Processor response to the API request. | [optional] **update_time_utc** | **String** | The date and time when the transaction was last updated, in Internet date and time format. | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/PtsV2PaymentsOrderPost201ResponsePaymentInformationEWallet.md b/docs/PtsV2PaymentsOrderPost201ResponsePaymentInformationEWallet.md index d95965a0..5e6b0faa 100644 --- a/docs/PtsV2PaymentsOrderPost201ResponsePaymentInformationEWallet.md +++ b/docs/PtsV2PaymentsOrderPost201ResponsePaymentInformationEWallet.md @@ -6,6 +6,6 @@ Name | Type | Description | Notes **account_id** | **String** | The ID of the customer, passed in the return_url field by PayPal after customer approval. | [optional] **funding_source** | **String** | Payment mode for the authorization or order transaction.  INSTANT_TRANSFER  MANUAL_BANK_TRANSFER  DELAYED_TRANSFER  ECHECK  UNRESTRICTED (default)—this value is available only when configured by PayPal for the merchant. INSTANT | [optional] **funding_source_sale** | **String** | Payment method for the unit purchase. Possible values: - `UNRESTRICTED (default)—this value is only available if configured by PayPal for the merchant.` - `INSTANT` | [optional] -**user_name** | **String** | The Venmo user name chosen by the user, also know as a Venmo handle. | [optional] +**user_name** | **String** | The Venmo user name chosen by the user, also known as a Venmo handle. | [optional] diff --git a/docs/PtsV2PaymentsOrderPost201ResponseProcessorInformation.md b/docs/PtsV2PaymentsOrderPost201ResponseProcessorInformation.md index 5a4b5ff1..4717aa16 100644 --- a/docs/PtsV2PaymentsOrderPost201ResponseProcessorInformation.md +++ b/docs/PtsV2PaymentsOrderPost201ResponseProcessorInformation.md @@ -6,6 +6,6 @@ Name | Type | Description | Notes **seller_protection** | [**PtsV2PaymentsOrderPost201ResponseProcessorInformationSellerProtection**](PtsV2PaymentsOrderPost201ResponseProcessorInformationSellerProtection.md) | | [optional] **avs** | [**PtsV2PaymentsPost201Response1ProcessorInformationAvs**](PtsV2PaymentsPost201Response1ProcessorInformationAvs.md) | | [optional] **transaction_id** | **String** | Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 | [optional] -**response_details** | **String** | This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1IssuerInformation.md b/docs/PtsV2PaymentsPost201Response1IssuerInformation.md index 4b0aaefd..01763e9c 100644 --- a/docs/PtsV2PaymentsPost201Response1IssuerInformation.md +++ b/docs/PtsV2PaymentsPost201Response1IssuerInformation.md @@ -4,6 +4,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **String** | Name of the card issuer provided by the processor. | [optional] -**code** | **String** | Unique code for card issuer provided by the processor. | [optional] +**code** | **String** | Unique code for card issuer provided by the processor. | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md b/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md index c61c544d..2b3b247d 100644 --- a/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md +++ b/docs/PtsV2PaymentsPost201Response1OrderInformationAmountDetails.md @@ -3,6 +3,6 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**refund_balance** | **String** | This field will carry the remaning amount which can be refunded. | [optional] +**refund_balance** | **String** | The remaining amount which can be refunded. | [optional] diff --git a/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md b/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md index 7b49ae30..d397e9df 100644 --- a/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md +++ b/docs/PtsV2PaymentsPost201Response1ProcessorInformation.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **transaction_id** | **String** | Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 | [optional] **trade_number** | **String** | The description for this field is not available. | [optional] -**raw_response** | **String** | This field is set to the value of failure reason returned by the processor. | [optional] -**raw_response_local** | **String** | This field is set to the value of failure reason returned by the processor in the local language of the processor. | [optional] +**raw_response** | **String** | Failure reason returned by the processor. | [optional] +**raw_response_local** | **String** | Failure reason returned by the processor in the local language of the processor. | [optional] **response_details** | **String** | This field might contain information about a decline. | [optional] **response_code** | **String** | This field is set to the value of response code returned by the processor. | [optional] **seller_protection** | [**PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection**](PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection.md) | | [optional] diff --git a/docs/PtsV2PaymentsPost201Response2ProcessorInformation.md b/docs/PtsV2PaymentsPost201Response2ProcessorInformation.md index eff3de33..8868408b 100644 --- a/docs/PtsV2PaymentsPost201Response2ProcessorInformation.md +++ b/docs/PtsV2PaymentsPost201Response2ProcessorInformation.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **transaction_id** | **String** | Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 | [optional] **payment_url** | **String** | Direct the customer to this URL to complete the payment. | [optional] -**response_details** | **String** | This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] **token** | **String** | Payment gateway/processor assigned session token. | [optional] **response_code** | **String** | Transaction status from the processor. | [optional] diff --git a/docs/PtsV2PaymentsPost201ResponseOrderInformationInvoiceDetails.md b/docs/PtsV2PaymentsPost201ResponseOrderInformationInvoiceDetails.md index 36d66542..3fbc1c32 100644 --- a/docs/PtsV2PaymentsPost201ResponseOrderInformationInvoiceDetails.md +++ b/docs/PtsV2PaymentsPost201ResponseOrderInformationInvoiceDetails.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**level3_transmission_status** | **BOOLEAN** | Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **true** - **false** | [optional] +**level3_transmission_status** | **String** | Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **Y** for true - **N** for false | [optional] **sales_slip_number** | **Integer** | Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt. This field is supported only on Cybersource through Visanet and JCN gateway. Optional field. #### Card Present processing message If you included this field in the request, the returned value is the value that you sent in the request. If you did not include this field in the request, the system generated this value for you. The difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the system generates the system trace audit number (STAN), and you must print the receipt number on the receipt; whereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt. | [optional] diff --git a/docs/PtsV2PaymentsPost201ResponseProcessorInformation.md b/docs/PtsV2PaymentsPost201ResponseProcessorInformation.md index 00413b00..08d47bcc 100644 --- a/docs/PtsV2PaymentsPost201ResponseProcessorInformation.md +++ b/docs/PtsV2PaymentsPost201ResponseProcessorInformation.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **network_transaction_id** | **String** | Same value as `processorInformation.transactionId` | [optional] **response_code** | **String** | For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. **Important** Do not use this field to evaluate the result of the authorization. #### PIN debit Response value that is returned by the processor or bank. **Important** Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal. #### AIBMS If this value is `08`, you can accept the transaction if the customer provides you with identification. #### Atos This value is the response code sent from Atos and it might also include the response code from the bank. Format: `aa,bb` with the two values separated by a comma and where: - `aa` is the two-digit error message from Atos. - `bb` is the optional two-digit error message from the bank. #### Comercio Latino This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example `2:R06` #### JCN Gateway Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field. String (3) #### paypalgateway Processor generated ID for the itemized detail. | [optional] **response_code_source** | **String** | Used by Visa only and contains the response source/reason code that identifies the source of the response decision. | [optional] -**response_details** | **String** | This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] **response_category_code** | **String** | Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode` field of the service you requested. This field is supported only for: - Japanese issuers - Domestic transactions in Japan - Comercio Latino—processor transaction ID required for troubleshooting #### Maximum length for processors - Comercio Latino: 36 - All other processors: 3 | [optional] **forwarded_acquirer_code** | **String** | Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway. Please contact the CyberSource Japan Support Group for more information. | [optional] **settlement_date** | **String** | Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day. | [optional] @@ -48,5 +48,6 @@ Name | Type | Description | Notes **order_id** | **String** | The id of the order | [optional] **order_status** | **String** | The order status. Possible values: - `CREATED` - `VOIDED` - `COMPLETED` - `PAYER_ACTION_REQUIRED` | [optional] **merchant_risk_prediction** | **String** | Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region. A newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices. | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/PtsV2PaymentsRefundPost201ResponseProcessorInformation.md b/docs/PtsV2PaymentsRefundPost201ResponseProcessorInformation.md index 816a6294..229d64e0 100644 --- a/docs/PtsV2PaymentsRefundPost201ResponseProcessorInformation.md +++ b/docs/PtsV2PaymentsRefundPost201ResponseProcessorInformation.md @@ -12,5 +12,6 @@ Name | Type | Description | Notes **network_transaction_id** | **String** | Same value as `processorInformation.transactionId` | [optional] **settlement_date** | **String** | Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day. | [optional] **update_time_utc** | **String** | The date and time when the transaction was last updated, in Internet date and time format. | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/PtsV2PaymentsReversalsPost201ResponseProcessorInformation.md b/docs/PtsV2PaymentsReversalsPost201ResponseProcessorInformation.md index d242896a..04bc72cf 100644 --- a/docs/PtsV2PaymentsReversalsPost201ResponseProcessorInformation.md +++ b/docs/PtsV2PaymentsReversalsPost201ResponseProcessorInformation.md @@ -10,7 +10,8 @@ Name | Type | Description | Notes **forwarded_acquirer_code** | **String** | Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway. Please contact the CyberSource Japan Support Group for more information. | [optional] **master_card_service_code** | **String** | Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource. Possible value: - 53: Mastercard card-on-file token service #### CyberSource through VisaNet The value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR6 - Position: 133-134 - Field: Mastercard Merchant on-behalf service. **Note** This field is returned only for CyberSource through VisaNet. | [optional] **master_card_service_reply_code** | **String** | Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource. Possible values: - `C`: Service completed successfully. - `F`: One of the following: - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or authorization reversal. - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request. - Token requestor ID is missing or formatted incorrectly. - `I`: One of the following: - Invalid token requestor ID. - Suspended or deactivated token. - Invalid token (not in mapping table). - `T`: Invalid combination of token requestor ID and token. - `U`: Expired token. - `W`: Primary account number (PAN) listed in electronic warning bulletin. **Note** This field is returned only for **CyberSource through VisaNet**. | [optional] -**response_details** | **String** | This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] **provider_response** | **String** | Processor response to the API request. | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/Ptsv2intentsPaymentInformationTokenizedPaymentMethod.md b/docs/Ptsv2intentsPaymentInformationTokenizedPaymentMethod.md index 21394bab..c85f88e4 100644 --- a/docs/Ptsv2intentsPaymentInformationTokenizedPaymentMethod.md +++ b/docs/Ptsv2intentsPaymentInformationTokenizedPaymentMethod.md @@ -6,6 +6,6 @@ Name | Type | Description | Notes **description** | **String** | Description of the vaulted payment method shown to the buyer during checkout and in their PayPal account. | [optional] **usage_pattern** | **String** | Indicates how the merchant will primarily use the vaulted payment method. Valid values: - \"IMMEDIATE\": For on-demand, instant payments. These payments are variable in both amount and frequency and will be used to pay for goods or services before they are rendered to the buyer - \"DEFERRED\": For post-pay payments; that is, payments for goods or services that have already been rendered to the buyer - \"RECURRING_PREPAID\": For recurring payments before services are rendered. - \"RECURRING_POSTPAID\": For recurring payments after services are rendered. - \"THRESHOLD_PREPAID\": For payments when a pre-defined threshold is reached before services are rendered. - \"THRESHOLD_POSTPAID\": For payments when a pre-defined threshold is reached after services are rendered. | [optional] **usage_type** | **String** | Indicates the type of vaulting relationship. Valid values: - \"MERCHANT\": Single merchant relationship. - \"PLATFORM\": Platform hosting multiple merchants. | [optional] -**allow_multiple_tokens** | **BOOLEAN** | Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account. | [optional] +**allow_multiple_tokens** | **String** | Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account. | [optional] diff --git a/docs/Ptsv2paymentsOrderInformationAmountDetails.md b/docs/Ptsv2paymentsOrderInformationAmountDetails.md index 59d09875..eac9fb31 100644 --- a/docs/Ptsv2paymentsOrderInformationAmountDetails.md +++ b/docs/Ptsv2paymentsOrderInformationAmountDetails.md @@ -3,6 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**refund_balance** | **String** | The remaining amount which can be refunded. | [optional] **gift_wrap_amount** | **String** | Amount being charged as gift wrap fee. | [optional] **invoice_amount** | **String** | 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 | [optional] **total_amount** | **String** | 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. | [optional] diff --git a/docs/Ptsv2paymentsProcessorInformation.md b/docs/Ptsv2paymentsProcessorInformation.md index 484bcac6..73ab00da 100644 --- a/docs/Ptsv2paymentsProcessorInformation.md +++ b/docs/Ptsv2paymentsProcessorInformation.md @@ -6,5 +6,6 @@ Name | Type | Description | Notes **pre_approval_token** | **String** | Token received in original session service. | [optional] **authorization_options** | [**Ptsv2paymentsProcessorInformationAuthorizationOptions**](Ptsv2paymentsProcessorInformationAuthorizationOptions.md) | | [optional] **reversal** | [**Ptsv2paymentsProcessorInformationReversal**](Ptsv2paymentsProcessorInformationReversal.md) | | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/Ptsv2paymentsProcessorInformationReversal.md b/docs/Ptsv2paymentsProcessorInformationReversal.md index cb17fd2e..93b22fa7 100644 --- a/docs/Ptsv2paymentsProcessorInformationReversal.md +++ b/docs/Ptsv2paymentsProcessorInformationReversal.md @@ -4,5 +4,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **pre_approval_token** | **String** | This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions. | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/Ptsv2paymentsProcessorInformationReversalNetwork.md b/docs/Ptsv2paymentsProcessorInformationReversalNetwork.md new file mode 100644 index 00000000..28d124a6 --- /dev/null +++ b/docs/Ptsv2paymentsProcessorInformationReversalNetwork.md @@ -0,0 +1,8 @@ +# CyberSource::Ptsv2paymentsProcessorInformationReversalNetwork + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**economically_related_txn_id** | **String** | Indicates the economically related transaction id | [optional] + + diff --git a/docs/Ptsv2paymentsidProcessingInformation.md b/docs/Ptsv2paymentsidProcessingInformation.md index db0baac6..4b9e6d75 100644 --- a/docs/Ptsv2paymentsidProcessingInformation.md +++ b/docs/Ptsv2paymentsidProcessingInformation.md @@ -4,5 +4,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **authorization_options** | [**Ptsv2paymentsidProcessingInformationAuthorizationOptions**](Ptsv2paymentsidProcessingInformationAuthorizationOptions.md) | | [optional] +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] diff --git a/docs/Ptsv2reversalsProcessorInformation.md b/docs/Ptsv2reversalsProcessorInformation.md new file mode 100644 index 00000000..8f9e0835 --- /dev/null +++ b/docs/Ptsv2reversalsProcessorInformation.md @@ -0,0 +1,8 @@ +# CyberSource::Ptsv2reversalsProcessorInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**network** | [**Ptsv2paymentsProcessorInformationReversalNetwork**](Ptsv2paymentsProcessorInformationReversalNetwork.md) | | [optional] + + diff --git a/docs/RefundCaptureRequest.md b/docs/RefundCaptureRequest.md index aba4443d..018862e2 100644 --- a/docs/RefundCaptureRequest.md +++ b/docs/RefundCaptureRequest.md @@ -15,5 +15,6 @@ Name | Type | Description | Notes **merchant_defined_information** | [**Array<Ptsv2paymentsMerchantDefinedInformation>**](Ptsv2paymentsMerchantDefinedInformation.md) | The object containing the custom data that the merchant defines. | [optional] **travel_information** | [**Ptsv2paymentsTravelInformation**](Ptsv2paymentsTravelInformation.md) | | [optional] **promotion_information** | [**Ptsv2paymentsPromotionInformation**](Ptsv2paymentsPromotionInformation.md) | | [optional] +**processor_information** | [**Ptsv2reversalsProcessorInformation**](Ptsv2reversalsProcessorInformation.md) | | [optional] diff --git a/docs/RefundPaymentRequest.md b/docs/RefundPaymentRequest.md index 09f62573..90ef0eab 100644 --- a/docs/RefundPaymentRequest.md +++ b/docs/RefundPaymentRequest.md @@ -15,5 +15,6 @@ Name | Type | Description | Notes **merchant_defined_information** | [**Array<Ptsv2paymentsMerchantDefinedInformation>**](Ptsv2paymentsMerchantDefinedInformation.md) | The object containing the custom data that the merchant defines. | [optional] **travel_information** | [**Ptsv2paymentsTravelInformation**](Ptsv2paymentsTravelInformation.md) | | [optional] **promotion_information** | [**Ptsv2paymentsPromotionInformation**](Ptsv2paymentsPromotionInformation.md) | | [optional] +**processor_information** | [**Ptsv2reversalsProcessorInformation**](Ptsv2reversalsProcessorInformation.md) | | [optional] diff --git a/docs/ReportingV3ReportDefinitionsGet200ResponseReportDefinitions.md b/docs/ReportingV3ReportDefinitionsGet200ResponseReportDefinitions.md index bfd68b7d..6ad7b9b3 100644 --- a/docs/ReportingV3ReportDefinitionsGet200ResponseReportDefinitions.md +++ b/docs/ReportingV3ReportDefinitionsGet200ResponseReportDefinitions.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **type** | **String** | | [optional] -**report_definition_id** | **Integer** | | Id | Definition Class | | --- | --------------------------------- | | 210 | TransactionRequestClass | | 211 | PaymentBatchDetailClass | | 212 | ExceptionDetailClass | | 213 | ProcessorSettlementDetailClass | | 214 | ProcessorEventsDetailClass | | 215 | FundingDetailClass | | 216 | AgingDetailClass | | 217 | ChargebackAndRetrievalDetailClass | | 218 | DepositDetailClass | | 219 | FeeDetailClass | | 220 | InvoiceSummaryClass | | 221 | PayerAuthDetailClass | | 222 | ConversionDetailClass | | 225 | BillableTransactionsDetailClass | | 270 | JPTransactionDetailClass | | 271 | ServiceFeeDetailClass | | 310 | GatewayTransactionRequestClass | | 400 | DecisionManagerEventDetailClass | | 401 | DecisionManagerDetailClass | | 410 | FeeSummaryClass | | 420 | TaxCalculationClass | | 520 | POSTerminalExceptionClass | | 620 | SubscriptionDetailClass | | [optional] +**report_definition_id** | **Integer** | | Id | Definition Class | | --- | --------------------------------- | | 210 | TransactionRequestClass | | 211 | PaymentBatchDetailClass | | 212 | ExceptionDetailClass | | 213 | ProcessorSettlementDetailClass | | 214 | ProcessorEventsDetailClass | | 215 | FundingDetailClass | | 216 | AgingDetailClass | | 217 | ChargebackAndRetrievalDetailClass | | 218 | DepositDetailClass | | 219 | FeeDetailClass | | 220 | InvoiceSummaryClass | | 221 | PayerAuthDetailClass | | 222 | ConversionDetailClass | | 225 | BillableTransactionsDetailClass | | 270 | JPTransactionDetailClass | | 271 | ServiceFeeDetailClass | | 310 | GatewayTransactionRequestClass | | 400 | DecisionManagerEventDetailClass | | 401 | DecisionManagerDetailClass | | 410 | FeeSummaryClass | | 420 | TaxCalculationClass | | 520 | POSTerminalExceptionClass | | 620 | SubscriptionDetailClass | | 630 | StandardBillingDataPackageClass | | 706 | StandardMonthlyFeeClass | | [optional] **report_defintion_name** | **String** | | [optional] **supported_formats** | **Array<String>** | | [optional] **description** | **String** | | [optional] diff --git a/docs/RiskProductsDecisionManager.md b/docs/RiskProductsDecisionManager.md index 4c5af19d..d8a2bcfc 100644 --- a/docs/RiskProductsDecisionManager.md +++ b/docs/RiskProductsDecisionManager.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**RiskProductsDecisionManagerConfigurationInformation**](RiskProductsDecisionManagerConfigurationInformation.md) | | [optional] diff --git a/docs/RiskProductsFraudManagementEssentials.md b/docs/RiskProductsFraudManagementEssentials.md index 341546a6..9270e1ff 100644 --- a/docs/RiskProductsFraudManagementEssentials.md +++ b/docs/RiskProductsFraudManagementEssentials.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**RiskProductsFraudManagementEssentialsConfigurationInformation**](RiskProductsFraudManagementEssentialsConfigurationInformation.md) | | [optional] diff --git a/docs/RiskProductsPortfolioRiskControls.md b/docs/RiskProductsPortfolioRiskControls.md index d5376ac7..2d979839 100644 --- a/docs/RiskProductsPortfolioRiskControls.md +++ b/docs/RiskProductsPortfolioRiskControls.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**subscription_information** | [**PaymentsProductsAlternativePaymentMethodsSubscriptionInformation**](PaymentsProductsAlternativePaymentMethodsSubscriptionInformation.md) | | [optional] +**subscription_information** | [**PaymentsProductsPayerAuthenticationSubscriptionInformation**](PaymentsProductsPayerAuthenticationSubscriptionInformation.md) | | [optional] **configuration_information** | [**RiskProductsPortfolioRiskControlsConfigurationInformation**](RiskProductsPortfolioRiskControlsConfigurationInformation.md) | | [optional] diff --git a/docs/TmsBinLookupPaymentAccountInformationFeatures.md b/docs/TmsBinLookupPaymentAccountInformationFeatures.md index d9881ac9..5ba56050 100644 --- a/docs/TmsBinLookupPaymentAccountInformationFeatures.md +++ b/docs/TmsBinLookupPaymentAccountInformationFeatures.md @@ -22,5 +22,10 @@ Name | Type | Description | Notes **online_gambling_block** | **BOOLEAN** | This field indicates if online gambling is blocked on the BIN. Possible values: - `true` - `false` | [optional] **auto_substantiation** | **BOOLEAN** | This field indicates if auto-substantiation is enabled on the BIN. Possible values: - `true` - `false` | [optional] **flex_credential** | **BOOLEAN** | This field indicates if the instrument is a flex credential. Possible values: - `true` - `false` | [optional] +**product_id** | **String** | This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs. Example values: - Q4 - P - AX | [optional] +**product_id_subtype** | **String** | This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs. Example values: - BB - EX - L2 - C2 | [optional] +**three_ds_support** | **BOOLEAN** | This field indicates if the payment instrument supports 3D Secure authentication. Possible values: - `true` - `false` | [optional] +**si_eligible** | **BOOLEAN** | This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments). Possible values: - `true` - `false` | [optional] +**emi_eligible** | **BOOLEAN** | This field indicates if the card is eligible for Equated Monthly Installments (EMI). Possible values: - `true` - `false` | [optional] diff --git a/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.md b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.md new file mode 100644 index 00000000..aea5ee40 --- /dev/null +++ b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.md @@ -0,0 +1,10 @@ +# CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**last4** | **String** | The new last 4 digits of the card number associated to the Tokenized Card. | [optional] +**expiration_month** | **String** | The new two-digit month of the card associated to the Tokenized Card. Format: `MM`. Possible Values: `01` through `12`. | [optional] +**expiration_year** | **String** | The new four-digit year of the card associated to the Tokenized Card. Format: `YYYY`. | [optional] + + diff --git a/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.md b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.md new file mode 100644 index 00000000..32180ee2 --- /dev/null +++ b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.md @@ -0,0 +1,8 @@ +# CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**card_art** | [**Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt**](Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.md) | | [optional] + + diff --git a/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.md b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.md new file mode 100644 index 00000000..42ce45eb --- /dev/null +++ b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.md @@ -0,0 +1,8 @@ +# CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**combined_asset** | [**Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset**](Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.md) | | [optional] + + diff --git a/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.md b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.md new file mode 100644 index 00000000..5de5a1ab --- /dev/null +++ b/docs/Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.md @@ -0,0 +1,8 @@ +# CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**update** | **String** | Set to \"true\" to simulate an update to the combined card art asset associated with the Tokenized Card. | [optional] + + diff --git a/docs/TokenizedCardApi.md b/docs/TokenizedCardApi.md index 1d0f0a4c..6dd9335e 100644 --- a/docs/TokenizedCardApi.md +++ b/docs/TokenizedCardApi.md @@ -6,6 +6,7 @@ Method | HTTP request | Description ------------- | ------------- | ------------- [**delete_tokenized_card**](TokenizedCardApi.md#delete_tokenized_card) | **DELETE** /tms/v2/tokenized-cards/{tokenizedCardId} | Delete a Tokenized Card [**get_tokenized_card**](TokenizedCardApi.md#get_tokenized_card) | **GET** /tms/v2/tokenized-cards/{tokenizedCardId} | Retrieve a Tokenized Card +[**post_issuer_life_cycle_simulation**](TokenizedCardApi.md#post_issuer_life_cycle_simulation) | **POST** /tms/v2/tokenized-cards/{tokenizedCardId}/issuer-life-cycle-event-simulations | Simulate Issuer Life Cycle Management Events [**post_tokenized_card**](TokenizedCardApi.md#post_tokenized_card) | **POST** /tms/v2/tokenized-cards | Create a Tokenized Card @@ -110,6 +111,58 @@ No authorization required +# **post_issuer_life_cycle_simulation** +> post_issuer_life_cycle_simulation(profile_id, tokenized_card_id, post_issuer_life_cycle_simulation_request) + +Simulate Issuer Life Cycle Management Events + +**Lifecycle Management Events**
Simulates an issuer life cycle manegement event for updates on the tokenized card. The events that can be simulated are: - Token status changes (e.g. active, suspended, deleted) - Updates to the underlying card, including card art changes, expiration date changes, and card number suffix. **Note:** This is only available in CAS environment. + +### Example +```ruby +# load the gem +require 'cybersource_rest_client' + +api_instance = CyberSource::TokenizedCardApi.new + +profile_id = 'profile_id_example' # String | The Id of a profile containing user specific TMS configuration. + +tokenized_card_id = 'tokenized_card_id_example' # String | The Id of a tokenized card. + +post_issuer_life_cycle_simulation_request = CyberSource::PostIssuerLifeCycleSimulationRequest.new # PostIssuerLifeCycleSimulationRequest | + + +begin + #Simulate Issuer Life Cycle Management Events + api_instance.post_issuer_life_cycle_simulation(profile_id, tokenized_card_id, post_issuer_life_cycle_simulation_request) +rescue CyberSource::ApiError => e + puts "Exception when calling TokenizedCardApi->post_issuer_life_cycle_simulation: #{e}" +end +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **String**| The Id of a profile containing user specific TMS configuration. | + **tokenized_card_id** | **String**| The Id of a tokenized card. | + **post_issuer_life_cycle_simulation_request** | [**PostIssuerLifeCycleSimulationRequest**](PostIssuerLifeCycleSimulationRequest.md)| | + +### Return type + +nil (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json;charset=utf-8 + - **Accept**: application/json;charset=utf-8 + + + # **post_tokenized_card** > TokenizedcardRequest post_tokenized_card(tokenizedcard_request, opts) diff --git a/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md b/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md index 3b7ffb48..3f13ffa3 100644 --- a/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md +++ b/docs/TssV2TransactionsGet200ResponseOrderInformationAmountDetails.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **authorized_amount** | **String** | Amount that was authorized. Returned by authorization service. #### PIN debit Amount of the purchase. Returned by PIN debit purchase. | [optional] **settlement_amount** | **String** | 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. | [optional] **settlement_currency** | **String** | 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. | [optional] +**refund_balance** | **String** | The remaining amount which can be refunded. | [optional] **surcharge** | [**Ptsv2payoutsOrderInformationAmountDetailsSurcharge**](Ptsv2payoutsOrderInformationAmountDetailsSurcharge.md) | | [optional] diff --git a/docs/TssV2TransactionsGet200ResponsePaymentInformation.md b/docs/TssV2TransactionsGet200ResponsePaymentInformation.md index 9c25d26a..834cf084 100644 --- a/docs/TssV2TransactionsGet200ResponsePaymentInformation.md +++ b/docs/TssV2TransactionsGet200ResponsePaymentInformation.md @@ -4,6 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **payment_type** | [**TssV2TransactionsGet200ResponsePaymentInformationPaymentType**](TssV2TransactionsGet200ResponsePaymentInformationPaymentType.md) | | [optional] +**e_wallet** | [**PtsV2PaymentsPost201Response1PaymentInformationEWallet**](PtsV2PaymentsPost201Response1PaymentInformationEWallet.md) | | [optional] **customer** | [**TssV2TransactionsGet200ResponsePaymentInformationCustomer**](TssV2TransactionsGet200ResponsePaymentInformationCustomer.md) | | [optional] **card** | [**TssV2TransactionsGet200ResponsePaymentInformationCard**](TssV2TransactionsGet200ResponsePaymentInformationCard.md) | | [optional] **brands** | [**Array<TssV2TransactionsGet200ResponsePaymentInformationBrands>**](TssV2TransactionsGet200ResponsePaymentInformationBrands.md) | This array contains the supported brands. | [optional] diff --git a/docs/TssV2TransactionsGet200ResponseProcessorInformation.md b/docs/TssV2TransactionsGet200ResponseProcessorInformation.md index 2cb5ec10..4ffb0b32 100644 --- a/docs/TssV2TransactionsGet200ResponseProcessorInformation.md +++ b/docs/TssV2TransactionsGet200ResponseProcessorInformation.md @@ -15,10 +15,14 @@ Name | Type | Description | Notes **card_verification** | [**Riskv1decisionsProcessorInformationCardVerification**](Riskv1decisionsProcessorInformationCardVerification.md) | | [optional] **ach_verification** | [**PtsV2PaymentsPost201ResponseProcessorInformationAchVerification**](PtsV2PaymentsPost201ResponseProcessorInformationAchVerification.md) | | [optional] **electronic_verification_results** | [**TssV2TransactionsGet200ResponseProcessorInformationElectronicVerificationResults**](TssV2TransactionsGet200ResponseProcessorInformationElectronicVerificationResults.md) | | [optional] +**issuer_information** | [**PtsV2PaymentsPost201Response1IssuerInformation**](PtsV2PaymentsPost201Response1IssuerInformation.md) | | [optional] **event_status** | **String** | The event status. | [optional] **system_trace_audit_number** | **String** | This field is returned only for **American Express Direct** and **CyberSource through VisaNet**. Returned by authorization and incremental authorization services. #### American Express Direct System trace audit number (STAN). This value identifies the transaction and is useful when investigating a chargeback dispute. #### CyberSource through VisaNet System trace number that must be printed on the customer's receipt. | [optional] **response_code_source** | **String** | Used by Visa only and contains the response source/reason code that identifies the source of the response decision. | [optional] **payment_account_reference_number** | **String** | Payment Account Reference (PAR) is a non-financial reference assigned to each unique payment account and used to link a payment account to associated network tokens, i.e. the same PAR is returned for PAN-based and tokenized transactions, such as from digital wallets. PAR can be returned in authorisation responses for requests initiated with both real PANs and tokenized PANs. PAR can be used by merchants for fraud detection and regulatory compliance across different channels and digital wallets. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification. **Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR8 - Position: 79-110 - Field: Payment Account Reference The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks. | [optional] +**response_details** | **String** | This field might contain information about a decline. | [optional] +**raw_response_local** | **String** | Failure reason returned by the processor in the local language of the processor. | [optional] +**raw_response** | **String** | Failure reason returned by the processor. | [optional] **routing** | [**PtsV2PaymentsPost201ResponseProcessorInformationRouting**](PtsV2PaymentsPost201ResponseProcessorInformationRouting.md) | | [optional] diff --git a/docs/UnderwritingConfiguration.md b/docs/UnderwritingConfiguration.md new file mode 100644 index 00000000..c0536505 --- /dev/null +++ b/docs/UnderwritingConfiguration.md @@ -0,0 +1,17 @@ +# CyberSource::UnderwritingConfiguration + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_reference_information** | [**UnderwritingConfigurationClientReferenceInformation**](UnderwritingConfigurationClientReferenceInformation.md) | | [optional] +**merchant_application** | [**UnderwritingConfigurationMerchantApplication**](UnderwritingConfigurationMerchantApplication.md) | | [optional] +**metadata** | **Object** | | [optional] +**metadata_external** | **Object** | | [optional] +**organization_information** | [**UnderwritingConfigurationOrganizationInformation**](UnderwritingConfigurationOrganizationInformation.md) | | [optional] +**device_information** | [**UnderwritingConfigurationDeviceInformation**](UnderwritingConfigurationDeviceInformation.md) | | [optional] +**deposit_information** | [**UnderwritingConfigurationDepositInformation**](UnderwritingConfigurationDepositInformation.md) | | [optional] +**billing_information** | [**UnderwritingConfigurationBillingInformation**](UnderwritingConfigurationBillingInformation.md) | | [optional] +**sale_representative_information** | [**UnderwritingConfigurationSaleRepresentativeInformation**](UnderwritingConfigurationSaleRepresentativeInformation.md) | | [optional] +**file_attachment_information** | [**UnderwritingConfigurationFileAttachmentInformation**](UnderwritingConfigurationFileAttachmentInformation.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationBillingInformation.md b/docs/UnderwritingConfigurationBillingInformation.md new file mode 100644 index 00000000..42ef5924 --- /dev/null +++ b/docs/UnderwritingConfigurationBillingInformation.md @@ -0,0 +1,8 @@ +# CyberSource::UnderwritingConfigurationBillingInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bank_account_information** | [**UnderwritingConfigurationBillingInformationBankAccountInformation**](UnderwritingConfigurationBillingInformationBankAccountInformation.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationBillingInformationBankAccountInformation.md b/docs/UnderwritingConfigurationBillingInformationBankAccountInformation.md new file mode 100644 index 00000000..6d8db974 --- /dev/null +++ b/docs/UnderwritingConfigurationBillingInformationBankAccountInformation.md @@ -0,0 +1,12 @@ +# CyberSource::UnderwritingConfigurationBillingInformationBankAccountInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bank_account_country** | **String** | Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2. | [optional] +**account_holder_name** | **String** | Name on the checking account | [optional] +**account_type** | **String** | Type of Account Possible Values: - CHECKING - SAVINGS - CORPORATECHECKING - CORPORATESAVINGS | [optional] +**account_routing_number** | **String** | Routing Number, IBAN, Swift/BIC, etc | [optional] +**account_number** | **String** | Account Number | [optional] + + diff --git a/docs/UnderwritingConfigurationClientReferenceInformation.md b/docs/UnderwritingConfigurationClientReferenceInformation.md new file mode 100644 index 00000000..356a8112 --- /dev/null +++ b/docs/UnderwritingConfigurationClientReferenceInformation.md @@ -0,0 +1,9 @@ +# CyberSource::UnderwritingConfigurationClientReferenceInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_request_id** | **String** | client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request. | [optional] +**application_name** | **String** | The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. | [optional] + + diff --git a/docs/UnderwritingConfigurationDepositInformation.md b/docs/UnderwritingConfigurationDepositInformation.md new file mode 100644 index 00000000..09a8536a --- /dev/null +++ b/docs/UnderwritingConfigurationDepositInformation.md @@ -0,0 +1,12 @@ +# CyberSource::UnderwritingConfigurationDepositInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bank_account_country** | **String** | Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2. | [optional] +**account_holder_name** | **String** | Name on the Bank Account | [optional] +**account_type** | **String** | Type of Account Possible Values: - CHECKING - SAVINGS - CORPORATECHECKING - CORPORATESAVINGS | [optional] +**account_routing_number** | **String** | Routing Number, IBAN, Swift/BIC, etc | [optional] +**account_number** | **String** | Account Number | [optional] + + diff --git a/docs/UnderwritingConfigurationDeviceInformation.md b/docs/UnderwritingConfigurationDeviceInformation.md new file mode 100644 index 00000000..ae2f8b99 --- /dev/null +++ b/docs/UnderwritingConfigurationDeviceInformation.md @@ -0,0 +1,10 @@ +# CyberSource::UnderwritingConfigurationDeviceInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ip_address** | **String** | IP Address of the user that filled in the Merchant Application | [optional] +**fingerprint_session_id** | **String** | Info about the user that filled in the Merchant Application | [optional] +**user_agent** | **String** | Info about the user that filled in the Merchant Application | [optional] + + diff --git a/docs/UnderwritingConfigurationFileAttachmentInformation.md b/docs/UnderwritingConfigurationFileAttachmentInformation.md new file mode 100644 index 00000000..6e152af8 --- /dev/null +++ b/docs/UnderwritingConfigurationFileAttachmentInformation.md @@ -0,0 +1,8 @@ +# CyberSource::UnderwritingConfigurationFileAttachmentInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**file_group_id** | **String** | The unique identifier for the file group | [optional] + + diff --git a/docs/UnderwritingConfigurationMerchantApplication.md b/docs/UnderwritingConfigurationMerchantApplication.md new file mode 100644 index 00000000..0e0cc12d --- /dev/null +++ b/docs/UnderwritingConfigurationMerchantApplication.md @@ -0,0 +1,13 @@ +# CyberSource::UnderwritingConfigurationMerchantApplication + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application_id** | **String** | | [optional] +**application_status** | **String** | | [optional] +**products** | [**Array<UnderwritingConfigurationMerchantApplicationProducts>**](UnderwritingConfigurationMerchantApplicationProducts.md) | The product(s) that are being underwritten | +**campaign_id** | **String** | Driver Campaign ID, identifies where the application came from | [optional] +**oc_id** | **String** | Offer CampaignID, used by Sales | [optional] +**reseller_id** | **String** | ResellerID, used by Sales | [optional] + + diff --git a/docs/UnderwritingConfigurationMerchantApplicationProducts.md b/docs/UnderwritingConfigurationMerchantApplicationProducts.md new file mode 100644 index 00000000..26c4bcda --- /dev/null +++ b/docs/UnderwritingConfigurationMerchantApplicationProducts.md @@ -0,0 +1,10 @@ +# CyberSource::UnderwritingConfigurationMerchantApplicationProducts + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**product_short_name** | **String** | Product Name [PRODUCT1, PRODUCT2, PRODUCT3] | +**preferred_acquirer** | **String** | Override Acquirer Value | [optional] +**status** | **String** | Product status [] | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformation.md b/docs/UnderwritingConfigurationOrganizationInformation.md new file mode 100644 index 00000000..ef8dfe9b --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformation.md @@ -0,0 +1,11 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**parent_organization_id** | **String** | Parent Organization ID for the application | [optional] +**organization_id** | **String** | Organization ID for the application | [optional] +**boarding_package_id** | **String** | Boarding Package ID for the application | [optional] +**business_information** | [**UnderwritingConfigurationOrganizationInformationBusinessInformation**](UnderwritingConfigurationOrganizationInformationBusinessInformation.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformation.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformation.md new file mode 100644 index 00000000..79561fc2 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformation.md @@ -0,0 +1,31 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**business_identifier** | **String** | Tax ID for the business | +**country_registration** | **String** | Country where the business is registered. Two character country code, ISO 3166-1 alpha-2. | +**legal_name** | **String** | The legally registered name of the business | +**doing_business_as** | **String** | The DBA of the business. | +**business_description** | **String** | Short description of the Business | +**registration_number** | **String** | Registration ID for Enterprise Merchant | [optional] +**stock_exchange** | **String** | Which stock exchange is the company trading in? | [optional] +**ticker_symbol** | **String** | Stock Symbol on the exchange | [optional] +**start_date** | **Date** | When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 | +**merchant_category_code** | **String** | Industry standard Merchant Category Code (MCC) | +**mcc_description** | **String** | MCC Description | [optional] +**website_url** | **String** | Website for the Business | [optional] +**business_type** | **String** | Business type Possible values: - PARTNERSHIP - SOLE_PROPRIETORSHIP - CORPORATION - LLC - NON_PROFIT - TRUST | +**local_mcc** | **Array<String>** | | [optional] +**country_phone_number** | **String** | Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2. | +**phone_number** | **String** | Business Phone Number | +**email** | **String** | Business Email Address | +**what_your_company_does** | **String** | What your company does and how you market your service | [optional] +**address** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationAddress**](UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.md) | | [optional] +**trading_address** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress**](UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.md) | | [optional] +**business_contact** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact**](UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.md) | | [optional] +**business_details** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails**](UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.md) | | [optional] +**owner_information** | [**Array<UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation>**](UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.md) | | [optional] +**director_information** | [**Array<UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation>**](UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.md new file mode 100644 index 00000000..b2008ad3 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.md @@ -0,0 +1,14 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | **String** | Country where the business is located. Two character country code, ISO 3166-1 alpha-2. | +**address1** | **String** | Business street address | +**address2** | **String** | Business street address continued | [optional] +**building_name** | **String** | Building Name | [optional] +**locality** | **String** | City of the billing address | +**administrative_area** | **String** | Business state (US) or province (Canada, others). Required for US and Canada. | +**postal_code** | **String** | Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada. | + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.md new file mode 100644 index 00000000..de62ca9a --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.md @@ -0,0 +1,14 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | **String** | Country where the owner resides. Two character country code. | +**address1** | **String** | Owner's street address. | +**address2** | **String** | Owner's street address Continued | [optional] +**building_name** | **String** | Building Name | [optional] +**locality** | **String** | Owner's city | +**administrative_area** | **String** | Owner's state (US) or province (Canada, others) | +**postal_code** | **String** | Owner's zip code (US) or postal code (Canada) | + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.md new file mode 100644 index 00000000..59d5b5db --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.md @@ -0,0 +1,14 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2 + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | **String** | Country where the Director resides. Two character country code. | [optional] +**address1** | **String** | Director's street address. | [optional] +**address2** | **String** | Director's street address Continued | [optional] +**building_name** | **String** | Building Name | [optional] +**locality** | **String** | Director's city | [optional] +**administrative_area** | **String** | Director's state (US) or province (Canada, others) | [optional] +**postal_code** | **String** | Director's zip code (US) or postal code (Canada) | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.md new file mode 100644 index 00000000..529417a8 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.md @@ -0,0 +1,12 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**first_name** | **String** | Contact Person First Name | +**middle_name** | **String** | Contact Person Middle Name | [optional] +**last_name** | **String** | Contact Person Last Name | +**phone_number** | **String** | Contact Person Phone Number | +**email** | **String** | Contact Persona Email | + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.md new file mode 100644 index 00000000..4ff41617 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.md @@ -0,0 +1,33 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_type** | **String** | Who is the business interacting with? Business to Business, Business to Consumer, Both Possible values: - B2B - B2C - Both | [optional] +**percentage_split_by_b2_b** | **Float** | % Split | [optional] +**percentage_split_by_b2_c** | **Float** | % Split | [optional] +**interaction_types** | **String** | Merchant Facing: Face to Face, Card Not Present, Both Possible values: - F2F - CNP - Both | +**percentage_split_by_f2_f** | **Float** | % Split | +**percentage_split_by_cnp** | **Float** | % Split | +**when_is_customer_charged** | **String** | When is the customer charged? Possible values: - OneTimeBeforeServiceDelivery - OneTimeAfterServiceDelivery - Other | +**when_is_customer_charged_description** | **String** | | [optional] +**offer_subscriptions** | **BOOLEAN** | Does Merchant Offer Subscriptions? | +**monthly_subscription_percent** | **Float** | % of business is monthly subscriptions | [optional] +**quarterly_subscription_percent** | **Float** | % of business is quarterly subscriptions | [optional] +**semiannual_subscription_percent** | **Float** | % of business is semi-annual subscriptions | [optional] +**annual_subscription_percent** | **Float** | % of business is annual subscriptions | [optional] +**currency_type** | **String** | Processing Currency. ISO 4217, 3 characters. Possible values: - USD - CAD - EUR - GBP - CHF | [optional] +**estimated_monthly_sales** | **Float** | Merchant's estimated monthly sales | [optional] +**average_order_amount** | **Float** | Merchant's average order amount | [optional] +**largest_expected_order_amount** | **Float** | Merchant's largest expected order amount | [optional] +**primary_account_usage** | **String** | Primary purpose of account usage Possible values: - Paying for goods / services - Repatriating overseas earnings - Intercompany transfers - Collecting funds from clients - Liquidity / FX - Payment to an individual - Investment activity - Property purchase/sale - Other | [optional] +**source_of_funds** | **String** | Source of Funds Possible values: - Business revenue - External or shareholder investment - Loan, advance or other borrowing - Donations or grants - Inter-company transfers - Proceeds of sales of assests - Other | [optional] +**receive_money3rd_parties** | **BOOLEAN** | Will you recieve money from 3rd parties into your account? | [optional] +**receive_transaction_frequency** | **String** | Roughly how often do you expect to send or receive transactions? Possible values: - One-off or infrequently - 1-20 per month - 20-50 per month - 50-100 per month - 100+ per month | [optional] +**estimated_monthly_spend** | **String** | What is your estimated total monthly spend? Possible values: - <$10,000 - $10,000 - $50,000 - $50,000 - $100,000 - $100,000 - $500,000 - $500,000+ | [optional] +**country_transactions** | **Array<String>** | | [optional] +**currencies_in** | **Array<String>** | | [optional] +**currencies_out** | **Array<String>** | | [optional] +**product_services_subscription** | [**Array<UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription>**](UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.md new file mode 100644 index 00000000..608887cf --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.md @@ -0,0 +1,9 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**product_service_name** | **String** | Name of the product, service, or subscription. | [optional] +**product_service_percentage** | **Float** | Percentage of business revenue from this product or service. | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.md new file mode 100644 index 00000000..cf41aab4 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.md @@ -0,0 +1,18 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**first_name** | **String** | Director's first name | [optional] +**middle_name** | **String** | Director's middle name | [optional] +**last_name** | **String** | Director's last name | [optional] +**birth_date** | **Date** | Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 | [optional] +**email** | **String** | Email address for Director | [optional] +**phone_number** | **String** | Owner's phone number | [optional] +**nationality** | **String** | Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2. | [optional] +**national_id** | **String** | Identification value from ID document | [optional] +**id_country** | **String** | Country of the ID document. Two character country code, ISO 3166-1 alpha-2. | [optional] +**passport_number** | **String** | Passport Number | [optional] +**address** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2**](UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.md new file mode 100644 index 00000000..861bd30f --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.md @@ -0,0 +1,26 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**first_name** | **String** | Owner's first name | +**middle_name** | **String** | Owner's middle name | [optional] +**last_name** | **String** | Owner's last name | +**birth_date** | **Date** | Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 | +**is_primary** | **BOOLEAN** | Primary Owner or Non-Primary Owner | +**has_significant_responsibility** | **BOOLEAN** | If not an owner, is the user a Control Person | +**owner_director** | **BOOLEAN** | Is the owner a Director as well? | [optional] +**national_id** | **String** | Identification value from ID document | +**id_country** | **String** | Country of the ID document. Two character country code, ISO 3166-1 alpha-2. | [optional] +**passport_number** | **String** | Passport Number | [optional] +**passport_country** | **String** | Passport Country. Two character country code, ISO 3166-1 alpha-2. | [optional] +**job_title** | **String** | Owner's Job Title | [optional] +**ownership_percentage** | **Float** | Percentage of the company that owner owns | +**nationality** | **String** | Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2. | +**due_diligence_required** | **BOOLEAN** | Indicates if due diligence checks should be run for this owner | +**phone_number_country_code** | **String** | Phone number country. Two character country code, ISO 3166-1 alpha-2. | +**phone_number** | **String** | Owner's phone number | +**email** | **String** | Email address for Owner | +**address** | [**UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1**](UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.md) | | [optional] + + diff --git a/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.md b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.md new file mode 100644 index 00000000..4a4d6358 --- /dev/null +++ b/docs/UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.md @@ -0,0 +1,14 @@ +# CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | **String** | Country where the business is located. Two character country code, ISO 3166-1 alpha-2. | [optional] +**address1** | **String** | Business street address | [optional] +**address2** | **String** | Business street address continued | [optional] +**building_name** | **String** | Building Name | [optional] +**locality** | **String** | City of the billing address | [optional] +**administrative_area** | **String** | Business state (US) or province (Canada, others). Required for US and Canada. | [optional] +**postal_code** | **String** | Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada. | [optional] + + diff --git a/docs/UnderwritingConfigurationSaleRepresentativeInformation.md b/docs/UnderwritingConfigurationSaleRepresentativeInformation.md new file mode 100644 index 00000000..3831994a --- /dev/null +++ b/docs/UnderwritingConfigurationSaleRepresentativeInformation.md @@ -0,0 +1,13 @@ +# CyberSource::UnderwritingConfigurationSaleRepresentativeInformation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sales_rep_id** | **String** | Sales rep Identifier | +**sales_rep_first_name** | **String** | Sales rep First Name | +**sales_rep_last_name** | **String** | Sales Rep Last Name | +**sales_rep_email** | **String** | Sales Rep eMail | +**sales_rep_numeric_phone_number_country_code** | **String** | Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2. | +**sales_rep_phone_number** | **String** | Sales Rep Phone | + + diff --git a/docs/UpdateInvoiceRequest.md b/docs/UpdateInvoiceRequest.md index f202a44f..9dc2ecc0 100644 --- a/docs/UpdateInvoiceRequest.md +++ b/docs/UpdateInvoiceRequest.md @@ -7,5 +7,6 @@ Name | Type | Description | Notes **processing_information** | [**Invoicingv2invoicesProcessingInformation**](Invoicingv2invoicesProcessingInformation.md) | | [optional] **invoice_information** | [**Invoicingv2invoicesidInvoiceInformation**](Invoicingv2invoicesidInvoiceInformation.md) | | **order_information** | [**Invoicingv2invoicesOrderInformation**](Invoicingv2invoicesOrderInformation.md) | | +**merchant_defined_field_values** | [**Array<Invoicingv2invoicesMerchantDefinedFieldValues>**](Invoicingv2invoicesMerchantDefinedFieldValues.md) | | [optional] diff --git a/docs/Upv1capturecontextsCaptureMandate.md b/docs/Upv1capturecontextsCaptureMandate.md index 5bb7bac1..b2dc8526 100644 --- a/docs/Upv1capturecontextsCaptureMandate.md +++ b/docs/Upv1capturecontextsCaptureMandate.md @@ -12,6 +12,6 @@ Name | Type | Description | Notes **show_confirmation_step** | **BOOLEAN** | Configure Unified Checkout to display the final confirmation screen when using Click to Pay.<br> Where 'BillingType'= NONE and 'requestShipping'= FALSE and the customer is using an existing Click to Pay card as their chosen payment method, a final confirmation screen can be removed allowing the customer to check out as soon as they have selected their payment method from within their Click to Pay card tray. Possible values: - True - False | [optional] **request_save_card** | **BOOLEAN** | Configure Unified Checkout to display the \"Save card for future use\" checkbox.<br> Configurable check box that will show in a Manual card entry flow to allow a Cardholder to give consent to store their manually entered credential with the Merchant that they are paying.<br> Applicable when manually entering the details and not enrolling in Click to Pay. Possible values: - True - False<br><br> **Use Cases:** **Offer consumers option to save their card in Unified Checkout:** - Include the captureMandate.requestSaveCard field in the capture context request and set it to true. - When set to true, this will show a checkbox with the message 'Save card for future use' in Unified Checkout. - When selected this provides a response in both the Transient Token and Get Credentials API response.<br><br> **Do not offer consumers the option to save their card in Unified Checkout:** - Include the captureMandate.requestSaveCard field in the capture context request and set it to false OR omit the field from the capture context request. - When set to false, the save card option is not shown to consumers when manually entering card details. | [optional] **combo_card** | **BOOLEAN** | Configure Unified Checkout to display combo card at checkout.<br> A combo debit/credit card is a single card that functions both as a Debit/Credit card. Unified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card. **Important:** This is applicable to Visa cards only. Possible values: - True - False<br><br> **Use Cases:** **Offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to true. - When set to true, Combo Card selection is shown at checkout <br><br> **Do not offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request. - The Combo Card selection is not shown at checkout. | [optional] -**cpf** | **BOOLEAN** | Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas Físicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False<br><br> This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.<br><br> **Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered. | [optional] +**cpf** | [**Upv1capturecontextsCaptureMandateCPF**](Upv1capturecontextsCaptureMandateCPF.md) | | [optional] diff --git a/docs/Upv1capturecontextsCaptureMandateCPF.md b/docs/Upv1capturecontextsCaptureMandateCPF.md new file mode 100644 index 00000000..ebf05271 --- /dev/null +++ b/docs/Upv1capturecontextsCaptureMandateCPF.md @@ -0,0 +1,8 @@ +# CyberSource::Upv1capturecontextsCaptureMandateCPF + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**required** | **BOOLEAN** | Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas Físicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False<br><br> This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.<br><br> **Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered. | [optional] + + diff --git a/generator/cybersource-rest-spec-ruby.json b/generator/cybersource-rest-spec-ruby.json index a147dbb1..19f8214d 100644 --- a/generator/cybersource-rest-spec-ruby.json +++ b/generator/cybersource-rest-spec-ruby.json @@ -1508,6 +1508,11 @@ "amountDetails": { "type": "object", "properties": { + "refundBalance": { + "type": "string", + "maxLength": 15, + "description": "The remaining amount which can be refunded." + }, "giftWrapAmount": { "type": "string", "maxLength": 19, @@ -4949,6 +4954,26 @@ "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" } } } @@ -5593,7 +5618,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "responseCategoryCode": { "type": "string", @@ -5956,6 +5981,16 @@ "type": "string", "maxLength": 150, "description": "Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region.\nA newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -6470,8 +6505,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" }, "salesSlipNumber": { "type": "integer", @@ -20723,6 +20758,16 @@ } } } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -20906,7 +20951,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "merchantAdvice": { "type": "object", @@ -20958,6 +21003,16 @@ "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection_eligibility property is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.`\nOne or both values can be returned.\n" } } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -21425,6 +21480,16 @@ "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } } @@ -21566,11 +21631,21 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -21994,6 +22069,21 @@ } } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -22148,11 +22238,21 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -24676,6 +24776,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -24924,6 +25039,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -24954,8 +25079,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -27496,6 +27621,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -27682,6 +27822,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -27722,8 +27872,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -30184,6 +30334,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -30370,6 +30535,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -30410,8 +30585,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -33204,6 +33379,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -33403,6 +33593,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -33520,8 +33720,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -37445,12 +37645,12 @@ "rawResponse": { "type": "string", "maxLength": 255, - "description": "This field is set to the value of failure reason returned by the processor.\n" + "description": "Failure reason returned by the processor." }, "rawResponseLocal": { "type": "string", "maxLength": 255, - "description": "This field is set to the value of failure reason returned by the processor in the local language of the processor.\n" + "description": "Failure reason returned by the processor in the local language of the processor." }, "responseDetails": { "type": "string", @@ -37679,7 +37879,7 @@ "refundBalance": { "type": "string", "maxLength": 15, - "description": "This field will carry the remaning amount which can be refunded.\n" + "description": "The remaining amount which can be refunded." } } } @@ -37706,7 +37906,7 @@ "code": { "type": "string", "maxLength": 10, - "description": "Unique code for card issuer provided by the processor.\n" + "description": "Unique code for card issuer provided by the processor." } } }, @@ -41164,7 +41364,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" } } }, @@ -41350,7 +41550,7 @@ }, "userName": { "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\n" + "description": "The Venmo user name chosen by the user, also known as a Venmo handle.\n" } } } @@ -42556,7 +42756,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "token": { "type": "string", @@ -43715,7 +43915,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "token": { "type": "string", @@ -44004,7 +44204,7 @@ "description": "Indicates the type of vaulting relationship. Valid values:\n- \"MERCHANT\": Single merchant relationship.\n- \"PLATFORM\": Platform hosting multiple merchants.\n" }, "allowMultipleTokens": { - "type": "boolean", + "type": "string", "description": "Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.\n" } } @@ -44458,7 +44658,7 @@ }, "userName": { "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\n" + "description": "The Venmo user name chosen by the user, also known as a Venmo handle.\n" } } } @@ -46399,6 +46599,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -47718,6 +47938,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -49355,6 +49595,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -50989,6 +51249,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -52317,6 +52597,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -57175,6 +57475,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -58242,6 +58562,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -59842,6 +60182,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -61257,6 +61617,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -62635,6 +63015,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -63698,6 +64098,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -65619,6 +66039,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -66668,6 +67108,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -68125,6 +68585,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -69501,6 +69981,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -70564,6 +71064,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -72050,6 +72570,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -72792,6 +73332,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -73522,6 +74082,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -74615,6 +75195,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -75685,6 +76285,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -76441,6 +77061,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -78395,6 +79035,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -79460,6 +80120,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -79518,7 +80198,7 @@ "operationId": "postInstrumentIdentifierEnrollment", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-card-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-ii-intro.html" }, "consumes": [ "application/json;charset=utf-8" @@ -80247,7 +80927,7 @@ "operationId": "postTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-create-cof-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-create-cof-intro.html" }, "consumes": [ "application/json;charset=utf-8" @@ -81263,7 +81943,7 @@ "operationId": "getTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-retrieve-tkn-consumer-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-retrieve-tkn-consumer-intro.html" }, "produces": [ "application/json;charset=utf-8" @@ -81907,7 +82587,7 @@ "operationId": "deleteTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-delete-tkn-consumer-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-delete-tkn-consumer-intro.html" }, "produces": [ "application/json;charset=utf-8" @@ -82236,79 +82916,110 @@ } } }, - "/tms/v2/tokens/{tokenId}/payment-credentials": { + "/tms/v2/tokenized-cards/{tokenizedCardId}/issuer-life-cycle-event-simulations": { "post": { - "summary": "Generate Payment Credentials for a TMS Token", - "description": "| | | | \n| --- | --- | --- | \n|**Token**
A Token can represent your tokenized Customer, Payment Instrument or Instrument Identifier information.|      |**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument or Instrument Identifier.\n", + "summary": "Simulate Issuer Life Cycle Management Events", + "description": "**Lifecycle Management Events**
Simulates an issuer life cycle manegement event for updates on the tokenized card.\nThe events that can be simulated are:\n- Token status changes (e.g. active, suspended, deleted)\n- Updates to the underlying card, including card art changes, expiration date changes, and card number suffix.\n**Note:** This is only available in CAS environment.\n", "parameters": [ { "name": "profile-id", "in": "header", - "description": "The Id of a profile containing user specific TMS configuration.", - "required": false, + "required": true, "type": "string", + "description": "The Id of a profile containing user specific TMS configuration.", "minLength": 36, - "maxLength": 36, - "x-hide-field": true + "maxLength": 36 }, { - "name": "tokenId", + "name": "tokenizedCardId", "in": "path", - "description": "The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.", + "description": "The Id of a tokenized card.", "required": true, "type": "string", - "minLength": 1, + "minLength": 12, "maxLength": 32 }, { - "name": "postPaymentCredentialsRequest", + "name": "postIssuerLifeCycleSimulationRequest", "in": "body", "required": true, "schema": { "type": "object", + "description": "Represents the Issuer LifeCycle Event Simulation for a Tokenized Card.\n", "properties": { - "paymentCredentialType": { + "state": { "type": "string", - "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" + "description": "The new state of the Tokenized Card.\nPossible Values:\n- ACTIVE\n- SUSPENDED\n- DELETED\n" }, - "transactionType": { - "type": "string", - "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n" + "card": { + "type": "object", + "properties": { + "last4": { + "type": "string", + "maxLength": 4, + "description": "The new last 4 digits of the card number associated to the Tokenized Card.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "The new two-digit month of the card associated to the Tokenized Card.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "The new four-digit year of the card associated to the Tokenized Card.\nFormat: `YYYY`.\n" + } + } + }, + "metadata": { + "type": "object", + "properties": { + "cardArt": { + "type": "object", + "properties": { + "combinedAsset": { + "type": "object", + "properties": { + "update": { + "type": "string", + "description": "Set to \"true\" to simulate an update to the combined card art asset associated with the Tokenized Card.\n" + } + } + } + } + } + } } } } } ], "tags": [ - "Token" + "Tokenized Card" ], - "operationId": "postTokenPaymentCredentials", + "operationId": "postIssuerLifeCycleSimulation", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-retrieve-pay-cred-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-simulate-issuer-life-cycle-event-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ - "application/jose;charset=utf-8" + "application/json;charset=utf-8" ], "responses": { - "201": { - "description": "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample:\n{\n\"kid\":\"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n\"cty\":\"json\",\n\"typ\":\"JWT\",\n\"enc\":\"A256GCM\",\n\"alg\":\"RSA-OAEP-256\"\n}\n[Encrypted Instrument Identifier Payment Credentials]\n\nThe encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.\n", + "204": { + "description": "The request is fulfilled but does not need to return a body", "headers": { - "uniqueTransactionID": { - "description": "A globally unique id associated with your request.", + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, - "v-c-correlation-id": { - "description": "The mandatory correlation id passed by upstream (calling) system.", + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", "type": "string" } - }, - "schema": { - "type": "string", - "example": "eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A" } }, "400": { @@ -82478,55 +83189,379 @@ } } }, - "410": { - "description": "Token Not Available. The token has been deleted.", - "headers": { - "v-c-correlation-id": { - "description": "The mandatory correlation Id passed by upstream (calling) system.", - "type": "string" - }, - "uniqueTransactionID": { - "description": "A globally unique Id associated with your request.", - "type": "string" - } - }, - "schema": { - "type": "object", - "readOnly": true, - "properties": { - "errors": { - "type": "array", - "readOnly": true, - "items": { - "type": "object", - "readOnly": true, - "properties": { - "type": { - "type": "string", - "readOnly": true, - "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" - }, - "message": { - "type": "string", - "readOnly": true, - "description": "The detailed message related to the type." - } - } - } - } - } - }, - "examples": { - "application/json": { - "errors": [ - { - "type": "notAvailable", - "message": "Token not available." - } - ] - } - } - }, + "500": { + "description": "Unexpected error.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "serverError", + "message": "Internal server error" + } + ] + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + } + } + }, + "x-example": { + "example0": { + "summary": "Simulate Network Token Status Update", + "value": { + "state": "SUSPENDED" + } + }, + "example1": { + "summary": "Simulate Network Token Card Metadata Update", + "value": { + "card": { + "last4": "9876", + "expirationMonth": "11", + "expirationYear": "2040" + } + } + }, + "example2": { + "summary": "Simulate Network Token Card Art Update", + "value": { + "metadata": { + "cardArt": { + "combinedAsset": { + "update": "true" + } + } + } + } + } + } + } + }, + "/tms/v2/tokens/{tokenId}/payment-credentials": { + "post": { + "summary": "Generate Payment Credentials for a TMS Token", + "description": "| | | | \n| --- | --- | --- | \n|**Token**
A Token can represent your tokenized Customer, Payment Instrument or Instrument Identifier information.|      |**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument or Instrument Identifier.\n", + "parameters": [ + { + "name": "profile-id", + "in": "header", + "description": "The Id of a profile containing user specific TMS configuration.", + "required": false, + "type": "string", + "minLength": 36, + "maxLength": 36, + "x-hide-field": true + }, + { + "name": "tokenId", + "in": "path", + "description": "The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 32 + }, + { + "name": "postPaymentCredentialsRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "paymentCredentialType": { + "type": "string", + "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" + }, + "transactionType": { + "type": "string", + "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n" + } + } + } + } + ], + "tags": [ + "Token" + ], + "operationId": "postTokenPaymentCredentials", + "x-devcenter-metaData": { + "categoryTag": "Token_Management", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-retrieve-pay-cred-intro.html" + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/jose;charset=utf-8" + ], + "responses": { + "201": { + "description": "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample:\n{\n\"kid\":\"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n\"cty\":\"json\",\n\"typ\":\"JWT\",\n\"enc\":\"A256GCM\",\n\"alg\":\"RSA-OAEP-256\"\n}\n[Encrypted Instrument Identifier Payment Credentials]\n\nThe encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.\n", + "headers": { + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + }, + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + } + }, + "schema": { + "type": "string", + "example": "eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A" + } + }, + "400": { + "description": "Bad Request: e.g. A required header value could be missing.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" + } + ] + } + } + }, + "403": { + "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "forbidden", + "message": "Request not permitted" + } + ] + } + } + }, + "404": { + "description": "Token Not Found. The Id may not exist or was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Token not found" + } + ] + } + } + }, + "410": { + "description": "Token Not Available. The token has been deleted.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } + } + }, "500": { "description": "Unexpected error.", "headers": { @@ -101113,6 +102148,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -101226,12 +102281,12 @@ "domesticParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if domestic OCTs (push funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if domestic OCTs (push funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" }, "crossBorderParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -101241,12 +102296,12 @@ "domesticParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" }, "crossBorderParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -102004,6 +103059,11 @@ "maxLength": 3, "description": "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.\nThis field is returned for OCT transactions.\n" }, + "refundBalance": { + "type": "string", + "maxLength": 15, + "description": "The remaining amount which can be refunded." + }, "surcharge": { "type": "object", "properties": { @@ -102062,6 +103122,21 @@ } } }, + "eWallet": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- CreditCard\n- BankTransfer\n- MobileTransfer\n- KakaoMoney\n- NaverPayPoint\n" + }, + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- PAYCO\n- Kakaopay\n- NaverPay\n- SSG Pay\n- L.Pay\n- Apple Pay\n- TOSS Pay\n- Samsung Pay\n" + } + } + }, "customer": { "type": "object", "properties": { @@ -102816,6 +103891,21 @@ } } }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the card issuer provided by the processor.\n" + }, + "code": { + "type": "string", + "maxLength": 10, + "description": "Unique code for card issuer provided by the processor." + } + } + }, "eventStatus": { "type": "string", "description": "The event status.\n" @@ -102835,6 +103925,21 @@ "maxLength": 29, "description": "Payment Account Reference (PAR) is a non-financial reference assigned to each unique payment account and used to link a payment account to associated network tokens, i.e. the same PAR is returned for PAN-based and tokenized transactions, such as from digital wallets. PAR can be returned in authorisation responses for requests initiated with both real PANs and tokenized PANs. PAR can be used by merchants for fraud detection and regulatory compliance across different channels and digital wallets. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR8\n- Position: 79-110\n- Field: Payment Account Reference\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer,\nwho uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, + "responseDetails": { + "type": "string", + "maxLength": 255, + "description": "This field might contain information about a decline.\n" + }, + "rawResponseLocal": { + "type": "string", + "maxLength": 255, + "description": "Failure reason returned by the processor in the local language of the processor." + }, + "rawResponse": { + "type": "string", + "maxLength": 255, + "description": "Failure reason returned by the processor." + }, "routing": { "type": "object", "properties": { @@ -103238,7 +104343,8 @@ "authorizedAmount": "100.00", "settlementAmount": "97.50", "settlementCurrency": "USD", - "surcharge": "1.11" + "surcharge": "1.11", + "refundBalance": "0.00" }, "shippingDetails": { "giftWrap": "none", @@ -103254,6 +104360,10 @@ "type": "Credit", "method": "method name" }, + "eWallet": { + "fundingSource": "CreditCard", + "name": "PAYCO" + }, "customer": { "customerId": "123" }, @@ -103440,6 +104550,13 @@ "processor": { "name": "paymentProcessor1234" }, + "responseDetails": "0000", + "rawResponseLocal": "\uc131\uacf5", + "rawResponse": "success", + "issuerInformation": { + "name": "\uad6d\ubbfc\uc740\ud589", + "code": "BK04" + }, "multiProcessorRouting": [ { "name": "paymentProcessor0123", @@ -106039,6 +107156,7 @@ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", + "Request.MerchantReferenceNumber", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", @@ -106458,6 +107576,7 @@ "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", + "Request.Quantity", "Sender.Address", "Sender.City", "Sender.Country", @@ -106471,6 +107590,30 @@ "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", + "StandardBilling.AcquirerMerchantID", + "StandardBilling.AmountSign", + "StandardBilling.CardAcceptorID", + "StandardBilling.CardScheme", + "StandardBilling.CardType", + "StandardBilling.ClientReference", + "StandardBilling.Count", + "StandardBilling.CurrencyCode", + "StandardBilling.DomesticOrInternationalIndicator", + "StandardBilling.ProductCode", + "StandardBilling.StatisticType", + "StandardBilling.TotalAmount", + "StandardBilling.TransactionDate", + "StandardMonthlyFee.AcquirerMerchantID", + "StandardMonthlyFee.ActualFee", + "StandardMonthlyFee.AmountSign", + "StandardMonthlyFee.ClientReference", + "StandardMonthlyFee.CurrencyCode", + "StandardMonthlyFee.FeeType", + "StandardMonthlyFee.OrganizationType", + "StandardMonthlyFee.ProductCode", + "StandardMonthlyFee.Quantity", + "StandardMonthlyFee.Tax", + "StandardMonthlyFee.TotalFee", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", @@ -107177,7 +108320,7 @@ "reportDefinitionId": { "type": "integer", "format": "int32", - "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n" + "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n| 630 | StandardBillingDataPackageClass |\n| 706 | StandardMonthlyFeeClass |\n" }, "reportDefintionName": { "type": "string" @@ -107743,6 +108886,7 @@ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", + "Request.MerchantReferenceNumber", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", @@ -108158,6 +109302,7 @@ "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", + "Request.Quantity", "Sender.Address", "Sender.City", "Sender.Country", @@ -108171,6 +109316,30 @@ "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", + "StandardBilling.AcquirerMerchantID", + "StandardBilling.AmountSign", + "StandardBilling.CardAcceptorID", + "StandardBilling.CardScheme", + "StandardBilling.CardType", + "StandardBilling.ClientReference", + "StandardBilling.Count", + "StandardBilling.CurrencyCode", + "StandardBilling.DomesticOrInternationalIndicator", + "StandardBilling.ProductCode", + "StandardBilling.StatisticType", + "StandardBilling.TotalAmount", + "StandardBilling.TransactionDate", + "StandardMonthlyFee.AcquirerMerchantID", + "StandardMonthlyFee.ActualFee", + "StandardMonthlyFee.AmountSign", + "StandardMonthlyFee.ClientReference", + "StandardMonthlyFee.CurrencyCode", + "StandardMonthlyFee.FeeType", + "StandardMonthlyFee.OrganizationType", + "StandardMonthlyFee.ProductCode", + "StandardMonthlyFee.Quantity", + "StandardMonthlyFee.Tax", + "StandardMonthlyFee.TotalFee", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", @@ -112603,6 +113772,21 @@ } } } + }, + "merchantDefinedFieldValues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "definitionId": { + "type": "integer", + "format": "int64" + }, + "value": { + "type": "string" + } + } + } } }, "example": { @@ -112667,7 +113851,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some value" + }, + { + "definitionId": 456, + "value": "Another value" + } + ] } } } @@ -113014,6 +114208,65 @@ } } } + }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } } }, "example": { @@ -113093,7 +114346,20 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValuesWithDefinition": [ + { + "id": 1515, + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + ] } } }, @@ -113340,7 +114606,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example1": { @@ -113388,7 +114664,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example2": { @@ -113450,7 +114736,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example3": { @@ -113498,7 +114794,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -114114,6 +115420,16 @@ "event": "CREATE", "date": "2019-06-18T21:51:18.76Z" } + ], + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some interesting Value" + }, + { + "definitionId": 456, + "value": "Another quirky value" + } ] }, "type": "object", @@ -114454,6 +115770,65 @@ } } }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + }, "invoiceHistory": { "type": "array", "items": { @@ -114899,6 +116274,21 @@ } } } + }, + "merchantDefinedFieldValues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "definitionId": { + "type": "integer", + "format": "int64" + }, + "value": { + "type": "string" + } + } + } } }, "example": { @@ -114955,7 +116345,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -115302,6 +116702,65 @@ } } } + }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } } }, "example": { @@ -115387,6 +116846,19 @@ "taxRate": "0.0", "totalAmount": "247.86" } + ], + "merchantDefinedFieldValuesWithDefinition": [ + { + "id": 1515, + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } ] } } @@ -115580,7 +117052,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example1": { @@ -115620,7 +117102,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -116091,7 +117583,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } }, @@ -117647,333 +119149,17 @@ "hiddenForItem": true } ] - } - }, - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, - "invoiceSettingsInformation": { - "type": "object", - "properties": { - "merchantLogo": { - "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", - "type": "string", - "maxLength": 10000000 - }, - "merchantDisplayName": { - "description": "The merchant's display name shown on the invoice.", - "type": "string", - "maxLength": 100 - }, - "customEmailMessage": { - "description": "The content of the email message that we send to your customers.", - "type": "string", - "maxLength": 2000 - }, - "enableReminders": { - "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", - "type": "boolean" - }, - "headerStyle": { - "type": "object", - "properties": { - "fontColor": { - "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", - "type": "string", - "maxLength": 7, - "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" - }, - "backgroundColor": { - "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", - "type": "string", - "maxLength": 7, - "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" - } - } - }, - "deliveryLanguage": { - "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", - "type": "string", - "maxLength": 6 - }, - "defaultCurrencyCode": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor 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.\n\n#### PIN Debit\nCurrency 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).\nReturned by PIN debit purchase.\n\nFor 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.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "payerAuthentication3DSVersion": { - "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", - "type": "boolean", - "default": false - }, - "showVatNumber": { - "description": "Display VAT number on Invoice.", - "type": "boolean", - "default": false - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" - }, - "shipTo": { - "description": "Collect the payers shipping address.", - "type": "boolean", - "default": false - }, - "phoneNumber": { - "description": "Collect the payers phone number.", - "type": "boolean", - "default": false - }, - "email": { - "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.", - "type": "boolean", - "default": false - }, - "enableMerchantEmailNotifications": { - "description": "Whether you would like to receive payment notification for successful transaction", - "type": "boolean", - "default": false - }, - "customLabels": { - "description": "A list of custom labels that allows you to override (rename) default field names and control the visibility of specific fields on invoices and items. If the list is empty, the labels will not be overwritten.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "description": "The invoice field key. Possible values:\n - billTo\n - invoiceNumber\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n - discount\n - tax\n", - "type": "string" - }, - "value": { - "description": "The new (overridden) field name", - "type": "string", - "maxLength": 25 - }, - "hidden": { - "description": "Hides the specified field. This field is applicable for keys:\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n", - "type": "boolean", - "default": false - }, - "hiddenForInvoice": { - "description": "Hides the field at invoice level. This field is applicable for keys:\n - discount\n - tax\n", - "type": "boolean", - "default": false - }, - "hiddenForItem": { - "description": "Hides the field at invoice item level. This field is applicable for keys:\n - discount\n - tax\n", - "type": "boolean", - "default": false - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Could not update the invoice settings for this merchant.", - "schema": { - "title": "invoicingV2InvoiceSettingsPut400Response", - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" - }, - "status": { - "type": "string", - "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" - }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n" - }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." - }, - "reason": { - "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" - } - } - } - } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ - { - "field": "customerInformation.email", - "reason": "Invalid email" - } - ] - } - } - }, - "default": { - "description": "Unexpected error.", - "schema": { - "title": "invoicingV2InvoiceSettingsPut502Response", - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" - }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" - }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" - }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." - } - }, - "example": { - "submitTimeUtc": "2018-06-12T09:27:20.000Z", - "status": "SERVER_ERROR", - "reason": "SERVER_ERROR", - "message": "Error - General system failure." - } - } - } - }, - "x-example": { - "example0": { - "summary": "UpdateInvoiceSettings", - "value": { - "invoiceSettingsInformation": { - "merchantLogo": "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", - "merchantDisplayName": "Custom Merchant Display Name", - "customEmailMessage": "Custom merchant email message", - "enableReminders": true, - "headerStyle": { - "fontColor": "#000001", - "backgroundColor": "#FFFFFF" - }, - "deliveryLanguage": "en-US", - "defaultCurrencyCode": "USD", - "payerAuthenticationInInvoicing": "enable", - "showVatNumber": false, - "vatRegistrationNumber": "Inv1234", - "shipTo": false, - "phoneNumber": false, - "email": false, - "enableMerchantEmailNotifications": false, - "customLabels": [ - { - "key": "billTo", - "value": "Payee name" - }, - { - "key": "companyName", - "hidden": true - }, - { - "key": "discount", - "value": "Promo", - "hiddenForItem": true - }, - { - "key": "tax", - "hiddenForInvoice": true, - "hiddenForItem": true + "merchantInformation": { + "name": "Pravalika (org)", + "phone": "415-832-3555", + "addressDetails": { + "address1": "123 Bellevue Ave ", + "address2": " Suite 800", + "city": "Bellevue", + "country": "dz", + "postalCode": "98103" } - ] - } - } - } - } - }, - "get": { - "tags": [ - "Invoice Settings" - ], - "summary": "Get Invoice Settings", - "description": "Allows you to retrieve the invoice settings for the payment page.", - "operationId": "getInvoiceSettings", - "x-devcenter-metaData": { - "categoryTag": "Invoicing", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" - }, - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json", - "application/hal+json", - "application/json;charset=utf-8", - "application/hal+json;charset=utf-8" - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "title": "invoicingV2InvoiceSettingsGet200Response", - "example": { - "submitTimeUtc": "2019-07-03T19:26:48Z", - "invoiceSettingsInformation": { - "merchantLogo": "data:image/png;base64,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", - "merchantDisplayName": "string", - "customEmailMessage": "string", - "enableReminders": true, - "headerStyle": { - "fontColor": "#000001", - "backgroundColor": "#FFFFFF" - }, - "deliveryLanguage": "en-US", - "defaultCurrencyCode": "USD", - "payerAuthentication3DSVersion": true, - "showVatNumber": false, - "vatRegistrationNumber": "Inv1234", - "shipTo": false, - "phoneNumber": false, - "email": false, - "enableMerchantEmailNotifications": false, - "customLabels": [ - { - "key": "billTo", - "value": "Payee name" - }, - { - "key": "companyName", - "hidden": true - }, - { - "key": "discount", - "value": "Promo", - "hiddenForItem": true - }, - { - "key": "tax", - "hiddenForInvoice": true, - "hiddenForItem": true - } - ] } }, "type": "object", @@ -118100,6 +119286,422 @@ } } } + }, + "merchantInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "phone": { + "type": "string" + }, + "addressDetails": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60 + }, + "address2": { + "type": "string", + "maxLength": 60 + }, + "city": { + "type": "string", + "maxLength": 50 + }, + "state": { + "type": "string" + }, + "country": { + "type": "string" + }, + "postalCode": { + "type": "string", + "maxLength": 10 + } + } + } + } + } + } + } + }, + "400": { + "description": "Could not update the invoice settings for this merchant.", + "schema": { + "title": "invoicingV2InvoiceSettingsPut400Response", + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "status": { + "type": "string", + "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid." + }, + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + } + } + } + } + }, + "example": { + "submitTimeUtc": "2019-07-01T21:40:10Z", + "status": "BADREQUEST", + "reason": "VALIDATION_ERROR", + "message": "Field validation errors.", + "details": [ + { + "field": "customerInformation.email", + "reason": "Invalid email" + } + ] + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "title": "invoicingV2InvoiceSettingsPut502Response", + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + } + }, + "example": { + "submitTimeUtc": "2018-06-12T09:27:20.000Z", + "status": "SERVER_ERROR", + "reason": "SERVER_ERROR", + "message": "Error - General system failure." + } + } + } + }, + "x-example": { + "example0": { + "summary": "UpdateInvoiceSettings", + "value": { + "invoiceSettingsInformation": { + "merchantLogo": "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", + "merchantDisplayName": "Custom Merchant Display Name", + "customEmailMessage": "Custom merchant email message", + "enableReminders": true, + "headerStyle": { + "fontColor": "#000001", + "backgroundColor": "#FFFFFF" + }, + "deliveryLanguage": "en-US", + "defaultCurrencyCode": "USD", + "payerAuthenticationInInvoicing": "enable", + "showVatNumber": false, + "vatRegistrationNumber": "Inv1234", + "shipTo": false, + "phoneNumber": false, + "email": false, + "enableMerchantEmailNotifications": false, + "customLabels": [ + { + "key": "billTo", + "value": "Payee name" + }, + { + "key": "companyName", + "hidden": true + }, + { + "key": "discount", + "value": "Promo", + "hiddenForItem": true + }, + { + "key": "tax", + "hiddenForInvoice": true, + "hiddenForItem": true + } + ] + } + } + } + } + }, + "get": { + "tags": [ + "Invoice Settings" + ], + "summary": "Get Invoice Settings", + "description": "Allows you to retrieve the invoice settings for the payment page.", + "operationId": "getInvoiceSettings", + "x-devcenter-metaData": { + "categoryTag": "Invoicing", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json", + "application/hal+json", + "application/json;charset=utf-8", + "application/hal+json;charset=utf-8" + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "title": "invoicingV2InvoiceSettingsGet200Response", + "example": { + "submitTimeUtc": "2019-07-03T19:26:48Z", + "invoiceSettingsInformation": { + "merchantLogo": "data:image/png;base64,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", + "merchantDisplayName": "string", + "customEmailMessage": "string", + "enableReminders": true, + "headerStyle": { + "fontColor": "#000001", + "backgroundColor": "#FFFFFF" + }, + "deliveryLanguage": "en-US", + "defaultCurrencyCode": "USD", + "payerAuthentication3DSVersion": true, + "showVatNumber": false, + "vatRegistrationNumber": "Inv1234", + "shipTo": false, + "phoneNumber": false, + "email": false, + "enableMerchantEmailNotifications": false, + "customLabels": [ + { + "key": "billTo", + "value": "Payee name" + }, + { + "key": "companyName", + "hidden": true + }, + { + "key": "discount", + "value": "Promo", + "hiddenForItem": true + }, + { + "key": "tax", + "hiddenForInvoice": true, + "hiddenForItem": true + } + ] + }, + "merchantInformation": { + "name": "Pravalika (org)", + "phone": "415-832-3555", + "addressDetails": { + "address1": "123 Bellevue Ave ", + "address2": " Suite 800", + "city": "Bellevue", + "country": "dz", + "postalCode": "98103" + } + } + }, + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "invoiceSettingsInformation": { + "type": "object", + "properties": { + "merchantLogo": { + "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", + "type": "string", + "maxLength": 10000000 + }, + "merchantDisplayName": { + "description": "The merchant's display name shown on the invoice.", + "type": "string", + "maxLength": 100 + }, + "customEmailMessage": { + "description": "The content of the email message that we send to your customers.", + "type": "string", + "maxLength": 2000 + }, + "enableReminders": { + "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", + "type": "boolean" + }, + "headerStyle": { + "type": "object", + "properties": { + "fontColor": { + "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", + "type": "string", + "maxLength": 7, + "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" + }, + "backgroundColor": { + "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", + "type": "string", + "maxLength": 7, + "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" + } + } + }, + "deliveryLanguage": { + "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", + "type": "string", + "maxLength": 6 + }, + "defaultCurrencyCode": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor 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.\n\n#### PIN Debit\nCurrency 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).\nReturned by PIN debit purchase.\n\nFor 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.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "payerAuthentication3DSVersion": { + "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", + "type": "boolean", + "default": false + }, + "showVatNumber": { + "description": "Display VAT number on Invoice.", + "type": "boolean", + "default": false + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" + }, + "shipTo": { + "description": "Collect the payers shipping address.", + "type": "boolean", + "default": false + }, + "phoneNumber": { + "description": "Collect the payers phone number.", + "type": "boolean", + "default": false + }, + "email": { + "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.", + "type": "boolean", + "default": false + }, + "enableMerchantEmailNotifications": { + "description": "Whether you would like to receive payment notification for successful transaction", + "type": "boolean", + "default": false + }, + "customLabels": { + "description": "A list of custom labels that allows you to override (rename) default field names and control the visibility of specific fields on invoices and items. If the list is empty, the labels will not be overwritten.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "description": "The invoice field key. Possible values:\n - billTo\n - invoiceNumber\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n - discount\n - tax\n", + "type": "string" + }, + "value": { + "description": "The new (overridden) field name", + "type": "string", + "maxLength": 25 + }, + "hidden": { + "description": "Hides the specified field. This field is applicable for keys:\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n", + "type": "boolean", + "default": false + }, + "hiddenForInvoice": { + "description": "Hides the field at invoice level. This field is applicable for keys:\n - discount\n - tax\n", + "type": "boolean", + "default": false + }, + "hiddenForItem": { + "description": "Hides the field at invoice item level. This field is applicable for keys:\n - discount\n - tax\n", + "type": "boolean", + "default": false + } + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "phone": { + "type": "string" + }, + "addressDetails": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60 + }, + "address2": { + "type": "string", + "maxLength": 60 + }, + "city": { + "type": "string", + "maxLength": 50 + }, + "state": { + "type": "string" + }, + "country": { + "type": "string" + }, + "postalCode": { + "type": "string", + "maxLength": 10 + } + } + } + } } } } @@ -118191,6 +119793,1015 @@ } } }, + "/invoicing/v2/{referenceType}/merchantDefinedFields": { + "get": { + "tags": [ + "Merchant Defined Fields" + ], + "summary": "Get all merchant defined fields for a given reference type", + "operationId": "getMerchantDefinedFieldsDefinitions", + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "referenceType", + "in": "path", + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ], + "description": "The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation", + "required": true + } + ], + "responses": { + "200": { + "description": "Get all merchant defined fields for a given reference type", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "404": { + "description": "Merchant defined fields not found", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + } + }, + "post": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Create merchant defined field for a given reference type", + "operationId": "createMerchantDefinedFieldDefinition", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "referenceType", + "in": "path", + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ], + "description": "The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation", + "required": true + }, + { + "name": "MerchantDefinedFieldDefinitionRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fieldType": { + "type": "string", + "description": "Possible values:\n- text\n- select" + }, + "label": { + "type": "string", + "maxLength": 100 + }, + "customerVisible": { + "type": "boolean", + "default": false + }, + "textMinLength": { + "type": "integer", + "default": 0, + "description": "Should be used only if fieldType = \"text\"" + }, + "textMaxLength": { + "type": "integer", + "default": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "textDefaultValue": { + "type": "string", + "maxLength": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "possibleValues": { + "type": "string", + "maxLength": 600, + "description": "Should be mandatory and used only if fieldType = \"select\"" + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "required": [ + "fieldType", + "label", + "merchantDefinedDataIndex" + ], + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + ], + "responses": { + "201": { + "description": "Create merchant defined field for a given reference type", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "400": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "409": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "412": { + "description": "Merchant has exceeded limit for type {referenceType}", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + }, + "x-example": { + "example0": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "/invoicing/v2/{referenceType}/merchantDefinedFields/{id}": { + "put": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Update a MerchantDefinedField by ID", + "parameters": [ + { + "in": "path", + "name": "referenceType", + "required": true, + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ] + }, + { + "in": "path", + "name": "id", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "MerchantDefinedFieldCore", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fieldType": { + "type": "string", + "description": "Possible values:\n- text\n- select" + }, + "label": { + "type": "string", + "maxLength": 100 + }, + "customerVisible": { + "type": "boolean", + "default": false + }, + "textMinLength": { + "type": "integer", + "default": 0, + "description": "Should be used only if fieldType = \"text\"" + }, + "textMaxLength": { + "type": "integer", + "default": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "textDefaultValue": { + "type": "string", + "maxLength": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "possibleValues": { + "type": "string", + "maxLength": 600, + "description": "Should be mandatory and used only if fieldType = \"select\"" + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "required": [ + "fieldType", + "label", + "merchantDefinedDataIndex" + ], + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + ], + "responses": { + "200": { + "description": "A list of MerchantDefinedField", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "400": { + "description": "Wrong referenceType in the path", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "409": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + }, + "x-example": { + "example0": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + }, + "delete": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Delete a MerchantDefinedField by ID", + "parameters": [ + { + "in": "path", + "name": "referenceType", + "required": true, + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ] + }, + { + "in": "path", + "name": "id", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "204": { + "description": "MerchantDefinedField deleted" + } + } + } + }, "/ipl/v2/payment-links": { "post": { "tags": [ @@ -122619,8 +125230,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -122698,6 +125308,481 @@ } } }, + "acquirers": { + "type": "object", + "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", + "additionalProperties": { + "properties": { + "institutionId": { + "type": "string", + "description": "Identifier of the acquirer. This number is usually assigned by Visa." + }, + "interbankCardAssociationId": { + "type": "string", + "description": "Number assigned by MasterCard to banks to identify the member in transactions." + }, + "discoverInstitutionId": { + "type": "string", + "description": "Assigned by Discover to identify the acquirer." + }, + "countryCode": { + "type": "string", + "description": "ISO 4217 format." + }, + "fileDestinationBin": { + "type": "string", + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN." + }, + "merchantVerificationValue": { + "type": "string", + "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID)." + }, + "paymentTypes": { + "type": "object", + "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "VISA", + "MASTERCARD", + "AMERICAN_EXPRESS", + "DISCOVER", + "DINERS_CLUB", + "JCB", + "PIN_DEBIT" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" @@ -123822,11 +126907,6 @@ "properties": { "enabled": { "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, @@ -123874,6 +126954,991 @@ "type": "string", "description": "URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process.\nexample: http://www.test.com/failure\n" }, + "underwriting": { + "title": "underwritingConfiguration", + "type": "object", + "description": "Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation.\n", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "clientRequestId": { + "description": "client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request.\n", + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + }, + "applicationName": { + "type": "string", + "maxLength": 50, + "description": "The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. \n", + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + } + } + }, + "merchantApplication": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "applicationId": { + "type": "string", + "readOnly": true + }, + "applicationStatus": { + "type": "string", + "readOnly": true + }, + "products": { + "description": "The product(s) that are being underwritten", + "type": "array", + "items": { + "type": "object", + "required": [ + "productShortName" + ], + "properties": { + "productShortName": { + "description": "Product Name\n[PRODUCT1, PRODUCT2, PRODUCT3]\n", + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,30}$" + }, + "preferredAcquirer": { + "description": "Override Acquirer Value", + "type": "string", + "maxLength": 30, + "pattern": "^[a-zA-Z0-9-_]$" + }, + "status": { + "readOnly": true, + "description": "Product status\n[]\n", + "type": "string" + } + } + } + }, + "campaignId": { + "description": "Driver Campaign ID, identifies where the application came from", + "type": "string" + }, + "ocId": { + "description": "Offer CampaignID, used by Sales", + "type": "string" + }, + "resellerId": { + "description": "ResellerID, used by Sales", + "type": "string", + "maxLength": 128 + } + } + }, + "metadata": { + "type": "object" + }, + "metadataExternal": { + "type": "object" + }, + "organizationInformation": { + "type": "object", + "properties": { + "parentOrganizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Parent Organization ID for the application" + }, + "organizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Organization ID for the application" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "description": "Boarding Package ID for the application" + }, + "businessInformation": { + "type": "object", + "required": [ + "businessIdentifier", + "countryRegistration", + "legalName", + "doingBusinessAs", + "businessDescription", + "startDate", + "merchantCategoryCode", + "businessType", + "countryPhoneNumber", + "phoneNumber", + "email" + ], + "properties": { + "businessIdentifier": { + "type": "string", + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]*$", + "description": "Tax ID for the business" + }, + "countryRegistration": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is registered. Two character country code, ISO 3166-1 alpha-2." + }, + "legalName": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "description": "The legally registered name of the business" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "description": "The DBA of the business." + }, + "businessDescription": { + "type": "string", + "maxLength": 250, + "description": "Short description of the Business" + }, + "registrationNumber": { + "type": "string", + "maxLength": 60, + "description": "Registration ID for Enterprise Merchant" + }, + "stockExchange": { + "type": "string", + "maxLength": 60, + "description": "Which stock exchange is the company trading in?" + }, + "tickerSymbol": { + "type": "string", + "maxLength": 10, + "pattern": "^[a-zA-Z0-9_.]*$", + "description": "Stock Symbol on the exchange" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "description": "Industry standard Merchant Category Code (MCC)" + }, + "mccDescription": { + "type": "string", + "maxLength": 128, + "description": "MCC Description" + }, + "websiteURL": { + "type": "string", + "maxLength": 100, + "description": "Website for the Business" + }, + "businessType": { + "type": "string", + "description": "Business type \nPossible values:\n- PARTNERSHIP\n- SOLE_PROPRIETORSHIP\n- CORPORATION\n- LLC\n- NON_PROFIT\n- TRUST" + }, + "localMCC": { + "type": "array", + "items": { + "type": "string" + } + }, + "countryPhoneNumber": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Business Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Business Email Address" + }, + "whatYourCompanyDoes": { + "type": "string", + "maxLength": 500, + "description": "What your company does and how you market your service" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "tradingAddress": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "businessContact": { + "type": "object", + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person First Name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Middle Name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Last Name" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Contact Person Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Contact Persona Email" + } + } + }, + "businessDetails": { + "type": "object", + "required": [ + "interactionTypes", + "percentageSplitByF2F", + "percentageSplitByCNP", + "whenIsCustomerCharged", + "offerSubscriptions" + ], + "properties": { + "customerType": { + "type": "string", + "description": "Who is the business interacting with? Business to Business, Business to Consumer, Both \nPossible values:\n- B2B\n- B2C\n- Both" + }, + "percentageSplitByB2B": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByB2C": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "interactionTypes": { + "type": "string", + "description": "Merchant Facing: Face to Face, Card Not Present, Both \nPossible values:\n- F2F\n- CNP\n- Both" + }, + "percentageSplitByF2F": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByCNP": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "whenIsCustomerCharged": { + "type": "string", + "description": "When is the customer charged? \nPossible values:\n- OneTimeBeforeServiceDelivery\n- OneTimeAfterServiceDelivery\n- Other" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 30 + }, + "offerSubscriptions": { + "type": "boolean", + "description": "Does Merchant Offer Subscriptions?" + }, + "monthlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is monthly subscriptions" + }, + "quarterlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is quarterly subscriptions" + }, + "semiannualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is semi-annual subscriptions" + }, + "annualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is annual subscriptions" + }, + "currencyType": { + "type": "string", + "description": "Processing Currency. ISO 4217, 3 characters. \nPossible values:\n- USD\n- CAD\n- EUR\n- GBP\n- CHF" + }, + "estimatedMonthlySales": { + "type": "number", + "description": "Merchant's estimated monthly sales" + }, + "averageOrderAmount": { + "type": "number", + "description": "Merchant's average order amount" + }, + "largestExpectedOrderAmount": { + "type": "number", + "description": "Merchant's largest expected order amount" + }, + "primaryAccountUsage": { + "type": "string", + "description": "Primary purpose of account usage \nPossible values:\n- Paying for goods / services\n- Repatriating overseas earnings\n- Intercompany transfers\n- Collecting funds from clients\n- Liquidity / FX\n- Payment to an individual\n- Investment activity\n- Property purchase/sale\n- Other" + }, + "sourceOfFunds": { + "type": "string", + "description": "Source of Funds \nPossible values:\n- Business revenue\n- External or shareholder investment\n- Loan, advance or other borrowing\n- Donations or grants\n- Inter-company transfers\n- Proceeds of sales of assests\n- Other" + }, + "receiveMoney3rdParties": { + "type": "boolean", + "description": "Will you recieve money from 3rd parties into your account?" + }, + "receiveTransactionFrequency": { + "type": "string", + "description": "Roughly how often do you expect to send or receive transactions? \nPossible values:\n- One-off or infrequently\n- 1-20 per month\n- 20-50 per month\n- 50-100 per month\n- 100+ per month" + }, + "estimatedMonthlySpend": { + "type": "string", + "description": "What is your estimated total monthly spend? \nPossible values:\n- <$10,000\n- $10,000 - $50,000\n- $50,000 - $100,000\n- $100,000 - $500,000\n- $500,000+" + }, + "countryTransactions": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesIn": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesOut": { + "type": "array", + "items": { + "type": "string" + } + }, + "productServicesSubscription": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productServiceName": { + "type": "string", + "maxLength": 255, + "description": "Name of the product, service, or subscription." + }, + "productServicePercentage": { + "type": "number", + "minimum": 0, + "maximum": 100, + "description": "Percentage of business revenue from this product or service." + } + } + } + } + } + }, + "ownerInformation": { + "type": "array", + "items": { + "type": "object", + "required": [ + "firstName", + "lastName", + "birthDate", + "isPrimary", + "hasSignificantResponsibility", + "nationalId", + "ownershipPercentage", + "nationality", + "dueDiligenceRequired", + "phoneNumberCountryCode", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Owner's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Owner's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Owner's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "isPrimary": { + "type": "boolean", + "description": "Primary Owner or Non-Primary Owner" + }, + "hasSignificantResponsibility": { + "type": "boolean", + "description": "If not an owner, is the user a Control Person" + }, + "ownerDirector": { + "type": "boolean", + "description": "Is the owner a Director as well?" + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "passportCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Passport Country. Two character country code, ISO 3166-1 alpha-2." + }, + "jobTitle": { + "type": "string", + "maxLength": 100, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Owner's Job Title" + }, + "ownershipPercentage": { + "type": "number", + "minimum": 1, + "maximum": 100, + "description": "Percentage of the company that owner owns" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "dueDiligenceRequired": { + "type": "boolean", + "description": "Indicates if due diligence checks should be run for this owner" + }, + "phoneNumberCountryCode": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Phone number country. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Owner" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the owner resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Owner's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "description": "Owner's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Owner's zip code (US) or postal code (Canada)" + } + } + } + } + } + }, + "directorInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Director's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Director's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Director's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Director" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the Director resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Director's zip code (US) or postal code (Canada)" + } + } + } + } + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP Address of the user that filled in the Merchant Application", + "type": "string" + }, + "fingerprintSessionId": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + }, + "userAgent": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + } + } + }, + "depositInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the Bank Account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 15, + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 17, + "example": 111111111111110 + } + } + }, + "billingInformation": { + "type": "object", + "properties": { + "bankAccountInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the checking account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "maxLength": 15, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "maxLength": 17, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111110 + } + } + } + } + }, + "saleRepresentativeInformation": { + "type": "object", + "required": [ + "salesRepId", + "salesRepFirstName", + "salesRepLastName", + "salesRepEmail", + "salesRepNumericPhoneNumberCountryCode", + "salesRepPhoneNumber" + ], + "properties": { + "salesRepId": { + "description": "Sales rep Identifier", + "type": "string", + "maxLength": 60 + }, + "salesRepFirstName": { + "description": "Sales rep First Name", + "type": "string", + "maxLength": 50, + "example": "John" + }, + "salesRepLastName": { + "description": "Sales Rep Last Name", + "type": "string", + "maxLength": 50, + "example": "Johnson" + }, + "salesRepEmail": { + "description": "Sales Rep eMail", + "type": "string", + "maxLength": 100, + "example": "test@test.com" + }, + "salesRepNumericPhoneNumberCountryCode": { + "description": "Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "example": "US" + }, + "salesRepPhoneNumber": { + "description": "Sales Rep Phone", + "type": "string", + "maxLength": 20, + "example": 4567890398 + } + } + }, + "fileAttachmentInformation": { + "type": "object", + "properties": { + "fileGroupId": { + "description": "The unique identifier for the file group", + "type": "string" + } + } + } + } + }, "additionalConfigurations": { "type": "array", "maxItems": 10, @@ -123925,8 +127990,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -123986,8 +128050,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -124293,8 +128356,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -124731,8 +128793,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125059,8 +129120,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125520,8 +129580,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125647,148 +129706,238 @@ "configurations": { "type": "object", "properties": { - "pullfunds": { + "common": { "type": "object", - "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "acquiringBIN", - "cardAcceptorId", - "cardTerminalId" - ], - "properties": { - "acquirerOrganizationId": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." - }, - "acquiringBIN": { - "type": "integer", - "minLength": 6, - "maxLength": 11, - "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "cardAcceptorId": { - "type": "string", - "minLength": 1, - "maxLength": 15, - "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." - }, - "originatorMvv": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." - }, - "originatorNameAbbreviation": { + "properties": { + "paymentTypes": { + "type": "array", + "description": "List of card types supported by this merchant.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 4, - "description": "A 4 character max name abbreviation for the originator." - }, - "cardTerminalId": { + "maxLength": 30, + "description": "Possible values:\n- VISA\n- MASTERCARD" + } + }, + "businessApplicationId": { + "type": "array", + "description": "List of supported Business Application Indicators.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 8, - "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + "maxLength": 30, + "description": "Possible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" + } + }, + "aggregator": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 11, + "description": "Marketplace or payment facilitator ID." + }, + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 25, + "description": "Acceptor's legal business name associated with the card acceptor identification code." + }, + "subMerchantId": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 15, + "description": "Sub-merchant ID" + } } } } }, - "pushfunds": { + "processors": { "type": "object", "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "originatorBusinessApplicationId", - "acquirerCountryCode", - "acquiringBIN", - "processorAccount" - ], - "properties": { - "acquirerCountryCode": { - "type": "integer", - "maxLength": 3, - "description": "TBD" - }, - "acquiringBIN": { - "type": "integer", - "maxLength": 11, - "description": "TBD" - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "financialInstitutionId": { - "type": "string", - "minLength": 4, - "maxLength": 4, - "description": "TBD" - }, - "networkOrder": { - "type": "string", - "maxLength": 30, - "description": "TBD" - }, - "nationalReimbursementFee": { - "type": "string", - "maxLength": 1, - "description": "TBD" - }, - "originatorBusinessApplicationId": { - "type": "string", - "maxLength": 3, - "description": "TBD" - }, - "originatorPseudoAbaNumber": { - "type": "string", - "maxLength": 9, - "description": "TBD" - }, - "processorAccount": { - "type": "array", - "items": { - "required": [ - "originatorMerchantId", - "originatorTerminalId" - ], - "type": "object", - "properties": { - "originatorMerchantId": { - "type": "string", - "maxLength": 15, - "description": "TBD" - }, - "originatorTerminalId": { - "type": "array", - "description": "TBD", - "items": { + "description": "string [1 .. 40] characters\n\nThe name of the Payouts processor.\n", + "pattern": "^[A-Za-z0-9]+$", + "allOf": [ + { + "type": "object", + "properties": { + "acquirer": { + "type": "object", + "properties": { + "acquiringId": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 6, + "maxLength": 11, + "description": "This code identifies the financial institution acting as the acquirer.\n\nAlso known as:\n\n- Acquiring BIN\n- Acquiring Institution Identification Code\n" + }, + "country": { "type": "string", - "maxLength": 8 + "description": "The acquirer's [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country code. \nPossible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } - }, - "supportedCurrencies": { - "type": "array", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", - "items": { + } + }, + "currencies": { + "type": "array", + "description": "List of supported [ISO 4217](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html) alpha-3 currency codes.", + "items": { + "type": "string", + "minLength": 3, + "maxLength": 3, + "description": "Possible values:\n- USD\n- AED\n- AFN\n- ALL\n- AMD\n- ANG\n- AOA\n- ARS\n- AUD\n- AWG\n- AZN\n- BAM\n- BBD\n- BDT\n- BGN\n- BHD\n- BIF\n- BMD\n- BND\n- BOB\n- BOX\n- BRL\n- BSD\n- BTN\n- BWP\n- BYR\n- BYN\n- BZD\n- CAD\n- CDF\n- CHF\n- CLF\n- CLP\n- CNY\n- COP\n- COU\n- CRC\n- CSK\n- CUC\n- CUP\n- CVE\n- CZK\n- DJF\n- DFF\n- DOP\n- DZD\n- EGP\n- ERN\n- ETB\n- EUR\n- FJD\n- FKP\n- GBP\n- GEL\n- GHS\n- GIP\n- GMD\n- GNF\n- GTQ\n- GWP\n- GYD\n- HKD\n- HNL\n- HTG\n- HUF\n- IDR\n- ILS\n- INR\n- IQD\n- IRR\n- ISK\n- HMD\n- JOD\n- JPY\n- KES\n- KGS\n- KHR\n- KMF\n- KPW\n- KRW\n- KWD\n- KYD\n- KZT\n- LAK\n- LBP\n- LRD\n- LSL\n- LTV\n- LVL\n- LYD\n- MAD\n- MDL\n- MGA\n- MKD\n- MMK\n- MNT\n- MOP\n- MRO\n- MUR\n- MVR\n- MWK\n- MXN\n- MYR\n- MZN\n- NAD\n- NGN\n- NIO\n- NOK\n- NPR\n- NZD\n- OMR\n- PAB\n- PEN\n- PGK\n- PHP\n- PKR\n- PLN\n- PYG\n- QAR\n- RON\n- RSD\n- RUB\n- RWF\n- SAR\n- SBD\n- SCR\n- SDG\n- SHP\n- SLE\n- SOS\n- SRD\n- SSP\n- STD\n- SVC\n- SYP\n- SZL\n- THB\n- TJS\n- TMT\n- TND\n- TOP\n- TRY\n- TTD\n- TWD\n- TZS\n- UAH\n- UGX\n- UYU\n- VEF\n- VND\n- VUV\n- WST\n- XAF\n- XCD\n- XOF\n- XPF\n- YER\n- ZAR\n- ZMK\n- ZMW\n- ZWD\n- ZWL" + } + }, + "countries": { + "type": "array", + "description": "List of [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country codes", + "items": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "description": "Possible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" + } + }, + "merchantId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 15, + "description": "A unique identifier value assigned by Visa for each merchant included in the identification program." + }, + "terminalId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 8, + "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + }, + "businessCategoryValidation": { + "type": "boolean", + "description": "Default: false\n\nOverride Business Application Indicator and Merchant Category Code validations for payout transaction types.\n" + }, + "payoutsTransactionTypes": { + "type": "array", + "description": "The supported Payouts transaction types for the processor.\n", + "items": { + "type": "string", + "minLength": 19, + "maxLength": 20, + "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" + } + }, + "merchantPseudoAbaNumber": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 9, + "maxLength": 9, + "description": "This is a number that uniquely identifies the merchant for PPGS transactions.\n" + } + } + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "feeProgramId": { "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 3, "maxLength": 3, - "minLength": 3 + "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n\nThis field can be regarded as informational only in all authorization messages.\n" + }, + "cpsAuthorizationCharacteristicsId": { + "type": "string", + "pattern": "^[A-Za-z]+$", + "minLength": 1, + "maxLength": 1, + "description": "The Authorization Characteristics Indicator (ACI) is a code used by the acquirer to request CPS qualification. If applicable, Visa changes the code to reflect the results of its CPS evaluation." + }, + "nationalReimbursementFee": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 12, + "description": "A client-supplied interchange amount." + }, + "settlementServiceId": { + "type": "string", + "description": "This flag enables the merchant to request for a particular settlement service to be used for settling the transaction. \nNote: The default value is VIP. This field is only relevant for specific countries where the acquirer has to select National Settlement in order to settle in the national net settlement service.change\n \nPossible values:\n- INTERNATIONAL_SETTLEMENT\n- VIP_TO_DECIDE\n- NATIONAL_SETTLEMENT" + }, + "sharingGroupCode": { + "type": "string", + "minLength": 6, + "maxLength": 16, + "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities. \nPossible values:\n- ACCEL_EXCHANGE_E\n- CU24_C\n- INTERLINK_G\n- MAESTRO_8\n- NYCE_Y\n- NYCE_F\n- PULSE_S\n- PULSE_L\n- PULSE_H\n- STAR_N\n- STAR_W\n- STAR_Z\n- STAR_Q\n- STAR_M\n- VISA_V" + }, + "allowCryptoCurrencyPurchase": { + "type": "boolean", + "description": "This field allows a merchant to send a flag that specifies whether the payment is for the purchase of cryptocurrency." + }, + "merchantMvv": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 10, + "maxLength": 10, + "description": "Merchant Verification Value (MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." + }, + "electronicCommerceId": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "This code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet). \nPossible values:\n- INTERNET\n- RECURRING\n- RECURRING_INTERNET\n- VBV_FAILURE\n- VBV_ATTEMPTED\n- VBV\n- SPA_FAILURE\n- SPA_ATTEMPTED\n- SPA" } } } - }, - "description": "TBD" + ] + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 22, + "maxLength": 22, + "description": "The merchant statement descriptor. The statement descriptor is a string which will be displayed on the recipient's bank or card statement." + } + } + }, + "operatingEnvironment": { + "type": "string", + "minLength": 1, + "maxLength": 22, + "description": "Initiation channel of the transfer request. \n \nPossible values:\n- WEB\n- MOBILE\n- BANK\n- KIOSK" + }, + "interchangeRateDesignator": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 2, + "maxLength": 2, + "description": "The IRD used for clearing the transaction on the Mastercard network." + }, + "participationId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 30, + "maxLength": 30, + "description": "Participation identifier of the sender. The receiving financial institution will associate the value to the transfer." + } + } + } + ] } - } + ] } } } @@ -126063,8 +130212,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -126090,8 +130238,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -126331,8 +130478,7 @@ "type": "object", "properties": { "profileId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -126366,8 +130512,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -126701,8 +130846,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -127082,7 +131226,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127209,7 +131352,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127298,7 +131440,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127387,7 +131528,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127519,7 +131659,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127608,7 +131747,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127697,7 +131835,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127872,7 +132009,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127961,7 +132097,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128093,7 +132228,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128311,7 +132445,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128405,7 +132538,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128494,7 +132626,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128588,7 +132719,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128677,7 +132807,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128766,7 +132895,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -131528,8 +135656,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -131607,6 +135734,481 @@ } } }, + "acquirers": { + "type": "object", + "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", + "additionalProperties": { + "properties": { + "institutionId": { + "type": "string", + "description": "Identifier of the acquirer. This number is usually assigned by Visa." + }, + "interbankCardAssociationId": { + "type": "string", + "description": "Number assigned by MasterCard to banks to identify the member in transactions." + }, + "discoverInstitutionId": { + "type": "string", + "description": "Assigned by Discover to identify the acquirer." + }, + "countryCode": { + "type": "string", + "description": "ISO 4217 format." + }, + "fileDestinationBin": { + "type": "string", + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN." + }, + "merchantVerificationValue": { + "type": "string", + "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID)." + }, + "paymentTypes": { + "type": "object", + "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "VISA", + "MASTERCARD", + "AMERICAN_EXPRESS", + "DISCOVER", + "DINERS_CLUB", + "JCB", + "PIN_DEBIT" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" @@ -132731,11 +137333,6 @@ "properties": { "enabled": { "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, @@ -132783,6 +137380,991 @@ "type": "string", "description": "URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process.\nexample: http://www.test.com/failure\n" }, + "underwriting": { + "title": "underwritingConfiguration", + "type": "object", + "description": "Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation.\n", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "clientRequestId": { + "description": "client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request.\n", + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + }, + "applicationName": { + "type": "string", + "maxLength": 50, + "description": "The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. \n", + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + } + } + }, + "merchantApplication": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "applicationId": { + "type": "string", + "readOnly": true + }, + "applicationStatus": { + "type": "string", + "readOnly": true + }, + "products": { + "description": "The product(s) that are being underwritten", + "type": "array", + "items": { + "type": "object", + "required": [ + "productShortName" + ], + "properties": { + "productShortName": { + "description": "Product Name\n[PRODUCT1, PRODUCT2, PRODUCT3]\n", + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,30}$" + }, + "preferredAcquirer": { + "description": "Override Acquirer Value", + "type": "string", + "maxLength": 30, + "pattern": "^[a-zA-Z0-9-_]$" + }, + "status": { + "readOnly": true, + "description": "Product status\n[]\n", + "type": "string" + } + } + } + }, + "campaignId": { + "description": "Driver Campaign ID, identifies where the application came from", + "type": "string" + }, + "ocId": { + "description": "Offer CampaignID, used by Sales", + "type": "string" + }, + "resellerId": { + "description": "ResellerID, used by Sales", + "type": "string", + "maxLength": 128 + } + } + }, + "metadata": { + "type": "object" + }, + "metadataExternal": { + "type": "object" + }, + "organizationInformation": { + "type": "object", + "properties": { + "parentOrganizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Parent Organization ID for the application" + }, + "organizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Organization ID for the application" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "description": "Boarding Package ID for the application" + }, + "businessInformation": { + "type": "object", + "required": [ + "businessIdentifier", + "countryRegistration", + "legalName", + "doingBusinessAs", + "businessDescription", + "startDate", + "merchantCategoryCode", + "businessType", + "countryPhoneNumber", + "phoneNumber", + "email" + ], + "properties": { + "businessIdentifier": { + "type": "string", + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]*$", + "description": "Tax ID for the business" + }, + "countryRegistration": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is registered. Two character country code, ISO 3166-1 alpha-2." + }, + "legalName": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "description": "The legally registered name of the business" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "description": "The DBA of the business." + }, + "businessDescription": { + "type": "string", + "maxLength": 250, + "description": "Short description of the Business" + }, + "registrationNumber": { + "type": "string", + "maxLength": 60, + "description": "Registration ID for Enterprise Merchant" + }, + "stockExchange": { + "type": "string", + "maxLength": 60, + "description": "Which stock exchange is the company trading in?" + }, + "tickerSymbol": { + "type": "string", + "maxLength": 10, + "pattern": "^[a-zA-Z0-9_.]*$", + "description": "Stock Symbol on the exchange" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "description": "Industry standard Merchant Category Code (MCC)" + }, + "mccDescription": { + "type": "string", + "maxLength": 128, + "description": "MCC Description" + }, + "websiteURL": { + "type": "string", + "maxLength": 100, + "description": "Website for the Business" + }, + "businessType": { + "type": "string", + "description": "Business type \nPossible values:\n- PARTNERSHIP\n- SOLE_PROPRIETORSHIP\n- CORPORATION\n- LLC\n- NON_PROFIT\n- TRUST" + }, + "localMCC": { + "type": "array", + "items": { + "type": "string" + } + }, + "countryPhoneNumber": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Business Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Business Email Address" + }, + "whatYourCompanyDoes": { + "type": "string", + "maxLength": 500, + "description": "What your company does and how you market your service" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "tradingAddress": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "businessContact": { + "type": "object", + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person First Name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Middle Name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Last Name" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Contact Person Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Contact Persona Email" + } + } + }, + "businessDetails": { + "type": "object", + "required": [ + "interactionTypes", + "percentageSplitByF2F", + "percentageSplitByCNP", + "whenIsCustomerCharged", + "offerSubscriptions" + ], + "properties": { + "customerType": { + "type": "string", + "description": "Who is the business interacting with? Business to Business, Business to Consumer, Both \nPossible values:\n- B2B\n- B2C\n- Both" + }, + "percentageSplitByB2B": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByB2C": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "interactionTypes": { + "type": "string", + "description": "Merchant Facing: Face to Face, Card Not Present, Both \nPossible values:\n- F2F\n- CNP\n- Both" + }, + "percentageSplitByF2F": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByCNP": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "whenIsCustomerCharged": { + "type": "string", + "description": "When is the customer charged? \nPossible values:\n- OneTimeBeforeServiceDelivery\n- OneTimeAfterServiceDelivery\n- Other" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 30 + }, + "offerSubscriptions": { + "type": "boolean", + "description": "Does Merchant Offer Subscriptions?" + }, + "monthlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is monthly subscriptions" + }, + "quarterlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is quarterly subscriptions" + }, + "semiannualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is semi-annual subscriptions" + }, + "annualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is annual subscriptions" + }, + "currencyType": { + "type": "string", + "description": "Processing Currency. ISO 4217, 3 characters. \nPossible values:\n- USD\n- CAD\n- EUR\n- GBP\n- CHF" + }, + "estimatedMonthlySales": { + "type": "number", + "description": "Merchant's estimated monthly sales" + }, + "averageOrderAmount": { + "type": "number", + "description": "Merchant's average order amount" + }, + "largestExpectedOrderAmount": { + "type": "number", + "description": "Merchant's largest expected order amount" + }, + "primaryAccountUsage": { + "type": "string", + "description": "Primary purpose of account usage \nPossible values:\n- Paying for goods / services\n- Repatriating overseas earnings\n- Intercompany transfers\n- Collecting funds from clients\n- Liquidity / FX\n- Payment to an individual\n- Investment activity\n- Property purchase/sale\n- Other" + }, + "sourceOfFunds": { + "type": "string", + "description": "Source of Funds \nPossible values:\n- Business revenue\n- External or shareholder investment\n- Loan, advance or other borrowing\n- Donations or grants\n- Inter-company transfers\n- Proceeds of sales of assests\n- Other" + }, + "receiveMoney3rdParties": { + "type": "boolean", + "description": "Will you recieve money from 3rd parties into your account?" + }, + "receiveTransactionFrequency": { + "type": "string", + "description": "Roughly how often do you expect to send or receive transactions? \nPossible values:\n- One-off or infrequently\n- 1-20 per month\n- 20-50 per month\n- 50-100 per month\n- 100+ per month" + }, + "estimatedMonthlySpend": { + "type": "string", + "description": "What is your estimated total monthly spend? \nPossible values:\n- <$10,000\n- $10,000 - $50,000\n- $50,000 - $100,000\n- $100,000 - $500,000\n- $500,000+" + }, + "countryTransactions": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesIn": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesOut": { + "type": "array", + "items": { + "type": "string" + } + }, + "productServicesSubscription": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productServiceName": { + "type": "string", + "maxLength": 255, + "description": "Name of the product, service, or subscription." + }, + "productServicePercentage": { + "type": "number", + "minimum": 0, + "maximum": 100, + "description": "Percentage of business revenue from this product or service." + } + } + } + } + } + }, + "ownerInformation": { + "type": "array", + "items": { + "type": "object", + "required": [ + "firstName", + "lastName", + "birthDate", + "isPrimary", + "hasSignificantResponsibility", + "nationalId", + "ownershipPercentage", + "nationality", + "dueDiligenceRequired", + "phoneNumberCountryCode", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Owner's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Owner's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Owner's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "isPrimary": { + "type": "boolean", + "description": "Primary Owner or Non-Primary Owner" + }, + "hasSignificantResponsibility": { + "type": "boolean", + "description": "If not an owner, is the user a Control Person" + }, + "ownerDirector": { + "type": "boolean", + "description": "Is the owner a Director as well?" + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "passportCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Passport Country. Two character country code, ISO 3166-1 alpha-2." + }, + "jobTitle": { + "type": "string", + "maxLength": 100, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Owner's Job Title" + }, + "ownershipPercentage": { + "type": "number", + "minimum": 1, + "maximum": 100, + "description": "Percentage of the company that owner owns" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "dueDiligenceRequired": { + "type": "boolean", + "description": "Indicates if due diligence checks should be run for this owner" + }, + "phoneNumberCountryCode": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Phone number country. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Owner" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the owner resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Owner's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "description": "Owner's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Owner's zip code (US) or postal code (Canada)" + } + } + } + } + } + }, + "directorInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Director's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Director's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Director's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Director" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the Director resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Director's zip code (US) or postal code (Canada)" + } + } + } + } + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP Address of the user that filled in the Merchant Application", + "type": "string" + }, + "fingerprintSessionId": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + }, + "userAgent": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + } + } + }, + "depositInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the Bank Account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 15, + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 17, + "example": 111111111111110 + } + } + }, + "billingInformation": { + "type": "object", + "properties": { + "bankAccountInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the checking account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "maxLength": 15, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "maxLength": 17, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111110 + } + } + } + } + }, + "saleRepresentativeInformation": { + "type": "object", + "required": [ + "salesRepId", + "salesRepFirstName", + "salesRepLastName", + "salesRepEmail", + "salesRepNumericPhoneNumberCountryCode", + "salesRepPhoneNumber" + ], + "properties": { + "salesRepId": { + "description": "Sales rep Identifier", + "type": "string", + "maxLength": 60 + }, + "salesRepFirstName": { + "description": "Sales rep First Name", + "type": "string", + "maxLength": 50, + "example": "John" + }, + "salesRepLastName": { + "description": "Sales Rep Last Name", + "type": "string", + "maxLength": 50, + "example": "Johnson" + }, + "salesRepEmail": { + "description": "Sales Rep eMail", + "type": "string", + "maxLength": 100, + "example": "test@test.com" + }, + "salesRepNumericPhoneNumberCountryCode": { + "description": "Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "example": "US" + }, + "salesRepPhoneNumber": { + "description": "Sales Rep Phone", + "type": "string", + "maxLength": 20, + "example": 4567890398 + } + } + }, + "fileAttachmentInformation": { + "type": "object", + "properties": { + "fileGroupId": { + "description": "The unique identifier for the file group", + "type": "string" + } + } + } + } + }, "additionalConfigurations": { "type": "array", "maxItems": 10, @@ -132834,8 +138416,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -132895,8 +138476,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133202,8 +138782,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133640,8 +139219,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133968,8 +139546,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -134429,8 +140006,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -134556,148 +140132,238 @@ "configurations": { "type": "object", "properties": { - "pullfunds": { + "common": { "type": "object", - "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "acquiringBIN", - "cardAcceptorId", - "cardTerminalId" - ], - "properties": { - "acquirerOrganizationId": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." - }, - "acquiringBIN": { - "type": "integer", - "minLength": 6, - "maxLength": 11, - "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "cardAcceptorId": { - "type": "string", - "minLength": 1, - "maxLength": 15, - "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." - }, - "originatorMvv": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." - }, - "originatorNameAbbreviation": { + "properties": { + "paymentTypes": { + "type": "array", + "description": "List of card types supported by this merchant.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 4, - "description": "A 4 character max name abbreviation for the originator." - }, - "cardTerminalId": { + "maxLength": 30, + "description": "Possible values:\n- VISA\n- MASTERCARD" + } + }, + "businessApplicationId": { + "type": "array", + "description": "List of supported Business Application Indicators.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 8, - "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + "maxLength": 30, + "description": "Possible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" + } + }, + "aggregator": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 11, + "description": "Marketplace or payment facilitator ID." + }, + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 25, + "description": "Acceptor's legal business name associated with the card acceptor identification code." + }, + "subMerchantId": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 15, + "description": "Sub-merchant ID" + } } } } }, - "pushfunds": { + "processors": { "type": "object", "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "originatorBusinessApplicationId", - "acquirerCountryCode", - "acquiringBIN", - "processorAccount" - ], - "properties": { - "acquirerCountryCode": { - "type": "integer", - "maxLength": 3, - "description": "TBD" - }, - "acquiringBIN": { - "type": "integer", - "maxLength": 11, - "description": "TBD" - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "financialInstitutionId": { - "type": "string", - "minLength": 4, - "maxLength": 4, - "description": "TBD" - }, - "networkOrder": { - "type": "string", - "maxLength": 30, - "description": "TBD" - }, - "nationalReimbursementFee": { - "type": "string", - "maxLength": 1, - "description": "TBD" - }, - "originatorBusinessApplicationId": { - "type": "string", - "maxLength": 3, - "description": "TBD" - }, - "originatorPseudoAbaNumber": { - "type": "string", - "maxLength": 9, - "description": "TBD" - }, - "processorAccount": { - "type": "array", - "items": { - "required": [ - "originatorMerchantId", - "originatorTerminalId" - ], - "type": "object", - "properties": { - "originatorMerchantId": { - "type": "string", - "maxLength": 15, - "description": "TBD" - }, - "originatorTerminalId": { - "type": "array", - "description": "TBD", - "items": { + "description": "string [1 .. 40] characters\n\nThe name of the Payouts processor.\n", + "pattern": "^[A-Za-z0-9]+$", + "allOf": [ + { + "type": "object", + "properties": { + "acquirer": { + "type": "object", + "properties": { + "acquiringId": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 6, + "maxLength": 11, + "description": "This code identifies the financial institution acting as the acquirer.\n\nAlso known as:\n\n- Acquiring BIN\n- Acquiring Institution Identification Code\n" + }, + "country": { "type": "string", - "maxLength": 8 + "description": "The acquirer's [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country code. \nPossible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } - }, - "supportedCurrencies": { - "type": "array", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", - "items": { + } + }, + "currencies": { + "type": "array", + "description": "List of supported [ISO 4217](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html) alpha-3 currency codes.", + "items": { + "type": "string", + "minLength": 3, + "maxLength": 3, + "description": "Possible values:\n- USD\n- AED\n- AFN\n- ALL\n- AMD\n- ANG\n- AOA\n- ARS\n- AUD\n- AWG\n- AZN\n- BAM\n- BBD\n- BDT\n- BGN\n- BHD\n- BIF\n- BMD\n- BND\n- BOB\n- BOX\n- BRL\n- BSD\n- BTN\n- BWP\n- BYR\n- BYN\n- BZD\n- CAD\n- CDF\n- CHF\n- CLF\n- CLP\n- CNY\n- COP\n- COU\n- CRC\n- CSK\n- CUC\n- CUP\n- CVE\n- CZK\n- DJF\n- DFF\n- DOP\n- DZD\n- EGP\n- ERN\n- ETB\n- EUR\n- FJD\n- FKP\n- GBP\n- GEL\n- GHS\n- GIP\n- GMD\n- GNF\n- GTQ\n- GWP\n- GYD\n- HKD\n- HNL\n- HTG\n- HUF\n- IDR\n- ILS\n- INR\n- IQD\n- IRR\n- ISK\n- HMD\n- JOD\n- JPY\n- KES\n- KGS\n- KHR\n- KMF\n- KPW\n- KRW\n- KWD\n- KYD\n- KZT\n- LAK\n- LBP\n- LRD\n- LSL\n- LTV\n- LVL\n- LYD\n- MAD\n- MDL\n- MGA\n- MKD\n- MMK\n- MNT\n- MOP\n- MRO\n- MUR\n- MVR\n- MWK\n- MXN\n- MYR\n- MZN\n- NAD\n- NGN\n- NIO\n- NOK\n- NPR\n- NZD\n- OMR\n- PAB\n- PEN\n- PGK\n- PHP\n- PKR\n- PLN\n- PYG\n- QAR\n- RON\n- RSD\n- RUB\n- RWF\n- SAR\n- SBD\n- SCR\n- SDG\n- SHP\n- SLE\n- SOS\n- SRD\n- SSP\n- STD\n- SVC\n- SYP\n- SZL\n- THB\n- TJS\n- TMT\n- TND\n- TOP\n- TRY\n- TTD\n- TWD\n- TZS\n- UAH\n- UGX\n- UYU\n- VEF\n- VND\n- VUV\n- WST\n- XAF\n- XCD\n- XOF\n- XPF\n- YER\n- ZAR\n- ZMK\n- ZMW\n- ZWD\n- ZWL" + } + }, + "countries": { + "type": "array", + "description": "List of [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country codes", + "items": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "description": "Possible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" + } + }, + "merchantId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 15, + "description": "A unique identifier value assigned by Visa for each merchant included in the identification program." + }, + "terminalId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 8, + "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + }, + "businessCategoryValidation": { + "type": "boolean", + "description": "Default: false\n\nOverride Business Application Indicator and Merchant Category Code validations for payout transaction types.\n" + }, + "payoutsTransactionTypes": { + "type": "array", + "description": "The supported Payouts transaction types for the processor.\n", + "items": { + "type": "string", + "minLength": 19, + "maxLength": 20, + "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" + } + }, + "merchantPseudoAbaNumber": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 9, + "maxLength": 9, + "description": "This is a number that uniquely identifies the merchant for PPGS transactions.\n" + } + } + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "feeProgramId": { "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 3, "maxLength": 3, - "minLength": 3 + "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n\nThis field can be regarded as informational only in all authorization messages.\n" + }, + "cpsAuthorizationCharacteristicsId": { + "type": "string", + "pattern": "^[A-Za-z]+$", + "minLength": 1, + "maxLength": 1, + "description": "The Authorization Characteristics Indicator (ACI) is a code used by the acquirer to request CPS qualification. If applicable, Visa changes the code to reflect the results of its CPS evaluation." + }, + "nationalReimbursementFee": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 12, + "description": "A client-supplied interchange amount." + }, + "settlementServiceId": { + "type": "string", + "description": "This flag enables the merchant to request for a particular settlement service to be used for settling the transaction. \nNote: The default value is VIP. This field is only relevant for specific countries where the acquirer has to select National Settlement in order to settle in the national net settlement service.change\n \nPossible values:\n- INTERNATIONAL_SETTLEMENT\n- VIP_TO_DECIDE\n- NATIONAL_SETTLEMENT" + }, + "sharingGroupCode": { + "type": "string", + "minLength": 6, + "maxLength": 16, + "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities. \nPossible values:\n- ACCEL_EXCHANGE_E\n- CU24_C\n- INTERLINK_G\n- MAESTRO_8\n- NYCE_Y\n- NYCE_F\n- PULSE_S\n- PULSE_L\n- PULSE_H\n- STAR_N\n- STAR_W\n- STAR_Z\n- STAR_Q\n- STAR_M\n- VISA_V" + }, + "allowCryptoCurrencyPurchase": { + "type": "boolean", + "description": "This field allows a merchant to send a flag that specifies whether the payment is for the purchase of cryptocurrency." + }, + "merchantMvv": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 10, + "maxLength": 10, + "description": "Merchant Verification Value (MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." + }, + "electronicCommerceId": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "This code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet). \nPossible values:\n- INTERNET\n- RECURRING\n- RECURRING_INTERNET\n- VBV_FAILURE\n- VBV_ATTEMPTED\n- VBV\n- SPA_FAILURE\n- SPA_ATTEMPTED\n- SPA" } } } - }, - "description": "TBD" + ] + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 22, + "maxLength": 22, + "description": "The merchant statement descriptor. The statement descriptor is a string which will be displayed on the recipient's bank or card statement." + } + } + }, + "operatingEnvironment": { + "type": "string", + "minLength": 1, + "maxLength": 22, + "description": "Initiation channel of the transfer request. \n \nPossible values:\n- WEB\n- MOBILE\n- BANK\n- KIOSK" + }, + "interchangeRateDesignator": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 2, + "maxLength": 2, + "description": "The IRD used for clearing the transaction on the Mastercard network." + }, + "participationId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 30, + "maxLength": 30, + "description": "Participation identifier of the sender. The receiving financial institution will associate the value to the transfer." + } + } + } + ] } - } + ] } } } @@ -134972,8 +140638,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -134999,8 +140664,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135240,8 +140904,7 @@ "type": "object", "properties": { "profileId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -135275,8 +140938,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135610,8 +141272,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135857,7 +141518,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -135984,7 +141644,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136073,7 +141732,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136162,7 +141820,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136294,7 +141951,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136383,7 +142039,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136472,7 +142127,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136647,7 +142301,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136736,7 +142389,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136868,7 +142520,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137086,7 +142737,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137180,7 +142830,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137269,7 +142918,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137363,7 +143011,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137452,7 +143099,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137541,7 +143187,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -141289,8 +146934,13 @@ "description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False

\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout

\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.\n" }, "CPF": { - "type": "boolean", - "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n" + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n" + } + } } } }, @@ -141608,7 +147258,7 @@ "example0": { "summary": "Generate Unified Checkout Capture Context", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141654,7 +147304,7 @@ "example1": { "summary": "Generate Unified Checkout Capture Context With Full List of Card Networks", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141713,7 +147363,7 @@ "example2": { "summary": "Generate Unified Checkout Capture Context With Custom Google Payment Options", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141767,7 +147417,7 @@ "example3": { "summary": "Generate Unified Checkout Capture Context With Autocheck Enrollment", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141815,7 +147465,7 @@ "example4": { "summary": "Generate Unified Checkout Capture Context (Opt-out of receiving card number prefix)", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141864,7 +147514,7 @@ "example5": { "summary": "Generate Unified Checkout Capture Context passing Billing & Shipping", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141879,8 +147529,7 @@ "CLICKTOPAY", "GOOGLEPAY", "PANENTRY", - "PAZE", - "AFTERPAY" + "PAZE" ], "country": "US", "locale": "en_US", @@ -141956,9 +147605,9 @@ } }, "example6": { - "summary": "Generate Capture Context For Click To Pay Drop-In UI", + "summary": "Generate Unified Checkout Capture Context For Click To Pay Drop-In UI", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141990,6 +147639,562 @@ } } } + }, + "example7": { + "summary": "Generate Unified Checkout Capture Context ($ Afterpay (US))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "US", + "locale": "en_US", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "US", + "CA" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "USD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Galleria Road", + "administrativeArea": "TX", + "buildingNumber": 2, + "country": "US", + "locality": "Houston", + "postalCode": "22096" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 4N3" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example8": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (CAN))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "CA", + "locale": "en_US", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "US", + "CA" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "CAD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Galleria Road", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 4N3" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 543" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example9": { + "summary": "Generate Unified Checkout Capture Context (Clearpay (GB))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "GB", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "GB", + "ES", + "IT", + "PT" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "GBP" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Square Street", + "administrativeArea": "Devon", + "buildingNumber": 2, + "country": "GB", + "locality": "Plymouth", + "postalCode": "PL1 1AS" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example10": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (AU))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "AU", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "AU", + "NZ" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "AUD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Ocean Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Springtown Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example11": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (NZ))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "NZ", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "AU", + "NZ" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "NZD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Maranui Avenue", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "NZ", + "locality": "Auckland", + "postalCode": "1022" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Springtown Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example12": { + "summary": "Generate Unified Checkout Capture Context (iDEAL (NL))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "IDEAL" + ], + "country": "NL", + "locale": "en_NL", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "NL", + "GB" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Stationsstraat 12", + "administrativeArea": "NL-NH", + "buildingNumber": 2, + "country": "NL", + "locality": "Amsterdam", + "postalCode": "1071 JA" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" + }, + "example13": { + "summary": "Generate Unified Checkout Capture Context (Multibanco (PT))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "MULTIBANCO" + ], + "country": "PT", + "locale": "pt-PT", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "PT", + "ES", + "GB" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Rua da Liberdade 10", + "administrativeArea": "Mafra", + "buildingNumber": 2, + "country": "PT", + "locality": "Lisboa", + "postalCode": "1234-567" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" + }, + "example14": { + "summary": "Generate Unified Checkout Capture Context (Przelewy24|P24 (PL))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "P24" + ], + "country": "PL", + "locale": "pl-PL", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "PL", + "GB", + "BE" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Ulica Podhalanska 2", + "administrativeArea": "Wroclaw", + "buildingNumber": 2, + "country": "PL", + "locality": "Gdansk", + "postalCode": "80-322" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" } }, "responses": { @@ -143472,6 +149677,447 @@ } } } + }, + "/bavs/v1/account-validations": { + "post": { + "summary": "Visa Bank Account Validation Service", + "description": "The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions.\n", + "tags": [ + "bankAccountValidation" + ], + "operationId": "bankAccountValidationRequest", + "x-devcenter-metaData": { + "categoryTag": "Visa_Bank_Account_Validation", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/visa-bank-validation/merchant/all/rest/visa-bank-accoun-val/visa-bank-acc-val-about-guide.html", + "firstLevelApiLifeCycle": "pilot", + "secondLevelApiLifeCycle": "pilot", + "apiLifeCycle": "pilot", + "mleForRequest": "mandatory", + "mleForResponse": "false", + "disableProcessorDropDown": true, + "authorizationType": [ + "Json Web Token" + ], + "overrideMerchantCredential": "echecktestdevcenter001", + "SDK_ONLY_AddDisclaimer": true + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "parameters": [ + { + "name": "accountValidationsRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "processingInformation", + "paymentInformation" + ], + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client reference code", + "example": "TC50171_3" + } + } + }, + "processingInformation": { + "type": "object", + "required": [ + "validationLevel" + ], + "properties": { + "validationLevel": { + "type": "integer", + "description": "Enter 1 for routing and account number validation.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "required": [ + "bank" + ], + "properties": { + "bank": { + "type": "object", + "required": [ + "routingNumber", + "account" + ], + "properties": { + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the transit number.\n\nNon-Negative Integer\n", + "example": 123456789 + }, + "account": { + "type": "object", + "required": [ + "number" + ], + "properties": { + "number": { + "type": "string", + "maxLength": 17, + "description": "Account Number.\n\nNon-Negative Integer.\nexample: 12345678901234577\n" + } + } + } + } + } + } + } + } + } + } + ], + "responses": { + "200": { + "description": "Successful response.", + "schema": { + "type": "object", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client reference code", + "example": "TC50171_3" + } + } + }, + "requestId": { + "type": "string", + "description": "Request Id sent as part of the request." + }, + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "bankAccountValidation": { + "type": "object", + "properties": { + "rawValidationCode": { + "type": "integer", + "description": "Raw Validation Codes for routing number and account number\n\n Possible values:\n \u2022 -1: Unable to perform validation/Unknown error\n \u2022 -2: Service Unavailable\n \u2022 12 to 16: Validation results\n" + }, + "resultCode": { + "type": "integer", + "description": "Result codes for account number and routing number\n\n Possible values: 00, 04, 98, 99\n" + }, + "resultMessage": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time verification was requested\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `INVALID_REQUEST`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `INVALID_REQUEST`\n" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid.\n" + }, + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - `MISSING_FIELD`\n - `INVALID_DATA`\n" + } + } + } + } + } + } + }, + "403": { + "description": "Authorization failure.", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `UNAUTHORIZED`\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `UNAUTHORIZED`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason.\n" + } + } + } + }, + "404": { + "description": "Resource Not Found", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted request. \nPossible values:\n- NOT_FOUND" + }, + "reason": { + "type": "string", + "description": "The reason of the status. \nPossible values:\n- NOT_FOUND" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + } + } + } + }, + "422": { + "description": "Unprocessable Entity.", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `VALIDATION_ERROR`\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `PRODUCT_INACTIVE`\n - `INVALID_MERCHANT_CONFIGURATION`\n - `PRODUCT_NOT_CONFIGURED`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason.\n" + } + } + } + }, + "502": { + "description": "Internal Server error", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time verification was requested\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted transaction.\nPossible values:\n - `SERVER_ERROR`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `SYSTEM_ERROR`\n - `SERVER_TIMEOUT`\n - `SERVICE_TIMEOUT`\n" + } + } + } + } + }, + "x-example": { + "example0": { + "summary": "Bank Account Validation - Validated", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99970" + } + } + } + }, + "response0": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:18:42Z", + "bankAccountValidation": { + "rawValidationCode": 12, + "resultCode": "00", + "resultMessage": "Validated" + } + } + }, + "example1": { + "summary": "Bank Account Validation - Not Validated", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99941" + } + } + } + }, + "response1": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:19:35Z", + "bankAccountValidation": { + "rawValidationCode": 16, + "resultCode": "04", + "resultMessage": "Not Validated" + } + } + }, + "example2": { + "summary": "Bank Account Validation - Unable to perform validation", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99950" + } + } + } + }, + "response2": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:21:17Z", + "bankAccountValidation": { + "rawValidationCode": -1, + "resultCode": "98", + "resultMessage": "Unable to perform validation - No information found" + } + } + }, + "example3": { + "summary": "Bank Account Validation - Service Unavailable", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99980" + } + } + } + }, + "response3": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:21:54Z", + "bankAccountValidation": { + "rawValidationCode": -2, + "resultCode": "99", + "resultMessage": "Service Unavailable" + } + } + } + } + } } } } \ No newline at end of file diff --git a/generator/cybersource-rest-spec.json b/generator/cybersource-rest-spec.json index dada7de6..09749251 100644 --- a/generator/cybersource-rest-spec.json +++ b/generator/cybersource-rest-spec.json @@ -1508,6 +1508,11 @@ "amountDetails": { "type": "object", "properties": { + "refundBalance": { + "type": "string", + "maxLength": 15, + "description": "The remaining amount which can be refunded." + }, "giftWrapAmount": { "type": "string", "maxLength": 19, @@ -4949,6 +4954,26 @@ "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" } } } @@ -5593,7 +5618,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "responseCategoryCode": { "type": "string", @@ -5956,6 +5981,16 @@ "type": "string", "maxLength": 150, "description": "Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region.\nA newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -6470,8 +6505,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" }, "salesSlipNumber": { "type": "integer", @@ -20723,6 +20758,16 @@ } } } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -20906,7 +20951,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "merchantAdvice": { "type": "object", @@ -20958,6 +21003,16 @@ "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection_eligibility property is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.`\nOne or both values can be returned.\n" } } + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -21425,6 +21480,16 @@ "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } } @@ -21566,11 +21631,21 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -21994,6 +22069,21 @@ } } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -22148,11 +22238,21 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -24676,6 +24776,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -24924,6 +25039,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -24954,8 +25079,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -27496,6 +27621,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -27682,6 +27822,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -27722,8 +27872,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -30184,6 +30334,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -30370,6 +30535,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -30410,8 +30585,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -33204,6 +33379,21 @@ "description": "Code for a promotion or discount.\n" } } + }, + "processorInformation": { + "type": "object", + "properties": { + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } + } + } } }, "example": { @@ -33403,6 +33593,16 @@ "updateTimeUtc": { "type": "string", "description": "The date and time when the transaction was last updated, in Internet date and time format.\n" + }, + "network": { + "type": "object", + "properties": { + "economicallyRelatedTxnId": { + "type": "string", + "maxLength": 50, + "description": "Indicates the economically related transaction id" + } + } } } }, @@ -33520,8 +33720,8 @@ "type": "object", "properties": { "level3TransmissionStatus": { - "type": "boolean", - "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" + "type": "string", + "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **Y** for true\n- **N** for false\n" } } } @@ -37445,12 +37645,12 @@ "rawResponse": { "type": "string", "maxLength": 255, - "description": "This field is set to the value of failure reason returned by the processor.\n" + "description": "Failure reason returned by the processor." }, "rawResponseLocal": { "type": "string", "maxLength": 255, - "description": "This field is set to the value of failure reason returned by the processor in the local language of the processor.\n" + "description": "Failure reason returned by the processor in the local language of the processor." }, "responseDetails": { "type": "string", @@ -37679,7 +37879,7 @@ "refundBalance": { "type": "string", "maxLength": 15, - "description": "This field will carry the remaning amount which can be refunded.\n" + "description": "The remaining amount which can be refunded." } } } @@ -37706,7 +37906,7 @@ "code": { "type": "string", "maxLength": 10, - "description": "Unique code for card issuer provided by the processor.\n" + "description": "Unique code for card issuer provided by the processor." } } }, @@ -41164,7 +41364,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" } } }, @@ -41350,7 +41550,7 @@ }, "userName": { "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\n" + "description": "The Venmo user name chosen by the user, also known as a Venmo handle.\n" } } } @@ -42556,7 +42756,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "token": { "type": "string", @@ -43715,7 +43915,7 @@ "responseDetails": { "type": "string", "maxLength": 255, - "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" + "description": "This field might contain information about a decline.\n" }, "token": { "type": "string", @@ -44004,7 +44204,7 @@ "description": "Indicates the type of vaulting relationship. Valid values:\n- \"MERCHANT\": Single merchant relationship.\n- \"PLATFORM\": Platform hosting multiple merchants.\n" }, "allowMultipleTokens": { - "type": "boolean", + "type": "string", "description": "Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.\n" } } @@ -44458,7 +44658,7 @@ }, "userName": { "type": "string", - "description": "The Venmo user name chosen by the user, also know as a Venmo handle.\n" + "description": "The Venmo user name chosen by the user, also known as a Venmo handle.\n" } } } @@ -46399,6 +46599,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -47718,6 +47938,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -49355,6 +49595,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -50989,6 +51249,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -52317,6 +52597,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -57175,6 +57475,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -58242,6 +58562,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -59842,6 +60182,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -61257,6 +61617,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -62635,6 +63015,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -63698,6 +64098,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -65619,6 +66039,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -66668,6 +67108,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -68125,6 +68585,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -69501,6 +69981,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -70564,6 +71064,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -72050,6 +72570,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -72792,6 +73332,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -73522,6 +74082,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -74615,6 +75195,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -75685,6 +76285,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -76441,6 +77061,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -78395,6 +79035,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -79460,6 +80120,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -79518,7 +80198,7 @@ "operationId": "postInstrumentIdentifierEnrollment", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-card-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-ii-intro.html" }, "consumes": [ "application/json;charset=utf-8" @@ -80247,7 +80927,7 @@ "operationId": "postTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-create-cof-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-create-cof-intro.html" }, "consumes": [ "application/json;charset=utf-8" @@ -81263,7 +81943,7 @@ "operationId": "getTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-retrieve-tkn-consumer-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-retrieve-tkn-consumer-intro.html" }, "produces": [ "application/json;charset=utf-8" @@ -81907,7 +82587,7 @@ "operationId": "deleteTokenizedCard", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-card-delete-tkn-consumer-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-delete-tkn-consumer-intro.html" }, "produces": [ "application/json;charset=utf-8" @@ -82236,79 +82916,110 @@ } } }, - "/tms/v2/tokens/{tokenId}/payment-credentials": { + "/tms/v2/tokenized-cards/{tokenizedCardId}/issuer-life-cycle-event-simulations": { "post": { - "summary": "Generate Payment Credentials for a TMS Token", - "description": "| | | | \n| --- | --- | --- | \n|**Token**
A Token can represent your tokenized Customer, Payment Instrument or Instrument Identifier information.|      |**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument or Instrument Identifier.\n", + "summary": "Simulate Issuer Life Cycle Management Events", + "description": "**Lifecycle Management Events**
Simulates an issuer life cycle manegement event for updates on the tokenized card.\nThe events that can be simulated are:\n- Token status changes (e.g. active, suspended, deleted)\n- Updates to the underlying card, including card art changes, expiration date changes, and card number suffix.\n**Note:** This is only available in CAS environment.\n", "parameters": [ { "name": "profile-id", "in": "header", - "description": "The Id of a profile containing user specific TMS configuration.", - "required": false, + "required": true, "type": "string", + "description": "The Id of a profile containing user specific TMS configuration.", "minLength": 36, - "maxLength": 36, - "x-hide-field": true + "maxLength": 36 }, { - "name": "tokenId", + "name": "tokenizedCardId", "in": "path", - "description": "The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.", + "description": "The Id of a tokenized card.", "required": true, "type": "string", - "minLength": 1, + "minLength": 12, "maxLength": 32 }, { - "name": "postPaymentCredentialsRequest", + "name": "postIssuerLifeCycleSimulationRequest", "in": "body", "required": true, "schema": { "type": "object", + "description": "Represents the Issuer LifeCycle Event Simulation for a Tokenized Card.\n", "properties": { - "paymentCredentialType": { + "state": { "type": "string", - "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" + "description": "The new state of the Tokenized Card.\nPossible Values:\n- ACTIVE\n- SUSPENDED\n- DELETED\n" }, - "transactionType": { - "type": "string", - "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n" + "card": { + "type": "object", + "properties": { + "last4": { + "type": "string", + "maxLength": 4, + "description": "The new last 4 digits of the card number associated to the Tokenized Card.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "The new two-digit month of the card associated to the Tokenized Card.\nFormat: `MM`.\nPossible Values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "The new four-digit year of the card associated to the Tokenized Card.\nFormat: `YYYY`.\n" + } + } + }, + "metadata": { + "type": "object", + "properties": { + "cardArt": { + "type": "object", + "properties": { + "combinedAsset": { + "type": "object", + "properties": { + "update": { + "type": "string", + "description": "Set to \"true\" to simulate an update to the combined card art asset associated with the Tokenized Card.\n" + } + } + } + } + } + } } } } } ], "tags": [ - "Token" + "Tokenized Card" ], - "operationId": "postTokenPaymentCredentials", + "operationId": "postIssuerLifeCycleSimulation", "x-devcenter-metaData": { "categoryTag": "Token_Management", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-retrieve-pay-cred-intro.html" + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-card-simulate-issuer-life-cycle-event-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ - "application/jose;charset=utf-8" + "application/json;charset=utf-8" ], "responses": { - "201": { - "description": "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample:\n{\n\"kid\":\"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n\"cty\":\"json\",\n\"typ\":\"JWT\",\n\"enc\":\"A256GCM\",\n\"alg\":\"RSA-OAEP-256\"\n}\n[Encrypted Instrument Identifier Payment Credentials]\n\nThe encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.\n", + "204": { + "description": "The request is fulfilled but does not need to return a body", "headers": { - "uniqueTransactionID": { - "description": "A globally unique id associated with your request.", + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, - "v-c-correlation-id": { - "description": "The mandatory correlation id passed by upstream (calling) system.", + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", "type": "string" } - }, - "schema": { - "type": "string", - "example": "eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A" } }, "400": { @@ -82478,55 +83189,379 @@ } } }, - "410": { - "description": "Token Not Available. The token has been deleted.", - "headers": { - "v-c-correlation-id": { - "description": "The mandatory correlation Id passed by upstream (calling) system.", - "type": "string" - }, - "uniqueTransactionID": { - "description": "A globally unique Id associated with your request.", - "type": "string" - } - }, - "schema": { - "type": "object", - "readOnly": true, - "properties": { - "errors": { - "type": "array", - "readOnly": true, - "items": { - "type": "object", - "readOnly": true, - "properties": { - "type": { - "type": "string", - "readOnly": true, - "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" - }, - "message": { - "type": "string", - "readOnly": true, - "description": "The detailed message related to the type." - } - } - } - } - } - }, - "examples": { - "application/json": { - "errors": [ - { - "type": "notAvailable", - "message": "Token not available." - } - ] - } - } - }, + "500": { + "description": "Unexpected error.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "serverError", + "message": "Internal server error" + } + ] + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - internalError\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + } + } + }, + "x-example": { + "example0": { + "summary": "Simulate Network Token Status Update", + "value": { + "state": "SUSPENDED" + } + }, + "example1": { + "summary": "Simulate Network Token Card Metadata Update", + "value": { + "card": { + "last4": "9876", + "expirationMonth": "11", + "expirationYear": "2040" + } + } + }, + "example2": { + "summary": "Simulate Network Token Card Art Update", + "value": { + "metadata": { + "cardArt": { + "combinedAsset": { + "update": "true" + } + } + } + } + } + } + } + }, + "/tms/v2/tokens/{tokenId}/payment-credentials": { + "post": { + "summary": "Generate Payment Credentials for a TMS Token", + "description": "| | | | \n| --- | --- | --- | \n|**Token**
A Token can represent your tokenized Customer, Payment Instrument or Instrument Identifier information.|      |**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument or Instrument Identifier.\n", + "parameters": [ + { + "name": "profile-id", + "in": "header", + "description": "The Id of a profile containing user specific TMS configuration.", + "required": false, + "type": "string", + "minLength": 36, + "maxLength": 36, + "x-hide-field": true + }, + { + "name": "tokenId", + "in": "path", + "description": "The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 32 + }, + { + "name": "postPaymentCredentialsRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "paymentCredentialType": { + "type": "string", + "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token card number will be returned and no cryptogram or dynamic CVV will be requested.\nIf \"SECURITY_CODE\" is supplied then dynamic CVV will be requested and returned with the network token card number. Dynamic CVV is only supported for Amex and SCOF.\nIf \"CRYPTOGRAM\" is supplied then cryptogram will be requested and returned with the network token card number. Cryptogram is NOT supported for Amex.\n\nPossible Values:\n - NETWORK_TOKEN\n - SECURITY_CODE\n - CRYPTOGRAM\n" + }, + "transactionType": { + "type": "string", + "description": "Specifies the type of transaction for which the network token credentials are required.\nPossible Values:\n - ECOM: Ecommerce transaction. If transactionType is not provided, ECOM is set as the default.\n - AFT: Account Funding Transaction. This is only supported for VISA and paymentCredentialType of CRYPTOGRAM.\n" + } + } + } + } + ], + "tags": [ + "Token" + ], + "operationId": "postTokenPaymentCredentials", + "x-devcenter-metaData": { + "categoryTag": "Token_Management", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-intro/tms-net-tkn-partner-retrieve-pay-cred-intro.html" + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/jose;charset=utf-8" + ], + "responses": { + "201": { + "description": "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample:\n{\n\"kid\":\"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n\"cty\":\"json\",\n\"typ\":\"JWT\",\n\"enc\":\"A256GCM\",\n\"alg\":\"RSA-OAEP-256\"\n}\n[Encrypted Instrument Identifier Payment Credentials]\n\nThe encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.\n", + "headers": { + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + }, + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + } + }, + "schema": { + "type": "string", + "example": "eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A" + } + }, + "400": { + "description": "Bad Request: e.g. A required header value could be missing.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" + } + ] + } + } + }, + "403": { + "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - forbidden\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "forbidden", + "message": "Request not permitted" + } + ] + } + } + }, + "404": { + "description": "Token Not Found. The Id may not exist or was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notFound\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Token not found" + } + ] + } + } + }, + "410": { + "description": "Token Not Available. The token has been deleted.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation Id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique Id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type." + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } + } + }, "500": { "description": "Unexpected error.", "headers": { @@ -101113,6 +102148,26 @@ "flexCredential": { "type": "boolean", "description": "This field indicates if the instrument is a flex credential.\nPossible values:\n - `true`\n - `false`\n" + }, + "productId": { + "type": "string", + "description": "This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - Q4\n - P\n - AX\n" + }, + "productIdSubtype": { + "type": "string", + "description": "This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs.\nExample values:\n - BB\n - EX\n - L2\n - C2\n" + }, + "threeDSSupport": { + "type": "boolean", + "description": "This field indicates if the payment instrument supports 3D Secure authentication.\nPossible values:\n - `true`\n - `false`\n" + }, + "siEligible": { + "type": "boolean", + "description": "This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments).\nPossible values:\n - `true`\n - `false`\n" + }, + "emiEligible": { + "type": "boolean", + "description": "This field indicates if the card is eligible for Equated Monthly Installments (EMI).\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -101226,12 +102281,12 @@ "domesticParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if domestic OCTs (push funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if domestic OCTs (push funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" }, "crossBorderParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if cross-border OCTs (push funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -101241,12 +102296,12 @@ "domesticParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if domestic AFTs (pull funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" }, "crossBorderParticipant": { "type": "string", "maxLength": 5, - "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nNote: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS).\nPossible values:\n - `true`\n - `false`\n" + "description": "This field indicates if cross-border AFTs (pull funds) are allowed.\nPossible values:\n - `true`\n - `false`\n" } } }, @@ -102004,6 +103059,11 @@ "maxLength": 3, "description": "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.\nThis field is returned for OCT transactions.\n" }, + "refundBalance": { + "type": "string", + "maxLength": 15, + "description": "The remaining amount which can be refunded." + }, "surcharge": { "type": "object", "properties": { @@ -102062,6 +103122,21 @@ } } }, + "eWallet": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- CreditCard\n- BankTransfer\n- MobileTransfer\n- KakaoMoney\n- NaverPayPoint\n" + }, + "fundingSource": { + "type": "string", + "maxLength": 30, + "description": "Valid Values:\n- PAYCO\n- Kakaopay\n- NaverPay\n- SSG Pay\n- L.Pay\n- Apple Pay\n- TOSS Pay\n- Samsung Pay\n" + } + } + }, "customer": { "type": "object", "properties": { @@ -102816,6 +103891,21 @@ } } }, + "issuerInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 20, + "description": "Name of the card issuer provided by the processor.\n" + }, + "code": { + "type": "string", + "maxLength": 10, + "description": "Unique code for card issuer provided by the processor." + } + } + }, "eventStatus": { "type": "string", "description": "The event status.\n" @@ -102835,6 +103925,21 @@ "maxLength": 29, "description": "Payment Account Reference (PAR) is a non-financial reference assigned to each unique payment account and used to link a payment account to associated network tokens, i.e. the same PAR is returned for PAN-based and tokenized transactions, such as from digital wallets. PAR can be returned in authorisation responses for requests initiated with both real PANs and tokenized PANs. PAR can be used by merchants for fraud detection and regulatory compliance across different channels and digital wallets. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR8\n- Position: 79-110\n- Field: Payment Account Reference\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer,\nwho uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, + "responseDetails": { + "type": "string", + "maxLength": 255, + "description": "This field might contain information about a decline.\n" + }, + "rawResponseLocal": { + "type": "string", + "maxLength": 255, + "description": "Failure reason returned by the processor in the local language of the processor." + }, + "rawResponse": { + "type": "string", + "maxLength": 255, + "description": "Failure reason returned by the processor." + }, "routing": { "type": "object", "properties": { @@ -103238,7 +104343,8 @@ "authorizedAmount": "100.00", "settlementAmount": "97.50", "settlementCurrency": "USD", - "surcharge": "1.11" + "surcharge": "1.11", + "refundBalance": "0.00" }, "shippingDetails": { "giftWrap": "none", @@ -103254,6 +104360,10 @@ "type": "Credit", "method": "method name" }, + "eWallet": { + "fundingSource": "CreditCard", + "name": "PAYCO" + }, "customer": { "customerId": "123" }, @@ -103440,6 +104550,13 @@ "processor": { "name": "paymentProcessor1234" }, + "responseDetails": "0000", + "rawResponseLocal": "\uc131\uacf5", + "rawResponse": "success", + "issuerInformation": { + "name": "\uad6d\ubbfc\uc740\ud589", + "code": "BK04" + }, "multiProcessorRouting": [ { "name": "paymentProcessor0123", @@ -106039,6 +107156,7 @@ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", + "Request.MerchantReferenceNumber", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", @@ -106458,6 +107576,7 @@ "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", + "Request.Quantity", "Sender.Address", "Sender.City", "Sender.Country", @@ -106471,6 +107590,30 @@ "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", + "StandardBilling.AcquirerMerchantID", + "StandardBilling.AmountSign", + "StandardBilling.CardAcceptorID", + "StandardBilling.CardScheme", + "StandardBilling.CardType", + "StandardBilling.ClientReference", + "StandardBilling.Count", + "StandardBilling.CurrencyCode", + "StandardBilling.DomesticOrInternationalIndicator", + "StandardBilling.ProductCode", + "StandardBilling.StatisticType", + "StandardBilling.TotalAmount", + "StandardBilling.TransactionDate", + "StandardMonthlyFee.AcquirerMerchantID", + "StandardMonthlyFee.ActualFee", + "StandardMonthlyFee.AmountSign", + "StandardMonthlyFee.ClientReference", + "StandardMonthlyFee.CurrencyCode", + "StandardMonthlyFee.FeeType", + "StandardMonthlyFee.OrganizationType", + "StandardMonthlyFee.ProductCode", + "StandardMonthlyFee.Quantity", + "StandardMonthlyFee.Tax", + "StandardMonthlyFee.TotalFee", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", @@ -107177,7 +108320,7 @@ "reportDefinitionId": { "type": "integer", "format": "int32", - "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n" + "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n| 630 | StandardBillingDataPackageClass |\n| 706 | StandardMonthlyFeeClass |\n" }, "reportDefintionName": { "type": "string" @@ -107743,6 +108886,7 @@ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", + "Request.MerchantReferenceNumber", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", @@ -108158,6 +109302,7 @@ "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", + "Request.Quantity", "Sender.Address", "Sender.City", "Sender.Country", @@ -108171,6 +109316,30 @@ "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", + "StandardBilling.AcquirerMerchantID", + "StandardBilling.AmountSign", + "StandardBilling.CardAcceptorID", + "StandardBilling.CardScheme", + "StandardBilling.CardType", + "StandardBilling.ClientReference", + "StandardBilling.Count", + "StandardBilling.CurrencyCode", + "StandardBilling.DomesticOrInternationalIndicator", + "StandardBilling.ProductCode", + "StandardBilling.StatisticType", + "StandardBilling.TotalAmount", + "StandardBilling.TransactionDate", + "StandardMonthlyFee.AcquirerMerchantID", + "StandardMonthlyFee.ActualFee", + "StandardMonthlyFee.AmountSign", + "StandardMonthlyFee.ClientReference", + "StandardMonthlyFee.CurrencyCode", + "StandardMonthlyFee.FeeType", + "StandardMonthlyFee.OrganizationType", + "StandardMonthlyFee.ProductCode", + "StandardMonthlyFee.Quantity", + "StandardMonthlyFee.Tax", + "StandardMonthlyFee.TotalFee", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", @@ -112603,6 +113772,21 @@ } } } + }, + "merchantDefinedFieldValues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "definitionId": { + "type": "integer", + "format": "int64" + }, + "value": { + "type": "string" + } + } + } } }, "example": { @@ -112667,7 +113851,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some value" + }, + { + "definitionId": 456, + "value": "Another value" + } + ] } } } @@ -113014,6 +114208,65 @@ } } } + }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } } }, "example": { @@ -113093,7 +114346,20 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValuesWithDefinition": [ + { + "id": 1515, + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + ] } } }, @@ -113340,7 +114606,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example1": { @@ -113388,7 +114664,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example2": { @@ -113450,7 +114736,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example3": { @@ -113498,7 +114794,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -114114,6 +115420,16 @@ "event": "CREATE", "date": "2019-06-18T21:51:18.76Z" } + ], + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some interesting Value" + }, + { + "definitionId": 456, + "value": "Another quirky value" + } ] }, "type": "object", @@ -114454,6 +115770,65 @@ } } }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + }, "invoiceHistory": { "type": "array", "items": { @@ -114899,6 +116274,21 @@ } } } + }, + "merchantDefinedFieldValues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "definitionId": { + "type": "integer", + "format": "int64" + }, + "value": { + "type": "string" + } + } + } } }, "example": { @@ -114955,7 +116345,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -115302,6 +116702,65 @@ } } } + }, + "merchantDefinedFieldValuesWithDefinition": { + "type": "array", + "items": { + "type": "object", + "properties": { + "referenceType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "readOnly": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "textDefaultValue": { + "type": "string" + }, + "possibleValues": { + "type": "string" + }, + "value": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "definitionId": { + "type": "integer" + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } } }, "example": { @@ -115387,6 +116846,19 @@ "taxRate": "0.0", "totalAmount": "247.86" } + ], + "merchantDefinedFieldValuesWithDefinition": [ + { + "id": 1515, + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } ] } } @@ -115580,7 +117052,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } }, "example1": { @@ -115620,7 +117102,17 @@ "taxable": false } } - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } } @@ -116091,7 +117583,17 @@ "totalAmount": "247.86" } ] - } + }, + "merchantDefinedFieldValues": [ + { + "definitionId": 123, + "value": "Some new Value" + }, + { + "definitionId": 456, + "value": "Another brand new value" + } + ] } } }, @@ -117647,333 +119149,17 @@ "hiddenForItem": true } ] - } - }, - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, - "invoiceSettingsInformation": { - "type": "object", - "properties": { - "merchantLogo": { - "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", - "type": "string", - "maxLength": 10000000 - }, - "merchantDisplayName": { - "description": "The merchant's display name shown on the invoice.", - "type": "string", - "maxLength": 100 - }, - "customEmailMessage": { - "description": "The content of the email message that we send to your customers.", - "type": "string", - "maxLength": 2000 - }, - "enableReminders": { - "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", - "type": "boolean" - }, - "headerStyle": { - "type": "object", - "properties": { - "fontColor": { - "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", - "type": "string", - "maxLength": 7, - "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" - }, - "backgroundColor": { - "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", - "type": "string", - "maxLength": 7, - "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" - } - } - }, - "deliveryLanguage": { - "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", - "type": "string", - "maxLength": 6 - }, - "defaultCurrencyCode": { - "type": "string", - "maxLength": 3, - "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor 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.\n\n#### PIN Debit\nCurrency 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).\nReturned by PIN debit purchase.\n\nFor 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.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" - }, - "payerAuthentication3DSVersion": { - "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", - "type": "boolean", - "default": false - }, - "showVatNumber": { - "description": "Display VAT number on Invoice.", - "type": "boolean", - "default": false - }, - "vatRegistrationNumber": { - "type": "string", - "maxLength": 21, - "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" - }, - "shipTo": { - "description": "Collect the payers shipping address.", - "type": "boolean", - "default": false - }, - "phoneNumber": { - "description": "Collect the payers phone number.", - "type": "boolean", - "default": false - }, - "email": { - "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.", - "type": "boolean", - "default": false - }, - "enableMerchantEmailNotifications": { - "description": "Whether you would like to receive payment notification for successful transaction", - "type": "boolean", - "default": false - }, - "customLabels": { - "description": "A list of custom labels that allows you to override (rename) default field names and control the visibility of specific fields on invoices and items. If the list is empty, the labels will not be overwritten.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "description": "The invoice field key. Possible values:\n - billTo\n - invoiceNumber\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n - discount\n - tax\n", - "type": "string" - }, - "value": { - "description": "The new (overridden) field name", - "type": "string", - "maxLength": 25 - }, - "hidden": { - "description": "Hides the specified field. This field is applicable for keys:\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n", - "type": "boolean", - "default": false - }, - "hiddenForInvoice": { - "description": "Hides the field at invoice level. This field is applicable for keys:\n - discount\n - tax\n", - "type": "boolean", - "default": false - }, - "hiddenForItem": { - "description": "Hides the field at invoice item level. This field is applicable for keys:\n - discount\n - tax\n", - "type": "boolean", - "default": false - } - } - } - } - } - } - } - } - }, - "400": { - "description": "Could not update the invoice settings for this merchant.", - "schema": { - "title": "invoicingV2InvoiceSettingsPut400Response", - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" - }, - "status": { - "type": "string", - "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" - }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n" - }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "field": { - "type": "string", - "description": "This is the flattened JSON object field name/path that is either missing or invalid." - }, - "reason": { - "type": "string", - "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" - } - } - } - } - }, - "example": { - "submitTimeUtc": "2019-07-01T21:40:10Z", - "status": "BADREQUEST", - "reason": "VALIDATION_ERROR", - "message": "Field validation errors.", - "details": [ - { - "field": "customerInformation.email", - "reason": "Invalid email" - } - ] - } - } - }, - "default": { - "description": "Unexpected error.", - "schema": { - "title": "invoicingV2InvoiceSettingsPut502Response", - "type": "object", - "properties": { - "submitTimeUtc": { - "type": "string", - "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" - }, - "status": { - "type": "string", - "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" - }, - "reason": { - "type": "string", - "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" - }, - "message": { - "type": "string", - "description": "The detail message related to the status and reason listed above." - } - }, - "example": { - "submitTimeUtc": "2018-06-12T09:27:20.000Z", - "status": "SERVER_ERROR", - "reason": "SERVER_ERROR", - "message": "Error - General system failure." - } - } - } - }, - "x-example": { - "example0": { - "summary": "UpdateInvoiceSettings", - "value": { - "invoiceSettingsInformation": { - "merchantLogo": "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", - "merchantDisplayName": "Custom Merchant Display Name", - "customEmailMessage": "Custom merchant email message", - "enableReminders": true, - "headerStyle": { - "fontColor": "#000001", - "backgroundColor": "#FFFFFF" - }, - "deliveryLanguage": "en-US", - "defaultCurrencyCode": "USD", - "payerAuthenticationInInvoicing": "enable", - "showVatNumber": false, - "vatRegistrationNumber": "Inv1234", - "shipTo": false, - "phoneNumber": false, - "email": false, - "enableMerchantEmailNotifications": false, - "customLabels": [ - { - "key": "billTo", - "value": "Payee name" - }, - { - "key": "companyName", - "hidden": true - }, - { - "key": "discount", - "value": "Promo", - "hiddenForItem": true - }, - { - "key": "tax", - "hiddenForInvoice": true, - "hiddenForItem": true + "merchantInformation": { + "name": "Pravalika (org)", + "phone": "415-832-3555", + "addressDetails": { + "address1": "123 Bellevue Ave ", + "address2": " Suite 800", + "city": "Bellevue", + "country": "dz", + "postalCode": "98103" } - ] - } - } - } - } - }, - "get": { - "tags": [ - "Invoice Settings" - ], - "summary": "Get Invoice Settings", - "description": "Allows you to retrieve the invoice settings for the payment page.", - "operationId": "getInvoiceSettings", - "x-devcenter-metaData": { - "categoryTag": "Invoicing", - "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" - }, - "consumes": [ - "application/json;charset=utf-8" - ], - "produces": [ - "application/json", - "application/hal+json", - "application/json;charset=utf-8", - "application/hal+json;charset=utf-8" - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "title": "invoicingV2InvoiceSettingsGet200Response", - "example": { - "submitTimeUtc": "2019-07-03T19:26:48Z", - "invoiceSettingsInformation": { - "merchantLogo": "data:image/png;base64,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", - "merchantDisplayName": "string", - "customEmailMessage": "string", - "enableReminders": true, - "headerStyle": { - "fontColor": "#000001", - "backgroundColor": "#FFFFFF" - }, - "deliveryLanguage": "en-US", - "defaultCurrencyCode": "USD", - "payerAuthentication3DSVersion": true, - "showVatNumber": false, - "vatRegistrationNumber": "Inv1234", - "shipTo": false, - "phoneNumber": false, - "email": false, - "enableMerchantEmailNotifications": false, - "customLabels": [ - { - "key": "billTo", - "value": "Payee name" - }, - { - "key": "companyName", - "hidden": true - }, - { - "key": "discount", - "value": "Promo", - "hiddenForItem": true - }, - { - "key": "tax", - "hiddenForInvoice": true, - "hiddenForItem": true - } - ] } }, "type": "object", @@ -118100,6 +119286,422 @@ } } } + }, + "merchantInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "phone": { + "type": "string" + }, + "addressDetails": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60 + }, + "address2": { + "type": "string", + "maxLength": 60 + }, + "city": { + "type": "string", + "maxLength": 50 + }, + "state": { + "type": "string" + }, + "country": { + "type": "string" + }, + "postalCode": { + "type": "string", + "maxLength": 10 + } + } + } + } + } + } + } + }, + "400": { + "description": "Could not update the invoice settings for this merchant.", + "schema": { + "title": "invoicingV2InvoiceSettingsPut400Response", + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "status": { + "type": "string", + "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n- DUPLICATE_RECORD\n- ACTION_NOT_ALLOWED\n- VALIDATION_ERRORS\n- INVALID_IMAGE\n- INVALID_TRANSIENT_TOKEN\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid." + }, + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" + } + } + } + } + }, + "example": { + "submitTimeUtc": "2019-07-01T21:40:10Z", + "status": "BADREQUEST", + "reason": "VALIDATION_ERROR", + "message": "Field validation errors.", + "details": [ + { + "field": "customerInformation.email", + "reason": "Invalid email" + } + ] + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "title": "invoicingV2InvoiceSettingsPut502Response", + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + } + }, + "example": { + "submitTimeUtc": "2018-06-12T09:27:20.000Z", + "status": "SERVER_ERROR", + "reason": "SERVER_ERROR", + "message": "Error - General system failure." + } + } + } + }, + "x-example": { + "example0": { + "summary": "UpdateInvoiceSettings", + "value": { + "invoiceSettingsInformation": { + "merchantLogo": "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", + "merchantDisplayName": "Custom Merchant Display Name", + "customEmailMessage": "Custom merchant email message", + "enableReminders": true, + "headerStyle": { + "fontColor": "#000001", + "backgroundColor": "#FFFFFF" + }, + "deliveryLanguage": "en-US", + "defaultCurrencyCode": "USD", + "payerAuthenticationInInvoicing": "enable", + "showVatNumber": false, + "vatRegistrationNumber": "Inv1234", + "shipTo": false, + "phoneNumber": false, + "email": false, + "enableMerchantEmailNotifications": false, + "customLabels": [ + { + "key": "billTo", + "value": "Payee name" + }, + { + "key": "companyName", + "hidden": true + }, + { + "key": "discount", + "value": "Promo", + "hiddenForItem": true + }, + { + "key": "tax", + "hiddenForInvoice": true, + "hiddenForItem": true + } + ] + } + } + } + } + }, + "get": { + "tags": [ + "Invoice Settings" + ], + "summary": "Get Invoice Settings", + "description": "Allows you to retrieve the invoice settings for the payment page.", + "operationId": "getInvoiceSettings", + "x-devcenter-metaData": { + "categoryTag": "Invoicing", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json", + "application/hal+json", + "application/json;charset=utf-8", + "application/hal+json;charset=utf-8" + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "title": "invoicingV2InvoiceSettingsGet200Response", + "example": { + "submitTimeUtc": "2019-07-03T19:26:48Z", + "invoiceSettingsInformation": { + "merchantLogo": "data:image/png;base64,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", + "merchantDisplayName": "string", + "customEmailMessage": "string", + "enableReminders": true, + "headerStyle": { + "fontColor": "#000001", + "backgroundColor": "#FFFFFF" + }, + "deliveryLanguage": "en-US", + "defaultCurrencyCode": "USD", + "payerAuthentication3DSVersion": true, + "showVatNumber": false, + "vatRegistrationNumber": "Inv1234", + "shipTo": false, + "phoneNumber": false, + "email": false, + "enableMerchantEmailNotifications": false, + "customLabels": [ + { + "key": "billTo", + "value": "Payee name" + }, + { + "key": "companyName", + "hidden": true + }, + { + "key": "discount", + "value": "Promo", + "hiddenForItem": true + }, + { + "key": "tax", + "hiddenForInvoice": true, + "hiddenForItem": true + } + ] + }, + "merchantInformation": { + "name": "Pravalika (org)", + "phone": "415-832-3555", + "addressDetails": { + "address1": "123 Bellevue Ave ", + "address2": " Suite 800", + "city": "Bellevue", + "country": "dz", + "postalCode": "98103" + } + } + }, + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" + }, + "invoiceSettingsInformation": { + "type": "object", + "properties": { + "merchantLogo": { + "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", + "type": "string", + "maxLength": 10000000 + }, + "merchantDisplayName": { + "description": "The merchant's display name shown on the invoice.", + "type": "string", + "maxLength": 100 + }, + "customEmailMessage": { + "description": "The content of the email message that we send to your customers.", + "type": "string", + "maxLength": 2000 + }, + "enableReminders": { + "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", + "type": "boolean" + }, + "headerStyle": { + "type": "object", + "properties": { + "fontColor": { + "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", + "type": "string", + "maxLength": 7, + "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" + }, + "backgroundColor": { + "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", + "type": "string", + "maxLength": 7, + "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" + } + } + }, + "deliveryLanguage": { + "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", + "type": "string", + "maxLength": 6 + }, + "defaultCurrencyCode": { + "type": "string", + "maxLength": 3, + "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor 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.\n\n#### PIN Debit\nCurrency 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).\nReturned by PIN debit purchase.\n\nFor 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.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency.\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" + }, + "payerAuthentication3DSVersion": { + "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", + "type": "boolean", + "default": false + }, + "showVatNumber": { + "description": "Display VAT number on Invoice.", + "type": "boolean", + "default": false + }, + "vatRegistrationNumber": { + "type": "string", + "maxLength": 21, + "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" + }, + "shipTo": { + "description": "Collect the payers shipping address.", + "type": "boolean", + "default": false + }, + "phoneNumber": { + "description": "Collect the payers phone number.", + "type": "boolean", + "default": false + }, + "email": { + "description": "Collect the payers email address when the email address is not known or confirm it if it is known at the time of invoice creation.", + "type": "boolean", + "default": false + }, + "enableMerchantEmailNotifications": { + "description": "Whether you would like to receive payment notification for successful transaction", + "type": "boolean", + "default": false + }, + "customLabels": { + "description": "A list of custom labels that allows you to override (rename) default field names and control the visibility of specific fields on invoices and items. If the list is empty, the labels will not be overwritten.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "description": "The invoice field key. Possible values:\n - billTo\n - invoiceNumber\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n - discount\n - tax\n", + "type": "string" + }, + "value": { + "description": "The new (overridden) field name", + "type": "string", + "maxLength": 25 + }, + "hidden": { + "description": "Hides the specified field. This field is applicable for keys:\n - customerId\n - companyName\n - description\n - shipping\n - partialPayment\n", + "type": "boolean", + "default": false + }, + "hiddenForInvoice": { + "description": "Hides the field at invoice level. This field is applicable for keys:\n - discount\n - tax\n", + "type": "boolean", + "default": false + }, + "hiddenForItem": { + "description": "Hides the field at invoice item level. This field is applicable for keys:\n - discount\n - tax\n", + "type": "boolean", + "default": false + } + } + } + } + } + }, + "merchantInformation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 100 + }, + "phone": { + "type": "string" + }, + "addressDetails": { + "type": "object", + "properties": { + "address1": { + "type": "string", + "maxLength": 60 + }, + "address2": { + "type": "string", + "maxLength": 60 + }, + "city": { + "type": "string", + "maxLength": 50 + }, + "state": { + "type": "string" + }, + "country": { + "type": "string" + }, + "postalCode": { + "type": "string", + "maxLength": 10 + } + } + } + } } } } @@ -118191,6 +119793,1015 @@ } } }, + "/invoicing/v2/{referenceType}/merchantDefinedFields": { + "get": { + "tags": [ + "Merchant Defined Fields" + ], + "summary": "Get all merchant defined fields for a given reference type", + "operationId": "getMerchantDefinedFieldsDefinitions", + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "referenceType", + "in": "path", + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ], + "description": "The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation", + "required": true + } + ], + "responses": { + "200": { + "description": "Get all merchant defined fields for a given reference type", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "404": { + "description": "Merchant defined fields not found", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + } + }, + "post": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Create merchant defined field for a given reference type", + "operationId": "createMerchantDefinedFieldDefinition", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "referenceType", + "in": "path", + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ], + "description": "The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation", + "required": true + }, + { + "name": "MerchantDefinedFieldDefinitionRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fieldType": { + "type": "string", + "description": "Possible values:\n- text\n- select" + }, + "label": { + "type": "string", + "maxLength": 100 + }, + "customerVisible": { + "type": "boolean", + "default": false + }, + "textMinLength": { + "type": "integer", + "default": 0, + "description": "Should be used only if fieldType = \"text\"" + }, + "textMaxLength": { + "type": "integer", + "default": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "textDefaultValue": { + "type": "string", + "maxLength": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "possibleValues": { + "type": "string", + "maxLength": 600, + "description": "Should be mandatory and used only if fieldType = \"select\"" + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "required": [ + "fieldType", + "label", + "merchantDefinedDataIndex" + ], + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + ], + "responses": { + "201": { + "description": "Create merchant defined field for a given reference type", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "400": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "409": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "412": { + "description": "Merchant has exceeded limit for type {referenceType}", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + }, + "x-example": { + "example0": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "/invoicing/v2/{referenceType}/merchantDefinedFields/{id}": { + "put": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Update a MerchantDefinedField by ID", + "parameters": [ + { + "in": "path", + "name": "referenceType", + "required": true, + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ] + }, + { + "in": "path", + "name": "id", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "name": "MerchantDefinedFieldCore", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "fieldType": { + "type": "string", + "description": "Possible values:\n- text\n- select" + }, + "label": { + "type": "string", + "maxLength": 100 + }, + "customerVisible": { + "type": "boolean", + "default": false + }, + "textMinLength": { + "type": "integer", + "default": 0, + "description": "Should be used only if fieldType = \"text\"" + }, + "textMaxLength": { + "type": "integer", + "default": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "textDefaultValue": { + "type": "string", + "maxLength": 100, + "description": "Should be used only if fieldType = \"text\"" + }, + "possibleValues": { + "type": "string", + "maxLength": 600, + "description": "Should be mandatory and used only if fieldType = \"select\"" + }, + "readOnly": { + "type": "boolean", + "default": false + }, + "merchantDefinedDataIndex": { + "type": "integer" + } + }, + "required": [ + "fieldType", + "label", + "merchantDefinedDataIndex" + ], + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + ], + "responses": { + "200": { + "description": "A list of MerchantDefinedField", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "fieldType": { + "type": "string" + }, + "label": { + "type": "string" + }, + "customerVisible": { + "type": "boolean" + }, + "textMinLength": { + "type": "integer", + "format": "int32" + }, + "textMaxLength": { + "type": "integer", + "format": "int32" + }, + "possibleValues": { + "type": "string" + }, + "textDefaultValue": { + "type": "string" + }, + "merchantId": { + "type": "string" + }, + "referenceType": { + "type": "string" + }, + "readOnly": { + "type": "boolean" + }, + "merchantDefinedDataIndex": { + "type": "integer", + "format": "int32" + } + }, + "example": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + } + }, + "400": { + "description": "Wrong referenceType in the path", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + }, + "409": { + "description": "MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned", + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "The time the response was submitted" + }, + "status": { + "type": "integer", + "description": "The status code of the response", + "format": "int32" + }, + "reason": { + "type": "string", + "description": "The reason for the response" + }, + "message": { + "type": "string", + "description": "The message of the response" + }, + "details": { + "description": "The details of the validation error", + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "The field that caused the validation error" + }, + "reason": { + "type": "string", + "description": "The reason for the validation error" + } + } + } + } + }, + "example": { + "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", + "status": 400, + "responseData": { + "submitTimeUtc": "2016-08-11T22:47:57.000Z", + "status": 400, + "reason": "MERCHANT_DEFINED_FIELD_ALREADY_UPDATED", + "message": "Merchant defined field already updated or does not exist", + "details": [ + { + "field": "customerVisible readOnly", + "reason": "For 'Select' field type 'Read only' must be false and 'Customer Visible' true" + }, + { + "field": "textMinLength", + "reason": "textMinLength is not allowed for field type Select" + }, + { + "field": "textMaxLength", + "reason": "textMaxLength is not allowed for field type Select" + }, + { + "field": "textDefaultValue", + "reason": "textDefaultValue is not allowed for field type Select" + }, + { + "field": "possibleValues", + "reason": "Possible values cannot be empty for Select field type" + }, + { + "field": "possibleValues", + "reason": "Possible value Best Dad in the world is too long" + }, + { + "field": "possibleValues", + "reason": "Possible values must contain at least two values" + }, + { + "field": "possibleValues", + "reason": "Possible values total length cannot exceed 4000 characters" + }, + { + "field": "possibleValues", + "reason": "Possible value cannot be empty" + } + ] + } + } + } + } + }, + "x-example": { + "example0": { + "fieldType": "Text", + "label": "Cup", + "customerVisible": "true", + "readOnly": "false", + "textMinLength": 1, + "textMaxLength": 100, + "textDefaultValue": "default text", + "merchantDefinedDataIndex": 15 + } + } + }, + "delete": { + "tags": [ + "merchantDefinedFields" + ], + "x-devcenter-metaData": { + "categoryTag": "Merchant_Defined_Fields" + }, + "summary": "Delete a MerchantDefinedField by ID", + "parameters": [ + { + "in": "path", + "name": "referenceType", + "required": true, + "type": "string", + "enum": [ + "Invoice", + "Purchase", + "Donation" + ] + }, + { + "in": "path", + "name": "id", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "204": { + "description": "MerchantDefinedField deleted" + } + } + } + }, "/ipl/v2/payment-links": { "post": { "tags": [ @@ -122619,8 +125230,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -122698,6 +125308,481 @@ } } }, + "acquirers": { + "type": "object", + "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", + "additionalProperties": { + "properties": { + "institutionId": { + "type": "string", + "description": "Identifier of the acquirer. This number is usually assigned by Visa." + }, + "interbankCardAssociationId": { + "type": "string", + "description": "Number assigned by MasterCard to banks to identify the member in transactions." + }, + "discoverInstitutionId": { + "type": "string", + "description": "Assigned by Discover to identify the acquirer." + }, + "countryCode": { + "type": "string", + "description": "ISO 4217 format." + }, + "fileDestinationBin": { + "type": "string", + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN." + }, + "merchantVerificationValue": { + "type": "string", + "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID)." + }, + "paymentTypes": { + "type": "object", + "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "VISA", + "MASTERCARD", + "AMERICAN_EXPRESS", + "DISCOVER", + "DINERS_CLUB", + "JCB", + "PIN_DEBIT" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" @@ -123822,11 +126907,6 @@ "properties": { "enabled": { "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, @@ -123874,6 +126954,991 @@ "type": "string", "description": "URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process.\nexample: http://www.test.com/failure\n" }, + "underwriting": { + "title": "underwritingConfiguration", + "type": "object", + "description": "Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation.\n", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "clientRequestId": { + "description": "client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request.\n", + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + }, + "applicationName": { + "type": "string", + "maxLength": 50, + "description": "The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. \n", + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + } + } + }, + "merchantApplication": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "applicationId": { + "type": "string", + "readOnly": true + }, + "applicationStatus": { + "type": "string", + "readOnly": true + }, + "products": { + "description": "The product(s) that are being underwritten", + "type": "array", + "items": { + "type": "object", + "required": [ + "productShortName" + ], + "properties": { + "productShortName": { + "description": "Product Name\n[PRODUCT1, PRODUCT2, PRODUCT3]\n", + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,30}$" + }, + "preferredAcquirer": { + "description": "Override Acquirer Value", + "type": "string", + "maxLength": 30, + "pattern": "^[a-zA-Z0-9-_]$" + }, + "status": { + "readOnly": true, + "description": "Product status\n[]\n", + "type": "string" + } + } + } + }, + "campaignId": { + "description": "Driver Campaign ID, identifies where the application came from", + "type": "string" + }, + "ocId": { + "description": "Offer CampaignID, used by Sales", + "type": "string" + }, + "resellerId": { + "description": "ResellerID, used by Sales", + "type": "string", + "maxLength": 128 + } + } + }, + "metadata": { + "type": "object" + }, + "metadataExternal": { + "type": "object" + }, + "organizationInformation": { + "type": "object", + "properties": { + "parentOrganizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Parent Organization ID for the application" + }, + "organizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Organization ID for the application" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "description": "Boarding Package ID for the application" + }, + "businessInformation": { + "type": "object", + "required": [ + "businessIdentifier", + "countryRegistration", + "legalName", + "doingBusinessAs", + "businessDescription", + "startDate", + "merchantCategoryCode", + "businessType", + "countryPhoneNumber", + "phoneNumber", + "email" + ], + "properties": { + "businessIdentifier": { + "type": "string", + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]*$", + "description": "Tax ID for the business" + }, + "countryRegistration": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is registered. Two character country code, ISO 3166-1 alpha-2." + }, + "legalName": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "description": "The legally registered name of the business" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "description": "The DBA of the business." + }, + "businessDescription": { + "type": "string", + "maxLength": 250, + "description": "Short description of the Business" + }, + "registrationNumber": { + "type": "string", + "maxLength": 60, + "description": "Registration ID for Enterprise Merchant" + }, + "stockExchange": { + "type": "string", + "maxLength": 60, + "description": "Which stock exchange is the company trading in?" + }, + "tickerSymbol": { + "type": "string", + "maxLength": 10, + "pattern": "^[a-zA-Z0-9_.]*$", + "description": "Stock Symbol on the exchange" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "description": "Industry standard Merchant Category Code (MCC)" + }, + "mccDescription": { + "type": "string", + "maxLength": 128, + "description": "MCC Description" + }, + "websiteURL": { + "type": "string", + "maxLength": 100, + "description": "Website for the Business" + }, + "businessType": { + "type": "string", + "description": "Business type \nPossible values:\n- PARTNERSHIP\n- SOLE_PROPRIETORSHIP\n- CORPORATION\n- LLC\n- NON_PROFIT\n- TRUST" + }, + "localMCC": { + "type": "array", + "items": { + "type": "string" + } + }, + "countryPhoneNumber": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Business Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Business Email Address" + }, + "whatYourCompanyDoes": { + "type": "string", + "maxLength": 500, + "description": "What your company does and how you market your service" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "tradingAddress": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "businessContact": { + "type": "object", + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person First Name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Middle Name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Last Name" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Contact Person Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Contact Persona Email" + } + } + }, + "businessDetails": { + "type": "object", + "required": [ + "interactionTypes", + "percentageSplitByF2F", + "percentageSplitByCNP", + "whenIsCustomerCharged", + "offerSubscriptions" + ], + "properties": { + "customerType": { + "type": "string", + "description": "Who is the business interacting with? Business to Business, Business to Consumer, Both \nPossible values:\n- B2B\n- B2C\n- Both" + }, + "percentageSplitByB2B": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByB2C": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "interactionTypes": { + "type": "string", + "description": "Merchant Facing: Face to Face, Card Not Present, Both \nPossible values:\n- F2F\n- CNP\n- Both" + }, + "percentageSplitByF2F": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByCNP": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "whenIsCustomerCharged": { + "type": "string", + "description": "When is the customer charged? \nPossible values:\n- OneTimeBeforeServiceDelivery\n- OneTimeAfterServiceDelivery\n- Other" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 30 + }, + "offerSubscriptions": { + "type": "boolean", + "description": "Does Merchant Offer Subscriptions?" + }, + "monthlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is monthly subscriptions" + }, + "quarterlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is quarterly subscriptions" + }, + "semiannualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is semi-annual subscriptions" + }, + "annualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is annual subscriptions" + }, + "currencyType": { + "type": "string", + "description": "Processing Currency. ISO 4217, 3 characters. \nPossible values:\n- USD\n- CAD\n- EUR\n- GBP\n- CHF" + }, + "estimatedMonthlySales": { + "type": "number", + "description": "Merchant's estimated monthly sales" + }, + "averageOrderAmount": { + "type": "number", + "description": "Merchant's average order amount" + }, + "largestExpectedOrderAmount": { + "type": "number", + "description": "Merchant's largest expected order amount" + }, + "primaryAccountUsage": { + "type": "string", + "description": "Primary purpose of account usage \nPossible values:\n- Paying for goods / services\n- Repatriating overseas earnings\n- Intercompany transfers\n- Collecting funds from clients\n- Liquidity / FX\n- Payment to an individual\n- Investment activity\n- Property purchase/sale\n- Other" + }, + "sourceOfFunds": { + "type": "string", + "description": "Source of Funds \nPossible values:\n- Business revenue\n- External or shareholder investment\n- Loan, advance or other borrowing\n- Donations or grants\n- Inter-company transfers\n- Proceeds of sales of assests\n- Other" + }, + "receiveMoney3rdParties": { + "type": "boolean", + "description": "Will you recieve money from 3rd parties into your account?" + }, + "receiveTransactionFrequency": { + "type": "string", + "description": "Roughly how often do you expect to send or receive transactions? \nPossible values:\n- One-off or infrequently\n- 1-20 per month\n- 20-50 per month\n- 50-100 per month\n- 100+ per month" + }, + "estimatedMonthlySpend": { + "type": "string", + "description": "What is your estimated total monthly spend? \nPossible values:\n- <$10,000\n- $10,000 - $50,000\n- $50,000 - $100,000\n- $100,000 - $500,000\n- $500,000+" + }, + "countryTransactions": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesIn": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesOut": { + "type": "array", + "items": { + "type": "string" + } + }, + "productServicesSubscription": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productServiceName": { + "type": "string", + "maxLength": 255, + "description": "Name of the product, service, or subscription." + }, + "productServicePercentage": { + "type": "number", + "minimum": 0, + "maximum": 100, + "description": "Percentage of business revenue from this product or service." + } + } + } + } + } + }, + "ownerInformation": { + "type": "array", + "items": { + "type": "object", + "required": [ + "firstName", + "lastName", + "birthDate", + "isPrimary", + "hasSignificantResponsibility", + "nationalId", + "ownershipPercentage", + "nationality", + "dueDiligenceRequired", + "phoneNumberCountryCode", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Owner's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Owner's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Owner's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "isPrimary": { + "type": "boolean", + "description": "Primary Owner or Non-Primary Owner" + }, + "hasSignificantResponsibility": { + "type": "boolean", + "description": "If not an owner, is the user a Control Person" + }, + "ownerDirector": { + "type": "boolean", + "description": "Is the owner a Director as well?" + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "passportCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Passport Country. Two character country code, ISO 3166-1 alpha-2." + }, + "jobTitle": { + "type": "string", + "maxLength": 100, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Owner's Job Title" + }, + "ownershipPercentage": { + "type": "number", + "minimum": 1, + "maximum": 100, + "description": "Percentage of the company that owner owns" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "dueDiligenceRequired": { + "type": "boolean", + "description": "Indicates if due diligence checks should be run for this owner" + }, + "phoneNumberCountryCode": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Phone number country. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Owner" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the owner resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Owner's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "description": "Owner's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Owner's zip code (US) or postal code (Canada)" + } + } + } + } + } + }, + "directorInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Director's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Director's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Director's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Director" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the Director resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Director's zip code (US) or postal code (Canada)" + } + } + } + } + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP Address of the user that filled in the Merchant Application", + "type": "string" + }, + "fingerprintSessionId": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + }, + "userAgent": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + } + } + }, + "depositInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the Bank Account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 15, + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 17, + "example": 111111111111110 + } + } + }, + "billingInformation": { + "type": "object", + "properties": { + "bankAccountInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the checking account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "maxLength": 15, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "maxLength": 17, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111110 + } + } + } + } + }, + "saleRepresentativeInformation": { + "type": "object", + "required": [ + "salesRepId", + "salesRepFirstName", + "salesRepLastName", + "salesRepEmail", + "salesRepNumericPhoneNumberCountryCode", + "salesRepPhoneNumber" + ], + "properties": { + "salesRepId": { + "description": "Sales rep Identifier", + "type": "string", + "maxLength": 60 + }, + "salesRepFirstName": { + "description": "Sales rep First Name", + "type": "string", + "maxLength": 50, + "example": "John" + }, + "salesRepLastName": { + "description": "Sales Rep Last Name", + "type": "string", + "maxLength": 50, + "example": "Johnson" + }, + "salesRepEmail": { + "description": "Sales Rep eMail", + "type": "string", + "maxLength": 100, + "example": "test@test.com" + }, + "salesRepNumericPhoneNumberCountryCode": { + "description": "Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "example": "US" + }, + "salesRepPhoneNumber": { + "description": "Sales Rep Phone", + "type": "string", + "maxLength": 20, + "example": 4567890398 + } + } + }, + "fileAttachmentInformation": { + "type": "object", + "properties": { + "fileGroupId": { + "description": "The unique identifier for the file group", + "type": "string" + } + } + } + } + }, "additionalConfigurations": { "type": "array", "maxItems": 10, @@ -123925,8 +127990,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -123986,8 +128050,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -124293,8 +128356,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -124731,8 +128793,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125059,8 +129120,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125520,8 +129580,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -125647,148 +129706,238 @@ "configurations": { "type": "object", "properties": { - "pullfunds": { + "common": { "type": "object", - "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "acquiringBIN", - "cardAcceptorId", - "cardTerminalId" - ], - "properties": { - "acquirerOrganizationId": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." - }, - "acquiringBIN": { - "type": "integer", - "minLength": 6, - "maxLength": 11, - "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "cardAcceptorId": { - "type": "string", - "minLength": 1, - "maxLength": 15, - "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." - }, - "originatorMvv": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." - }, - "originatorNameAbbreviation": { + "properties": { + "paymentTypes": { + "type": "array", + "description": "List of card types supported by this merchant.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 4, - "description": "A 4 character max name abbreviation for the originator." - }, - "cardTerminalId": { + "maxLength": 30, + "description": "Possible values:\n- VISA\n- MASTERCARD" + } + }, + "businessApplicationId": { + "type": "array", + "description": "List of supported Business Application Indicators.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 8, - "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + "maxLength": 30, + "description": "Possible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" + } + }, + "aggregator": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 11, + "description": "Marketplace or payment facilitator ID." + }, + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 25, + "description": "Acceptor's legal business name associated with the card acceptor identification code." + }, + "subMerchantId": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 15, + "description": "Sub-merchant ID" + } } } } }, - "pushfunds": { + "processors": { "type": "object", "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "originatorBusinessApplicationId", - "acquirerCountryCode", - "acquiringBIN", - "processorAccount" - ], - "properties": { - "acquirerCountryCode": { - "type": "integer", - "maxLength": 3, - "description": "TBD" - }, - "acquiringBIN": { - "type": "integer", - "maxLength": 11, - "description": "TBD" - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "financialInstitutionId": { - "type": "string", - "minLength": 4, - "maxLength": 4, - "description": "TBD" - }, - "networkOrder": { - "type": "string", - "maxLength": 30, - "description": "TBD" - }, - "nationalReimbursementFee": { - "type": "string", - "maxLength": 1, - "description": "TBD" - }, - "originatorBusinessApplicationId": { - "type": "string", - "maxLength": 3, - "description": "TBD" - }, - "originatorPseudoAbaNumber": { - "type": "string", - "maxLength": 9, - "description": "TBD" - }, - "processorAccount": { - "type": "array", - "items": { - "required": [ - "originatorMerchantId", - "originatorTerminalId" - ], - "type": "object", - "properties": { - "originatorMerchantId": { - "type": "string", - "maxLength": 15, - "description": "TBD" - }, - "originatorTerminalId": { - "type": "array", - "description": "TBD", - "items": { + "description": "string [1 .. 40] characters\n\nThe name of the Payouts processor.\n", + "pattern": "^[A-Za-z0-9]+$", + "allOf": [ + { + "type": "object", + "properties": { + "acquirer": { + "type": "object", + "properties": { + "acquiringId": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 6, + "maxLength": 11, + "description": "This code identifies the financial institution acting as the acquirer.\n\nAlso known as:\n\n- Acquiring BIN\n- Acquiring Institution Identification Code\n" + }, + "country": { "type": "string", - "maxLength": 8 + "description": "The acquirer's [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country code. \nPossible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } - }, - "supportedCurrencies": { - "type": "array", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", - "items": { + } + }, + "currencies": { + "type": "array", + "description": "List of supported [ISO 4217](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html) alpha-3 currency codes.", + "items": { + "type": "string", + "minLength": 3, + "maxLength": 3, + "description": "Possible values:\n- USD\n- AED\n- AFN\n- ALL\n- AMD\n- ANG\n- AOA\n- ARS\n- AUD\n- AWG\n- AZN\n- BAM\n- BBD\n- BDT\n- BGN\n- BHD\n- BIF\n- BMD\n- BND\n- BOB\n- BOX\n- BRL\n- BSD\n- BTN\n- BWP\n- BYR\n- BYN\n- BZD\n- CAD\n- CDF\n- CHF\n- CLF\n- CLP\n- CNY\n- COP\n- COU\n- CRC\n- CSK\n- CUC\n- CUP\n- CVE\n- CZK\n- DJF\n- DFF\n- DOP\n- DZD\n- EGP\n- ERN\n- ETB\n- EUR\n- FJD\n- FKP\n- GBP\n- GEL\n- GHS\n- GIP\n- GMD\n- GNF\n- GTQ\n- GWP\n- GYD\n- HKD\n- HNL\n- HTG\n- HUF\n- IDR\n- ILS\n- INR\n- IQD\n- IRR\n- ISK\n- HMD\n- JOD\n- JPY\n- KES\n- KGS\n- KHR\n- KMF\n- KPW\n- KRW\n- KWD\n- KYD\n- KZT\n- LAK\n- LBP\n- LRD\n- LSL\n- LTV\n- LVL\n- LYD\n- MAD\n- MDL\n- MGA\n- MKD\n- MMK\n- MNT\n- MOP\n- MRO\n- MUR\n- MVR\n- MWK\n- MXN\n- MYR\n- MZN\n- NAD\n- NGN\n- NIO\n- NOK\n- NPR\n- NZD\n- OMR\n- PAB\n- PEN\n- PGK\n- PHP\n- PKR\n- PLN\n- PYG\n- QAR\n- RON\n- RSD\n- RUB\n- RWF\n- SAR\n- SBD\n- SCR\n- SDG\n- SHP\n- SLE\n- SOS\n- SRD\n- SSP\n- STD\n- SVC\n- SYP\n- SZL\n- THB\n- TJS\n- TMT\n- TND\n- TOP\n- TRY\n- TTD\n- TWD\n- TZS\n- UAH\n- UGX\n- UYU\n- VEF\n- VND\n- VUV\n- WST\n- XAF\n- XCD\n- XOF\n- XPF\n- YER\n- ZAR\n- ZMK\n- ZMW\n- ZWD\n- ZWL" + } + }, + "countries": { + "type": "array", + "description": "List of [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country codes", + "items": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "description": "Possible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" + } + }, + "merchantId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 15, + "description": "A unique identifier value assigned by Visa for each merchant included in the identification program." + }, + "terminalId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 8, + "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + }, + "businessCategoryValidation": { + "type": "boolean", + "description": "Default: false\n\nOverride Business Application Indicator and Merchant Category Code validations for payout transaction types.\n" + }, + "payoutsTransactionTypes": { + "type": "array", + "description": "The supported Payouts transaction types for the processor.\n", + "items": { + "type": "string", + "minLength": 19, + "maxLength": 20, + "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" + } + }, + "merchantPseudoAbaNumber": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 9, + "maxLength": 9, + "description": "This is a number that uniquely identifies the merchant for PPGS transactions.\n" + } + } + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "feeProgramId": { "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 3, "maxLength": 3, - "minLength": 3 + "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n\nThis field can be regarded as informational only in all authorization messages.\n" + }, + "cpsAuthorizationCharacteristicsId": { + "type": "string", + "pattern": "^[A-Za-z]+$", + "minLength": 1, + "maxLength": 1, + "description": "The Authorization Characteristics Indicator (ACI) is a code used by the acquirer to request CPS qualification. If applicable, Visa changes the code to reflect the results of its CPS evaluation." + }, + "nationalReimbursementFee": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 12, + "description": "A client-supplied interchange amount." + }, + "settlementServiceId": { + "type": "string", + "description": "This flag enables the merchant to request for a particular settlement service to be used for settling the transaction. \nNote: The default value is VIP. This field is only relevant for specific countries where the acquirer has to select National Settlement in order to settle in the national net settlement service.change\n \nPossible values:\n- INTERNATIONAL_SETTLEMENT\n- VIP_TO_DECIDE\n- NATIONAL_SETTLEMENT" + }, + "sharingGroupCode": { + "type": "string", + "minLength": 6, + "maxLength": 16, + "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities. \nPossible values:\n- ACCEL_EXCHANGE_E\n- CU24_C\n- INTERLINK_G\n- MAESTRO_8\n- NYCE_Y\n- NYCE_F\n- PULSE_S\n- PULSE_L\n- PULSE_H\n- STAR_N\n- STAR_W\n- STAR_Z\n- STAR_Q\n- STAR_M\n- VISA_V" + }, + "allowCryptoCurrencyPurchase": { + "type": "boolean", + "description": "This field allows a merchant to send a flag that specifies whether the payment is for the purchase of cryptocurrency." + }, + "merchantMvv": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 10, + "maxLength": 10, + "description": "Merchant Verification Value (MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." + }, + "electronicCommerceId": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "This code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet). \nPossible values:\n- INTERNET\n- RECURRING\n- RECURRING_INTERNET\n- VBV_FAILURE\n- VBV_ATTEMPTED\n- VBV\n- SPA_FAILURE\n- SPA_ATTEMPTED\n- SPA" } } } - }, - "description": "TBD" + ] + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 22, + "maxLength": 22, + "description": "The merchant statement descriptor. The statement descriptor is a string which will be displayed on the recipient's bank or card statement." + } + } + }, + "operatingEnvironment": { + "type": "string", + "minLength": 1, + "maxLength": 22, + "description": "Initiation channel of the transfer request. \n \nPossible values:\n- WEB\n- MOBILE\n- BANK\n- KIOSK" + }, + "interchangeRateDesignator": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 2, + "maxLength": 2, + "description": "The IRD used for clearing the transaction on the Mastercard network." + }, + "participationId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 30, + "maxLength": 30, + "description": "Participation identifier of the sender. The receiving financial institution will associate the value to the transfer." + } + } + } + ] } - } + ] } } } @@ -126063,8 +130212,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -126090,8 +130238,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -126331,8 +130478,7 @@ "type": "object", "properties": { "profileId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -126366,8 +130512,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -126701,8 +130846,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -127082,7 +131226,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127209,7 +131352,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127298,7 +131440,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127387,7 +131528,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127519,7 +131659,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127608,7 +131747,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127697,7 +131835,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127872,7 +132009,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -127961,7 +132097,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128093,7 +132228,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128311,7 +132445,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128405,7 +132538,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128494,7 +132626,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128588,7 +132719,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128677,7 +132807,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -128766,7 +132895,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -131528,8 +135656,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -131607,6 +135734,481 @@ } } }, + "acquirers": { + "type": "object", + "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", + "additionalProperties": { + "properties": { + "institutionId": { + "type": "string", + "description": "Identifier of the acquirer. This number is usually assigned by Visa." + }, + "interbankCardAssociationId": { + "type": "string", + "description": "Number assigned by MasterCard to banks to identify the member in transactions." + }, + "discoverInstitutionId": { + "type": "string", + "description": "Assigned by Discover to identify the acquirer." + }, + "countryCode": { + "type": "string", + "description": "ISO 4217 format." + }, + "fileDestinationBin": { + "type": "string", + "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN." + }, + "merchantVerificationValue": { + "type": "string", + "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "allowMultipleBills": { + "type": "boolean", + "description": "Allows multiple captures for a single authorization transaction.\n" + }, + "enableTransactionReferenceNumber": { + "type": "boolean", + "description": "To enable merchant to send in transaction reference number (unique reconciliation ID)." + }, + "paymentTypes": { + "type": "object", + "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "VISA", + "MASTERCARD", + "AMERICAN_EXPRESS", + "DISCOVER", + "DINERS_CLUB", + "JCB", + "PIN_DEBIT" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, + "currencies": { + "type": "object", + "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", + "additionalProperties": { + "x-devcenter-additional-properties": [ + "USD", + "CAD", + "GBP", + "EUR", + "CHF", + "NGN", + "ETB", + "CUP", + "AZN", + "RWF", + "DOP", + "GMD", + "BBD", + "GTG", + "NPR", + "SHP", + "BZD", + "JMP", + "PHP", + "BRL", + "TZS", + "BAM", + "ISK", + "KWD", + "RON", + "ARS", + "SBD", + "NOK", + "KRW", + "TJS", + "JOD", + "MOP", + "CLP", + "SOS", + "MGA", + "LVL", + "GIP", + "PYG", + "SAR", + "PGK", + "SGD", + "ROL", + "BSD", + "TRY", + "CDF", + "SYP", + "BMD", + "MRO", + "WST", + "GHS", + "BTN", + "HNL", + "MAD", + "GAR", + "SRD", + "BDT", + "KGS", + "GNF", + "CNY", + "JPY", + "LYD", + "TTD", + "CVE", + "SZL", + "ZMW", + "KPW", + "PEN", + "YER", + "VEB", + "KHR", + "VEF", + "VUV", + "SLL", + "AFN", + "SCR", + "BOB", + "COP", + "LTL", + "EGP", + "HUF", + "RSD", + "AOA", + "MYR", + "MTL", + "CYP", + "FKP", + "GYD", + "PLN", + "KMF", + "SGD", + "IQD", + "DKK", + "KES", + "UZS", + "TMM", + "NZD", + "LKR", + "EEK", + "SKK", + "ANG", + "INR", + "UYU", + "LSL", + "TND", + "STD", + "HTG", + "VND", + "AED", + "MZN", + "BND", + "KZT", + "PKR", + "XCD", + "RUB", + "MKD", + "BWP", + "AWG", + "GEL", + "MDL", + "HKD", + "MVR", + "amd", + "IRR", + "NAD", + "MWK", + "MNT", + "CRC", + "XPF", + "LAK", + "HRK", + "ALL", + "TOP", + "BIF", + "MUR", + "PAB", + "FJD", + "CZK", + "ZWD", + "KYD", + "IDR", + "BGN", + "MXN", + "UGX", + "MMK", + "UAH", + "DZD", + "XAF", + "THB", + "OMR", + "XOF", + "AUD", + "ZAR", + "LBP", + "NIO", + "DJF", + "LRD", + "TWD", + "ERN", + "BHD", + "ILS", + "SEK", + "BYR" + ], + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "enabledCardPresent": { + "type": "boolean", + "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." + }, + "enabledCardNotPresent": { + "type": "boolean", + "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." + }, + "merchantId": { + "type": "string", + "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." + }, + "terminalId": { + "type": "string", + "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" + }, + "terminalIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Applicable for Prisma (prisma) processor." + }, + "serviceEnablementNumber": { + "type": "string", + "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" + } + } + } + } + } + } + }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" @@ -132731,11 +137333,6 @@ "properties": { "enabled": { "type": "boolean" - }, - "selfServiceability": { - "type": "string", - "default": "NOT_SELF_SERVICEABLE", - "description": "Indicates if the organization can enable this product using self service. \nPossible values:\n- SELF_SERVICEABLE\n- NOT_SELF_SERVICEABLE\n- SELF_SERVICE_ONLY" } } }, @@ -132783,6 +137380,991 @@ "type": "string", "description": "URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process.\nexample: http://www.test.com/failure\n" }, + "underwriting": { + "title": "underwritingConfiguration", + "type": "object", + "description": "Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation.\n", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "clientRequestId": { + "description": "client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request.\n", + "type": "string", + "maxLength": 50, + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + }, + "applicationName": { + "type": "string", + "maxLength": 50, + "description": "The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. \n", + "minLength": 1, + "pattern": "^[0-9a-zA-Z_]+$", + "example": "merch-test1" + } + } + }, + "merchantApplication": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "applicationId": { + "type": "string", + "readOnly": true + }, + "applicationStatus": { + "type": "string", + "readOnly": true + }, + "products": { + "description": "The product(s) that are being underwritten", + "type": "array", + "items": { + "type": "object", + "required": [ + "productShortName" + ], + "properties": { + "productShortName": { + "description": "Product Name\n[PRODUCT1, PRODUCT2, PRODUCT3]\n", + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,30}$" + }, + "preferredAcquirer": { + "description": "Override Acquirer Value", + "type": "string", + "maxLength": 30, + "pattern": "^[a-zA-Z0-9-_]$" + }, + "status": { + "readOnly": true, + "description": "Product status\n[]\n", + "type": "string" + } + } + } + }, + "campaignId": { + "description": "Driver Campaign ID, identifies where the application came from", + "type": "string" + }, + "ocId": { + "description": "Offer CampaignID, used by Sales", + "type": "string" + }, + "resellerId": { + "description": "ResellerID, used by Sales", + "type": "string", + "maxLength": 128 + } + } + }, + "metadata": { + "type": "object" + }, + "metadataExternal": { + "type": "object" + }, + "organizationInformation": { + "type": "object", + "properties": { + "parentOrganizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Parent Organization ID for the application" + }, + "organizationId": { + "type": "string", + "minLength": 6, + "maxLength": 30, + "pattern": "^[0-9a-zA-Z_]+$", + "description": "Organization ID for the application" + }, + "boardingPackageId": { + "type": "string", + "maxLength": 60, + "description": "Boarding Package ID for the application" + }, + "businessInformation": { + "type": "object", + "required": [ + "businessIdentifier", + "countryRegistration", + "legalName", + "doingBusinessAs", + "businessDescription", + "startDate", + "merchantCategoryCode", + "businessType", + "countryPhoneNumber", + "phoneNumber", + "email" + ], + "properties": { + "businessIdentifier": { + "type": "string", + "maxLength": 20, + "pattern": "^[a-zA-Z0-9]*$", + "description": "Tax ID for the business" + }, + "countryRegistration": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is registered. Two character country code, ISO 3166-1 alpha-2." + }, + "legalName": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "description": "The legally registered name of the business" + }, + "doingBusinessAs": { + "type": "string", + "maxLength": 60, + "description": "The DBA of the business." + }, + "businessDescription": { + "type": "string", + "maxLength": 250, + "description": "Short description of the Business" + }, + "registrationNumber": { + "type": "string", + "maxLength": 60, + "description": "Registration ID for Enterprise Merchant" + }, + "stockExchange": { + "type": "string", + "maxLength": 60, + "description": "Which stock exchange is the company trading in?" + }, + "tickerSymbol": { + "type": "string", + "maxLength": 10, + "pattern": "^[a-zA-Z0-9_.]*$", + "description": "Stock Symbol on the exchange" + }, + "startDate": { + "type": "string", + "format": "date", + "description": "When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "merchantCategoryCode": { + "type": "string", + "maxLength": 4, + "pattern": "^\\d{3,4}$", + "description": "Industry standard Merchant Category Code (MCC)" + }, + "mccDescription": { + "type": "string", + "maxLength": 128, + "description": "MCC Description" + }, + "websiteURL": { + "type": "string", + "maxLength": 100, + "description": "Website for the Business" + }, + "businessType": { + "type": "string", + "description": "Business type \nPossible values:\n- PARTNERSHIP\n- SOLE_PROPRIETORSHIP\n- CORPORATION\n- LLC\n- NON_PROFIT\n- TRUST" + }, + "localMCC": { + "type": "array", + "items": { + "type": "string" + } + }, + "countryPhoneNumber": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Business Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Business Email Address" + }, + "whatYourCompanyDoes": { + "type": "string", + "maxLength": 500, + "description": "What your company does and how you market your service" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "tradingAddress": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the business is located. Two character country code, ISO 3166-1 alpha-2." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address" + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Business street address continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "City of the billing address" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Business state (US) or province (Canada, others). Required for US and Canada." + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada." + } + } + }, + "businessContact": { + "type": "object", + "required": [ + "firstName", + "lastName", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person First Name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Middle Name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Contact Person Last Name" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Contact Person Phone Number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Contact Persona Email" + } + } + }, + "businessDetails": { + "type": "object", + "required": [ + "interactionTypes", + "percentageSplitByF2F", + "percentageSplitByCNP", + "whenIsCustomerCharged", + "offerSubscriptions" + ], + "properties": { + "customerType": { + "type": "string", + "description": "Who is the business interacting with? Business to Business, Business to Consumer, Both \nPossible values:\n- B2B\n- B2C\n- Both" + }, + "percentageSplitByB2B": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByB2C": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "interactionTypes": { + "type": "string", + "description": "Merchant Facing: Face to Face, Card Not Present, Both \nPossible values:\n- F2F\n- CNP\n- Both" + }, + "percentageSplitByF2F": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "percentageSplitByCNP": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% Split" + }, + "whenIsCustomerCharged": { + "type": "string", + "description": "When is the customer charged? \nPossible values:\n- OneTimeBeforeServiceDelivery\n- OneTimeAfterServiceDelivery\n- Other" + }, + "whenIsCustomerChargedDescription": { + "type": "string", + "maxLength": 30 + }, + "offerSubscriptions": { + "type": "boolean", + "description": "Does Merchant Offer Subscriptions?" + }, + "monthlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is monthly subscriptions" + }, + "quarterlySubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is quarterly subscriptions" + }, + "semiannualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is semi-annual subscriptions" + }, + "annualSubscriptionPercent": { + "type": "number", + "minimum": 0, + "maximum": 100, + "default": 0, + "description": "% of business is annual subscriptions" + }, + "currencyType": { + "type": "string", + "description": "Processing Currency. ISO 4217, 3 characters. \nPossible values:\n- USD\n- CAD\n- EUR\n- GBP\n- CHF" + }, + "estimatedMonthlySales": { + "type": "number", + "description": "Merchant's estimated monthly sales" + }, + "averageOrderAmount": { + "type": "number", + "description": "Merchant's average order amount" + }, + "largestExpectedOrderAmount": { + "type": "number", + "description": "Merchant's largest expected order amount" + }, + "primaryAccountUsage": { + "type": "string", + "description": "Primary purpose of account usage \nPossible values:\n- Paying for goods / services\n- Repatriating overseas earnings\n- Intercompany transfers\n- Collecting funds from clients\n- Liquidity / FX\n- Payment to an individual\n- Investment activity\n- Property purchase/sale\n- Other" + }, + "sourceOfFunds": { + "type": "string", + "description": "Source of Funds \nPossible values:\n- Business revenue\n- External or shareholder investment\n- Loan, advance or other borrowing\n- Donations or grants\n- Inter-company transfers\n- Proceeds of sales of assests\n- Other" + }, + "receiveMoney3rdParties": { + "type": "boolean", + "description": "Will you recieve money from 3rd parties into your account?" + }, + "receiveTransactionFrequency": { + "type": "string", + "description": "Roughly how often do you expect to send or receive transactions? \nPossible values:\n- One-off or infrequently\n- 1-20 per month\n- 20-50 per month\n- 50-100 per month\n- 100+ per month" + }, + "estimatedMonthlySpend": { + "type": "string", + "description": "What is your estimated total monthly spend? \nPossible values:\n- <$10,000\n- $10,000 - $50,000\n- $50,000 - $100,000\n- $100,000 - $500,000\n- $500,000+" + }, + "countryTransactions": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesIn": { + "type": "array", + "items": { + "type": "string" + } + }, + "currenciesOut": { + "type": "array", + "items": { + "type": "string" + } + }, + "productServicesSubscription": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productServiceName": { + "type": "string", + "maxLength": 255, + "description": "Name of the product, service, or subscription." + }, + "productServicePercentage": { + "type": "number", + "minimum": 0, + "maximum": 100, + "description": "Percentage of business revenue from this product or service." + } + } + } + } + } + }, + "ownerInformation": { + "type": "array", + "items": { + "type": "object", + "required": [ + "firstName", + "lastName", + "birthDate", + "isPrimary", + "hasSignificantResponsibility", + "nationalId", + "ownershipPercentage", + "nationality", + "dueDiligenceRequired", + "phoneNumberCountryCode", + "phoneNumber", + "email" + ], + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Owner's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Owner's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Owner's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "isPrimary": { + "type": "boolean", + "description": "Primary Owner or Non-Primary Owner" + }, + "hasSignificantResponsibility": { + "type": "boolean", + "description": "If not an owner, is the user a Control Person" + }, + "ownerDirector": { + "type": "boolean", + "description": "Is the owner a Director as well?" + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "passportCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Passport Country. Two character country code, ISO 3166-1 alpha-2." + }, + "jobTitle": { + "type": "string", + "maxLength": 100, + "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", + "description": "Owner's Job Title" + }, + "ownershipPercentage": { + "type": "number", + "minimum": 1, + "maximum": 100, + "description": "Percentage of the company that owner owns" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "dueDiligenceRequired": { + "type": "boolean", + "description": "Indicates if due diligence checks should be run for this owner" + }, + "phoneNumberCountryCode": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Phone number country. Two character country code, ISO 3166-1 alpha-2." + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Owner" + }, + "address": { + "type": "object", + "required": [ + "country", + "address1", + "locality", + "administrativeArea", + "postalCode" + ], + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the owner resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Owner's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Owner's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "description": "Owner's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Owner's zip code (US) or postal code (Canada)" + } + } + } + } + } + }, + "directorInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "firstName": { + "type": "string", + "maxLength": 50, + "description": "Director's first name" + }, + "middleName": { + "type": "string", + "maxLength": 50, + "description": "Director's middle name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Director's last name" + }, + "birthDate": { + "type": "string", + "format": "date", + "description": "Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016" + }, + "email": { + "type": "string", + "maxLength": 100, + "description": "Email address for Director" + }, + "phoneNumber": { + "type": "string", + "maxLength": 20, + "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", + "description": "Owner's phone number" + }, + "nationality": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2." + }, + "nationalId": { + "type": "string", + "maxLength": 15, + "description": "Identification value from ID document" + }, + "idCountry": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country of the ID document. Two character country code, ISO 3166-1 alpha-2." + }, + "passportNumber": { + "type": "string", + "maxLength": 12, + "description": "Passport Number" + }, + "address": { + "type": "object", + "properties": { + "country": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "description": "Country where the Director resides. Two character country code." + }, + "address1": { + "type": "string", + "minLength": 1, + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address." + }, + "address2": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Director's street address Continued" + }, + "buildingName": { + "type": "string", + "maxLength": 60, + "pattern": "^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$", + "description": "Building Name" + }, + "locality": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's city" + }, + "administrativeArea": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "pattern": "^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$", + "description": "Director's state (US) or province (Canada, others)" + }, + "postalCode": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "Director's zip code (US) or postal code (Canada)" + } + } + } + } + } + } + } + } + } + }, + "deviceInformation": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP Address of the user that filled in the Merchant Application", + "type": "string" + }, + "fingerprintSessionId": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + }, + "userAgent": { + "description": "Info about the user that filled in the Merchant Application", + "type": "string" + } + } + }, + "depositInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the Bank Account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 15, + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "maxLength": 17, + "example": 111111111111110 + } + } + }, + "billingInformation": { + "type": "object", + "properties": { + "bankAccountInformation": { + "type": "object", + "properties": { + "bankAccountCountry": { + "description": "Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "pattern": "^[a-zA-Z]*$", + "example": "US" + }, + "accountHolderName": { + "description": "Name on the checking account", + "type": "string", + "maxLength": 150, + "example": "Sarah Jane Smith" + }, + "accountType": { + "description": "Type of Account\n\nPossible Values:\n- CHECKING\n- SAVINGS\n- CORPORATECHECKING\n- CORPORATESAVINGS\n", + "type": "string", + "example": "CORPORATECHECKING" + }, + "accountRoutingNumber": { + "description": "Routing Number, IBAN, Swift/BIC, etc", + "type": "string", + "maxLength": 15, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111111 + }, + "accountNumber": { + "description": "Account Number", + "type": "string", + "maxLength": 17, + "pattern": "^[0-9a-zA-Z\\+\\-]+$", + "example": 111111111111110 + } + } + } + } + }, + "saleRepresentativeInformation": { + "type": "object", + "required": [ + "salesRepId", + "salesRepFirstName", + "salesRepLastName", + "salesRepEmail", + "salesRepNumericPhoneNumberCountryCode", + "salesRepPhoneNumber" + ], + "properties": { + "salesRepId": { + "description": "Sales rep Identifier", + "type": "string", + "maxLength": 60 + }, + "salesRepFirstName": { + "description": "Sales rep First Name", + "type": "string", + "maxLength": 50, + "example": "John" + }, + "salesRepLastName": { + "description": "Sales Rep Last Name", + "type": "string", + "maxLength": 50, + "example": "Johnson" + }, + "salesRepEmail": { + "description": "Sales Rep eMail", + "type": "string", + "maxLength": 100, + "example": "test@test.com" + }, + "salesRepNumericPhoneNumberCountryCode": { + "description": "Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2.", + "type": "string", + "minLength": 2, + "maxLength": 2, + "example": "US" + }, + "salesRepPhoneNumber": { + "description": "Sales Rep Phone", + "type": "string", + "maxLength": 20, + "example": 4567890398 + } + } + }, + "fileAttachmentInformation": { + "type": "object", + "properties": { + "fileGroupId": { + "description": "The unique identifier for the file group", + "type": "string" + } + } + } + } + }, "additionalConfigurations": { "type": "array", "maxItems": 10, @@ -132834,8 +138416,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -132895,8 +138476,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133202,8 +138782,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133640,8 +139219,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -133968,8 +139546,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -134429,8 +140006,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -134556,148 +140132,238 @@ "configurations": { "type": "object", "properties": { - "pullfunds": { + "common": { "type": "object", - "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "acquiringBIN", - "cardAcceptorId", - "cardTerminalId" - ], - "properties": { - "acquirerOrganizationId": { - "type": "string", - "minLength": 1, - "maxLength": 50, - "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." - }, - "acquiringBIN": { - "type": "integer", - "minLength": 6, - "maxLength": 11, - "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "cardAcceptorId": { - "type": "string", - "minLength": 1, - "maxLength": 15, - "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." - }, - "originatorMvv": { - "type": "string", - "minLength": 10, - "maxLength": 10, - "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." - }, - "originatorNameAbbreviation": { + "properties": { + "paymentTypes": { + "type": "array", + "description": "List of card types supported by this merchant.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 4, - "description": "A 4 character max name abbreviation for the originator." - }, - "cardTerminalId": { + "maxLength": 30, + "description": "Possible values:\n- VISA\n- MASTERCARD" + } + }, + "businessApplicationId": { + "type": "array", + "description": "List of supported Business Application Indicators.\n", + "items": { "type": "string", "minLength": 1, - "maxLength": 8, - "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + "maxLength": 30, + "description": "Possible values:\n- AA\n- BB\n- BI\n- BP\n- CB\n- CD\n- CI\n- CO\n- CP\n- FD\n- FT\n- GD\n- GP\n- LA\n- LO\n- MD\n- MI\n- MP\n- OG\n- PD\n- PG\n- PP\n- PS\n- RP\n- TU\n- WT" + } + }, + "aggregator": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 11, + "description": "Marketplace or payment facilitator ID." + }, + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 25, + "description": "Acceptor's legal business name associated with the card acceptor identification code." + }, + "subMerchantId": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "minLength": 1, + "maxLength": 15, + "description": "Sub-merchant ID" + } } } } }, - "pushfunds": { + "processors": { "type": "object", "additionalProperties": { - "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", - "type": "object", - "required": [ - "originatorBusinessApplicationId", - "acquirerCountryCode", - "acquiringBIN", - "processorAccount" - ], - "properties": { - "acquirerCountryCode": { - "type": "integer", - "maxLength": 3, - "description": "TBD" - }, - "acquiringBIN": { - "type": "integer", - "maxLength": 11, - "description": "TBD" - }, - "allowCryptoCurrencyPurchase": { - "type": "boolean", - "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." - }, - "financialInstitutionId": { - "type": "string", - "minLength": 4, - "maxLength": 4, - "description": "TBD" - }, - "networkOrder": { - "type": "string", - "maxLength": 30, - "description": "TBD" - }, - "nationalReimbursementFee": { - "type": "string", - "maxLength": 1, - "description": "TBD" - }, - "originatorBusinessApplicationId": { - "type": "string", - "maxLength": 3, - "description": "TBD" - }, - "originatorPseudoAbaNumber": { - "type": "string", - "maxLength": 9, - "description": "TBD" - }, - "processorAccount": { - "type": "array", - "items": { - "required": [ - "originatorMerchantId", - "originatorTerminalId" - ], - "type": "object", - "properties": { - "originatorMerchantId": { - "type": "string", - "maxLength": 15, - "description": "TBD" - }, - "originatorTerminalId": { - "type": "array", - "description": "TBD", - "items": { + "description": "string [1 .. 40] characters\n\nThe name of the Payouts processor.\n", + "pattern": "^[A-Za-z0-9]+$", + "allOf": [ + { + "type": "object", + "properties": { + "acquirer": { + "type": "object", + "properties": { + "acquiringId": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 6, + "maxLength": 11, + "description": "This code identifies the financial institution acting as the acquirer.\n\nAlso known as:\n\n- Acquiring BIN\n- Acquiring Institution Identification Code\n" + }, + "country": { "type": "string", - "maxLength": 8 + "description": "The acquirer's [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country code. \nPossible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" } - }, - "supportedCurrencies": { - "type": "array", - "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", - "items": { + } + }, + "currencies": { + "type": "array", + "description": "List of supported [ISO 4217](https://developer.cybersource.com/docs/cybs/en-us/currency-codes/reference/all/na/currency-codes/currency-codes.html) alpha-3 currency codes.", + "items": { + "type": "string", + "minLength": 3, + "maxLength": 3, + "description": "Possible values:\n- USD\n- AED\n- AFN\n- ALL\n- AMD\n- ANG\n- AOA\n- ARS\n- AUD\n- AWG\n- AZN\n- BAM\n- BBD\n- BDT\n- BGN\n- BHD\n- BIF\n- BMD\n- BND\n- BOB\n- BOX\n- BRL\n- BSD\n- BTN\n- BWP\n- BYR\n- BYN\n- BZD\n- CAD\n- CDF\n- CHF\n- CLF\n- CLP\n- CNY\n- COP\n- COU\n- CRC\n- CSK\n- CUC\n- CUP\n- CVE\n- CZK\n- DJF\n- DFF\n- DOP\n- DZD\n- EGP\n- ERN\n- ETB\n- EUR\n- FJD\n- FKP\n- GBP\n- GEL\n- GHS\n- GIP\n- GMD\n- GNF\n- GTQ\n- GWP\n- GYD\n- HKD\n- HNL\n- HTG\n- HUF\n- IDR\n- ILS\n- INR\n- IQD\n- IRR\n- ISK\n- HMD\n- JOD\n- JPY\n- KES\n- KGS\n- KHR\n- KMF\n- KPW\n- KRW\n- KWD\n- KYD\n- KZT\n- LAK\n- LBP\n- LRD\n- LSL\n- LTV\n- LVL\n- LYD\n- MAD\n- MDL\n- MGA\n- MKD\n- MMK\n- MNT\n- MOP\n- MRO\n- MUR\n- MVR\n- MWK\n- MXN\n- MYR\n- MZN\n- NAD\n- NGN\n- NIO\n- NOK\n- NPR\n- NZD\n- OMR\n- PAB\n- PEN\n- PGK\n- PHP\n- PKR\n- PLN\n- PYG\n- QAR\n- RON\n- RSD\n- RUB\n- RWF\n- SAR\n- SBD\n- SCR\n- SDG\n- SHP\n- SLE\n- SOS\n- SRD\n- SSP\n- STD\n- SVC\n- SYP\n- SZL\n- THB\n- TJS\n- TMT\n- TND\n- TOP\n- TRY\n- TTD\n- TWD\n- TZS\n- UAH\n- UGX\n- UYU\n- VEF\n- VND\n- VUV\n- WST\n- XAF\n- XCD\n- XOF\n- XPF\n- YER\n- ZAR\n- ZMK\n- ZMW\n- ZWD\n- ZWL" + } + }, + "countries": { + "type": "array", + "description": "List of [ISO 3166-1](https://developer.cybersource.com/docs/cybs/en-us/country-codes/reference/all/na/country-codes/country-codes.html) alpha-2 country codes", + "items": { + "type": "string", + "minLength": 2, + "maxLength": 2, + "description": "Possible values:\n- US\n- AF\n- AX\n- AL\n- DZ\n- AD\n- AO\n- AI\n- AQ\n- AG\n- AR\n- AM\n- AW\n- AU\n- AS\n- AT\n- AZ\n- BS\n- BH\n- BD\n- BB\n- BY\n- BE\n- BZ\n- BJ\n- BM\n- BT\n- BO\n- BA\n- BQ\n- BW\n- BV\n- BR\n- IO\n- VG\n- BN\n- BG\n- BF\n- BI\n- KH\n- CM\n- CA\n- CV\n- CW\n- KY\n- CF\n- TD\n- CL\n- CN\n- CX\n- CC\n- CO\n- KM\n- CD\n- CG\n- CK\n- CR\n- CI\n- HR\n- CU\n- CY\n- CZ\n- DK\n- DJ\n- DM\n- DO\n- EC\n- EG\n- SV\n- GQ\n- ER\n- EE\n- ET\n- FK\n- FO\n- FJ\n- FI\n- FR\n- GF\n- PF\n- TF\n- GA\n- GM\n- GE\n- DE\n- GH\n- GI\n- GR\n- GL\n- GD\n- GP\n- GU\n- GT\n- GG\n- GN\n- GW\n- GY\n- HT\n- HM\n- HN\n- HK\n- HU\n- IS\n- IN\n- ID\n- IR\n- IQ\n- IE\n- IM\n- IL\n- IT\n- JM\n- JP\n- JE\n- JO\n- KZ\n- KE\n- KI\n- KW\n- KG\n- LA\n- LV\n- LB\n- LS\n- LR\n- LY\n- LI\n- LT\n- LU\n- MO\n- MK\n- MG\n- MW\n- MY\n- MV\n- ML\n- MT\n- MH\n- MQ\n- MR\n- MU\n- YT\n- MX\n- FM\n- MD\n- MC\n- MN\n- ME\n- MS\n- MA\n- MZ\n- MM\n- NA\n- NR\n- NP\n- NL\n- AN\n- NC\n- NZ\n- NI\n- NE\n- NG\n- NU\n- NF\n- KP\n- MP\n- NO\n- OM\n- PK\n- PW\n- PS\n- PA\n- PG\n- PY\n- PE\n- PH\n- PN\n- PL\n- PT\n- PR\n- QA\n- RE\n- RO\n- RU\n- RW\n- BL\n- SH\n- KN\n- LC\n- MF\n- PM\n- VC\n- WS\n- SM\n- SS\n- ST\n- SX\n- SA\n- SN\n- RS\n- SC\n- SL\n- SG\n- SK\n- SI\n- SB\n- SO\n- ZA\n- GS\n- KR\n- ES\n- LK\n- SD\n- SR\n- SJ\n- SZ\n- SE\n- CH\n- SY\n- TW\n- TJ\n- TZ\n- TH\n- TL\n- TG\n- TK\n- TO\n- TT\n- TN\n- TR\n- TM\n- TC\n- TV\n- UG\n- UA\n- AE\n- GB\n- UM\n- UY\n- UZ\n- VU\n- VA\n- VE\n- VN\n- VI\n- WF\n- KV\n- EH\n- YE\n- ZM\n- ZW" + } + }, + "merchantId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 15, + "description": "A unique identifier value assigned by Visa for each merchant included in the identification program." + }, + "terminalId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 8, + "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." + }, + "businessCategoryValidation": { + "type": "boolean", + "description": "Default: false\n\nOverride Business Application Indicator and Merchant Category Code validations for payout transaction types.\n" + }, + "payoutsTransactionTypes": { + "type": "array", + "description": "The supported Payouts transaction types for the processor.\n", + "items": { + "type": "string", + "minLength": 19, + "maxLength": 20, + "description": "Possible values:\n- PULL_FUNDS_TRANSFER\n- PUSH_FUNDS_TRANSFER" + } + }, + "merchantPseudoAbaNumber": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 9, + "maxLength": 9, + "description": "This is a number that uniquely identifies the merchant for PPGS transactions.\n" + } + } + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "feeProgramId": { "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 3, "maxLength": 3, - "minLength": 3 + "description": "This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.\n\nThis field can be regarded as informational only in all authorization messages.\n" + }, + "cpsAuthorizationCharacteristicsId": { + "type": "string", + "pattern": "^[A-Za-z]+$", + "minLength": 1, + "maxLength": 1, + "description": "The Authorization Characteristics Indicator (ACI) is a code used by the acquirer to request CPS qualification. If applicable, Visa changes the code to reflect the results of its CPS evaluation." + }, + "nationalReimbursementFee": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 1, + "maxLength": 12, + "description": "A client-supplied interchange amount." + }, + "settlementServiceId": { + "type": "string", + "description": "This flag enables the merchant to request for a particular settlement service to be used for settling the transaction. \nNote: The default value is VIP. This field is only relevant for specific countries where the acquirer has to select National Settlement in order to settle in the national net settlement service.change\n \nPossible values:\n- INTERNATIONAL_SETTLEMENT\n- VIP_TO_DECIDE\n- NATIONAL_SETTLEMENT" + }, + "sharingGroupCode": { + "type": "string", + "minLength": 6, + "maxLength": 16, + "description": "This U.S.-only field is optionally used by PIN Debit Gateway Service participants (merchants and acquirers) to specify the network access priority. VisaNet checks to determine if there are issuer routing preferences for a network specified by the sharing group code. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on issuer preference. If an preference exists for multiple specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on acquirer routing priorities. \nPossible values:\n- ACCEL_EXCHANGE_E\n- CU24_C\n- INTERLINK_G\n- MAESTRO_8\n- NYCE_Y\n- NYCE_F\n- PULSE_S\n- PULSE_L\n- PULSE_H\n- STAR_N\n- STAR_W\n- STAR_Z\n- STAR_Q\n- STAR_M\n- VISA_V" + }, + "allowCryptoCurrencyPurchase": { + "type": "boolean", + "description": "This field allows a merchant to send a flag that specifies whether the payment is for the purchase of cryptocurrency." + }, + "merchantMvv": { + "type": "string", + "pattern": "^\\d+$", + "minLength": 10, + "maxLength": 10, + "description": "Merchant Verification Value (MVV) is used to identify merchants that participate in a variety of programs. The MVV is unique to the merchant." + }, + "electronicCommerceId": { + "type": "string", + "minLength": 1, + "maxLength": 20, + "description": "This code identifies the level of security used in an electronic commerce transaction over an open network (for example, the Internet). \nPossible values:\n- INTERNET\n- RECURRING\n- RECURRING_INTERNET\n- VBV_FAILURE\n- VBV_ATTEMPTED\n- VBV\n- SPA_FAILURE\n- SPA_ATTEMPTED\n- SPA" } } } - }, - "description": "TBD" + ] + }, + { + "type": "object", + "allOf": [ + { + "properties": { + "merchantDescriptor": { + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 22, + "maxLength": 22, + "description": "The merchant statement descriptor. The statement descriptor is a string which will be displayed on the recipient's bank or card statement." + } + } + }, + "operatingEnvironment": { + "type": "string", + "minLength": 1, + "maxLength": 22, + "description": "Initiation channel of the transfer request. \n \nPossible values:\n- WEB\n- MOBILE\n- BANK\n- KIOSK" + }, + "interchangeRateDesignator": { + "type": "string", + "pattern": "^[A-Za-z0-9]+$", + "minLength": 2, + "maxLength": 2, + "description": "The IRD used for clearing the transaction on the Mastercard network." + }, + "participationId": { + "type": "string", + "pattern": "^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$", + "minLength": 30, + "maxLength": 30, + "description": "Participation identifier of the sender. The receiving financial institution will associate the value to the transfer." + } + } + } + ] } - } + ] } } } @@ -134972,8 +140638,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -134999,8 +140664,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135240,8 +140904,7 @@ "type": "object", "properties": { "profileId": { - "type": "string", - "format": "uuid" + "type": "string" } } } @@ -135275,8 +140938,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135610,8 +141272,7 @@ "type": "object", "properties": { "templateId": { - "type": "string", - "format": "uuid" + "type": "string" }, "configurations": { "type": "object", @@ -135857,7 +141518,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -135984,7 +141644,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136073,7 +141732,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136162,7 +141820,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136294,7 +141951,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136383,7 +142039,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136472,7 +142127,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136647,7 +142301,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136736,7 +142389,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -136868,7 +142520,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137086,7 +142737,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137180,7 +142830,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137269,7 +142918,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137363,7 +143011,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137452,7 +143099,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -137541,7 +143187,6 @@ "properties": { "configurationId": { "type": "string", - "format": "uuid", "description": "This is NOT for MVP" }, "version": { @@ -141289,8 +146934,13 @@ "description": "Configure Unified Checkout to display combo card at checkout.
\n\nA combo debit/credit card is a single card that functions both as a Debit/Credit card. \nUnified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card.\n**Important:** This is applicable to Visa cards only.\n\nPossible values:\n- True \n- False

\n\n**Use Cases:**\n\n**Offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to true.\n- When set to true, Combo Card selection is shown at checkout

\n\n**Do not offer Combo Card at Checkout:** \n- Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request.\n- The Combo Card selection is not shown at checkout.\n" }, "CPF": { - "type": "boolean", - "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n" + "type": "object", + "properties": { + "required": { + "type": "boolean", + "description": "Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas F\u00edsicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes.\n\nPossible values:\n- True\n- False

\n\nThis field is optional. \nIf set to true the field is required.\nIf set to false the field is optional.\nIf the field is not included in the capture context then it is not captured.

\n\n**Important:**\n - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered.\n - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered.\n" + } + } } } }, @@ -141608,7 +147258,7 @@ "example0": { "summary": "Generate Unified Checkout Capture Context", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141654,7 +147304,7 @@ "example1": { "summary": "Generate Unified Checkout Capture Context With Full List of Card Networks", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141713,7 +147363,7 @@ "example2": { "summary": "Generate Unified Checkout Capture Context With Custom Google Payment Options", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141767,7 +147417,7 @@ "example3": { "summary": "Generate Unified Checkout Capture Context With Autocheck Enrollment", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141815,7 +147465,7 @@ "example4": { "summary": "Generate Unified Checkout Capture Context (Opt-out of receiving card number prefix)", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141864,7 +147514,7 @@ "example5": { "summary": "Generate Unified Checkout Capture Context passing Billing & Shipping", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141879,8 +147529,7 @@ "CLICKTOPAY", "GOOGLEPAY", "PANENTRY", - "PAZE", - "AFTERPAY" + "PAZE" ], "country": "US", "locale": "en_US", @@ -141956,9 +147605,9 @@ } }, "example6": { - "summary": "Generate Capture Context For Click To Pay Drop-In UI", + "summary": "Generate Unified Checkout Capture Context For Click To Pay Drop-In UI", "value": { - "clientVersion": "0.28", + "clientVersion": "0.30", "targetOrigins": [ "https://yourCheckoutPage.com" ], @@ -141990,6 +147639,562 @@ } } } + }, + "example7": { + "summary": "Generate Unified Checkout Capture Context ($ Afterpay (US))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "US", + "locale": "en_US", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "US", + "CA" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "USD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Galleria Road", + "administrativeArea": "TX", + "buildingNumber": 2, + "country": "US", + "locality": "Houston", + "postalCode": "22096" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 4N3" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example8": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (CAN))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "CA", + "locale": "en_US", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "US", + "CA" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "CAD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Galleria Road", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 4N3" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "AL", + "buildingNumber": 2, + "country": "CA", + "locality": "Calgary", + "postalCode": "T2B 543" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example9": { + "summary": "Generate Unified Checkout Capture Context (Clearpay (GB))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "GB", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "GB", + "ES", + "IT", + "PT" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "GBP" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Square Street", + "administrativeArea": "Devon", + "buildingNumber": 2, + "country": "GB", + "locality": "Plymouth", + "postalCode": "PL1 1AS" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example10": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (AU))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "AU", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "AU", + "NZ" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "AUD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Ocean Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Springtown Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example11": { + "summary": "Generate Unified Checkout Capture Context (Afterpay (NZ))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "AFTERPAY" + ], + "country": "NZ", + "locale": "en_GB", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "AU", + "NZ" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "NZD" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "277 Maranui Avenue", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "NZ", + "locality": "Auckland", + "postalCode": "1022" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Springtown Road", + "administrativeArea": "NSW", + "buildingNumber": 2, + "country": "AU", + "locality": "Sydney", + "postalCode": "2000" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Buy Now, Pay Later)" + }, + "example12": { + "summary": "Generate Unified Checkout Capture Context (iDEAL (NL))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "IDEAL" + ], + "country": "NL", + "locale": "en_NL", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "NL", + "GB" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Stationsstraat 12", + "administrativeArea": "NL-NH", + "buildingNumber": 2, + "country": "NL", + "locality": "Amsterdam", + "postalCode": "1071 JA" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" + }, + "example13": { + "summary": "Generate Unified Checkout Capture Context (Multibanco (PT))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "MULTIBANCO" + ], + "country": "PT", + "locale": "pt-PT", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "PT", + "ES", + "GB" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Rua da Liberdade 10", + "administrativeArea": "Mafra", + "buildingNumber": 2, + "country": "PT", + "locality": "Lisboa", + "postalCode": "1234-567" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" + }, + "example14": { + "summary": "Generate Unified Checkout Capture Context (Przelewy24|P24 (PL))", + "value": { + "clientVersion": "0.30", + "targetOrigins": [ + "https://yourCheckoutPage.com" + ], + "allowedCardNetworks": [ + "VISA", + "MASTERCARD", + "AMEX" + ], + "allowedPaymentTypes": [ + "APPLEPAY", + "CHECK", + "CLICKTOPAY", + "GOOGLEPAY", + "PANENTRY", + "PAZE", + "P24" + ], + "country": "PL", + "locale": "pl-PL", + "captureMandate": { + "billingType": "FULL", + "requestEmail": true, + "requestPhone": true, + "requestShipping": true, + "shipToCountries": [ + "PL", + "GB", + "BE" + ], + "showAcceptedNetworkIcons": true + }, + "completeMandate": { + "type": "PREFER_AUTH", + "decisionManager": true, + "consumerAuthentication": true + }, + "orderInformation": { + "amountDetails": { + "totalAmount": "21.00", + "currency": "EUR" + }, + "billTo": { + "email": "john.doe@visa.com", + "firstName": "John", + "lastName": "Doe", + "address1": "Ulica Podhalanska 2", + "administrativeArea": "Wroclaw", + "buildingNumber": 2, + "country": "PL", + "locality": "Gdansk", + "postalCode": "80-322" + }, + "shipTo": { + "firstName": "Joe", + "lastName": "Sims", + "address1": "15-17 Gloucester Street", + "administrativeArea": "NIR", + "buildingNumber": 2, + "country": "GB", + "locality": "Belfast", + "postalCode": "BT6 8JW" + } + } + }, + "parentTag": "Unified Checkout with Alternate Payments (Online Bank Transfer)" } }, "responses": { @@ -143472,6 +149677,447 @@ } } } + }, + "/bavs/v1/account-validations": { + "post": { + "summary": "Visa Bank Account Validation Service", + "description": "The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions.\n", + "tags": [ + "bankAccountValidation" + ], + "operationId": "bankAccountValidationRequest", + "x-devcenter-metaData": { + "categoryTag": "Visa_Bank_Account_Validation", + "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/visa-bank-validation/merchant/all/rest/visa-bank-accoun-val/visa-bank-acc-val-about-guide.html", + "firstLevelApiLifeCycle": "pilot", + "secondLevelApiLifeCycle": "pilot", + "apiLifeCycle": "pilot", + "mleForRequest": "mandatory", + "mleForResponse": "false", + "disableProcessorDropDown": true, + "authorizationType": [ + "Json Web Token" + ], + "overrideMerchantCredential": "echecktestdevcenter001", + "SDK_ONLY_AddDisclaimer": true + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "parameters": [ + { + "name": "accountValidationsRequest", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "processingInformation", + "paymentInformation" + ], + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client reference code", + "example": "TC50171_3" + } + } + }, + "processingInformation": { + "type": "object", + "required": [ + "validationLevel" + ], + "properties": { + "validationLevel": { + "type": "integer", + "description": "Enter 1 for routing and account number validation.\n" + } + } + }, + "paymentInformation": { + "type": "object", + "required": [ + "bank" + ], + "properties": { + "bank": { + "type": "object", + "required": [ + "routingNumber", + "account" + ], + "properties": { + "routingNumber": { + "type": "string", + "maxLength": 9, + "description": "Bank routing number. This is also called the transit number.\n\nNon-Negative Integer\n", + "example": 123456789 + }, + "account": { + "type": "object", + "required": [ + "number" + ], + "properties": { + "number": { + "type": "string", + "maxLength": 17, + "description": "Account Number.\n\nNon-Negative Integer.\nexample: 12345678901234577\n" + } + } + } + } + } + } + } + } + } + } + ], + "responses": { + "200": { + "description": "Successful response.", + "schema": { + "type": "object", + "properties": { + "clientReferenceInformation": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Client reference code", + "example": "TC50171_3" + } + } + }, + "requestId": { + "type": "string", + "description": "Request Id sent as part of the request." + }, + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "bankAccountValidation": { + "type": "object", + "properties": { + "rawValidationCode": { + "type": "integer", + "description": "Raw Validation Codes for routing number and account number\n\n Possible values:\n \u2022 -1: Unable to perform validation/Unknown error\n \u2022 -2: Service Unavailable\n \u2022 12 to 16: Validation results\n" + }, + "resultCode": { + "type": "integer", + "description": "Result codes for account number and routing number\n\n Possible values: 00, 04, 98, 99\n" + }, + "resultMessage": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time verification was requested\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `INVALID_REQUEST`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `INVALID_REQUEST`\n" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "field": { + "type": "string", + "description": "This is the flattened JSON object field name/path that is either missing or invalid.\n" + }, + "reason": { + "type": "string", + "description": "Possible reasons for the error.\n\nPossible values:\n - `MISSING_FIELD`\n - `INVALID_DATA`\n" + } + } + } + } + } + } + }, + "403": { + "description": "Authorization failure.", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `UNAUTHORIZED`\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `UNAUTHORIZED`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason.\n" + } + } + } + }, + "404": { + "description": "Resource Not Found", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted request. \nPossible values:\n- NOT_FOUND" + }, + "reason": { + "type": "string", + "description": "The reason of the status. \nPossible values:\n- NOT_FOUND" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason listed above." + } + } + } + }, + "422": { + "description": "Unprocessable Entity.", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time of request in UTC.\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "Possible values:\n - `VALIDATION_ERROR`\n" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `PRODUCT_INACTIVE`\n - `INVALID_MERCHANT_CONFIGURATION`\n - `PRODUCT_NOT_CONFIGURED`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason.\n" + } + } + } + }, + "502": { + "description": "Internal Server error", + "headers": { + "v-c-correlationid": { + "type": "string", + "description": "Unique identifier for this request" + } + }, + "schema": { + "type": "object", + "properties": { + "submitTimeUtc": { + "type": "string", + "description": "Time verification was requested\n\nFormat: `YYYY-MM-DDThhmmssZ`, where:\n- `T`: Separates the date and the time\n- `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT)\n\nExample: `2020-01-11T224757Z`\nequals January 11, 2020, at 22:47:57 (10:47:57 p.m.)\n" + }, + "status": { + "type": "string", + "description": "The status of the submitted transaction.\nPossible values:\n - `SERVER_ERROR`\n" + }, + "message": { + "type": "string", + "description": "The detail message related to the status and reason" + }, + "reason": { + "type": "string", + "description": "The reason of the status.\n\nPossible values:\n - `SYSTEM_ERROR`\n - `SERVER_TIMEOUT`\n - `SERVICE_TIMEOUT`\n" + } + } + } + } + }, + "x-example": { + "example0": { + "summary": "Bank Account Validation - Validated", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99970" + } + } + } + }, + "response0": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:18:42Z", + "bankAccountValidation": { + "rawValidationCode": 12, + "resultCode": "00", + "resultMessage": "Validated" + } + } + }, + "example1": { + "summary": "Bank Account Validation - Not Validated", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99941" + } + } + } + }, + "response1": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:19:35Z", + "bankAccountValidation": { + "rawValidationCode": 16, + "resultCode": "04", + "resultMessage": "Not Validated" + } + } + }, + "example2": { + "summary": "Bank Account Validation - Unable to perform validation", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99950" + } + } + } + }, + "response2": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:21:17Z", + "bankAccountValidation": { + "rawValidationCode": -1, + "resultCode": "98", + "resultMessage": "Unable to perform validation - No information found" + } + } + }, + "example3": { + "summary": "Bank Account Validation - Service Unavailable", + "value": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "processingInformation": { + "validationLevel": 1 + }, + "paymentInformation": { + "bank": { + "routingNumber": "041210163", + "account": { + "number": "99980" + } + } + } + }, + "response3": { + "clientReferenceInformation": { + "code": "TC50171_100" + }, + "requestId": "5805429916863232235535", + "submitTimeUtc": "2025-02-03T23:21:54Z", + "bankAccountValidation": { + "rawValidationCode": -2, + "resultCode": "99", + "resultMessage": "Service Unavailable" + } + } + } + } + } } } } \ No newline at end of file diff --git a/generator/cybersource_ruby_SDK_gen.sh b/generator/cybersource_ruby_SDK_gen.sh index f4e42aa0..220b7cf6 100644 --- a/generator/cybersource_ruby_SDK_gen.sh +++ b/generator/cybersource_ruby_SDK_gen.sh @@ -44,6 +44,12 @@ mv ../lib/cybersource_rest_client/models/payments_products_alternative_payment_m sed -i "s|cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_information_configurations_additional_configurations|cybersource_rest_client/models/payments_products_alternative_payment_methods_additional_configurations|g" ../lib/cybersource_rest_client.rb sed -i "s|cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_information_configurations_payment_methods|cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_payment_methods|g" ../lib/cybersource_rest_client.rb +mv ../lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb ../lib/cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb +sed -i "s|cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset|cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset|g" ../lib/cybersource_rest_client.rb + +mv ../lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription.rb ../lib/cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription.rb +sed -i "s|cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription|cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription|g" ../lib/cybersource_rest_client.rb + sed -i 's/$/\r/' ../lib/cybersource_rest_client.rb #set +v vecho off diff --git a/lib/cybersource_rest_client.rb b/lib/cybersource_rest_client.rb index 6efc8d58..4ba7b860 100644 --- a/lib/cybersource_rest_client.rb +++ b/lib/cybersource_rest_client.rb @@ -38,6 +38,7 @@ require 'cybersource_rest_client/models/access_token_response' require 'cybersource_rest_client/models/bad_request_error' require 'cybersource_rest_client/models/create_access_token_request' +require 'cybersource_rest_client/models/account_validations_request' require 'cybersource_rest_client/models/accountupdaterv1batches_included' require 'cybersource_rest_client/models/accountupdaterv1batches_included_tokens' require 'cybersource_rest_client/models/activate_deactivate_plan_response' @@ -45,6 +46,11 @@ require 'cybersource_rest_client/models/activate_subscription_response_subscription_information' require 'cybersource_rest_client/models/add_negative_list_request' require 'cybersource_rest_client/models/auth_reversal_request' +require 'cybersource_rest_client/models/bavsv1accountvalidations_client_reference_information' +require 'cybersource_rest_client/models/bavsv1accountvalidations_payment_information' +require 'cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank' +require 'cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account' +require 'cybersource_rest_client/models/bavsv1accountvalidations_processing_information' require 'cybersource_rest_client/models/binv1binlookup_client_reference_information' require 'cybersource_rest_client/models/binv1binlookup_payment_information' require 'cybersource_rest_client/models/binv1binlookup_payment_information_card' @@ -74,6 +80,7 @@ require 'cybersource_rest_client/models/card_processing_config' require 'cybersource_rest_client/models/card_processing_config_common' require 'cybersource_rest_client/models/card_processing_config_common_acquirer' +require 'cybersource_rest_client/models/card_processing_config_common_acquirers' require 'cybersource_rest_client/models/card_processing_config_common_currencies' require 'cybersource_rest_client/models/card_processing_config_common_currencies_1' require 'cybersource_rest_client/models/card_processing_config_common_merchant_descriptor_information' @@ -206,14 +213,22 @@ require 'cybersource_rest_client/models/inline_response_200' require 'cybersource_rest_client/models/inline_response_200_1' require 'cybersource_rest_client/models/inline_response_200_10' -require 'cybersource_rest_client/models/inline_response_200_10_billing' +require 'cybersource_rest_client/models/inline_response_200_10__embedded' +require 'cybersource_rest_client/models/inline_response_200_10__embedded_batches' +require 'cybersource_rest_client/models/inline_response_200_10__embedded__links' +require 'cybersource_rest_client/models/inline_response_200_10__embedded__links_reports' +require 'cybersource_rest_client/models/inline_response_200_10__embedded_totals' require 'cybersource_rest_client/models/inline_response_200_10__links' -require 'cybersource_rest_client/models/inline_response_200_10__links_report' require 'cybersource_rest_client/models/inline_response_200_11' -require 'cybersource_rest_client/models/inline_response_200_11_records' -require 'cybersource_rest_client/models/inline_response_200_11_response_record' -require 'cybersource_rest_client/models/inline_response_200_11_response_record_additional_updates' -require 'cybersource_rest_client/models/inline_response_200_11_source_record' +require 'cybersource_rest_client/models/inline_response_200_11_billing' +require 'cybersource_rest_client/models/inline_response_200_11__links' +require 'cybersource_rest_client/models/inline_response_200_11__links_report' +require 'cybersource_rest_client/models/inline_response_200_12' +require 'cybersource_rest_client/models/inline_response_200_12_records' +require 'cybersource_rest_client/models/inline_response_200_12_response_record' +require 'cybersource_rest_client/models/inline_response_200_12_response_record_additional_updates' +require 'cybersource_rest_client/models/inline_response_200_12_source_record' +require 'cybersource_rest_client/models/inline_response_200_13' require 'cybersource_rest_client/models/inline_response_200_1__embedded' require 'cybersource_rest_client/models/inline_response_200_1__embedded_capture' require 'cybersource_rest_client/models/inline_response_200_1__embedded_capture__links' @@ -222,24 +237,18 @@ require 'cybersource_rest_client/models/inline_response_200_1__embedded_reversal__links' require 'cybersource_rest_client/models/inline_response_200_1__embedded_reversal__links_self' require 'cybersource_rest_client/models/inline_response_200_2' -require 'cybersource_rest_client/models/inline_response_200_2_integration_information' -require 'cybersource_rest_client/models/inline_response_200_2_integration_information_tenant_configurations' require 'cybersource_rest_client/models/inline_response_200_3' +require 'cybersource_rest_client/models/inline_response_200_3_integration_information' +require 'cybersource_rest_client/models/inline_response_200_3_integration_information_tenant_configurations' require 'cybersource_rest_client/models/inline_response_200_4' require 'cybersource_rest_client/models/inline_response_200_5' require 'cybersource_rest_client/models/inline_response_200_6' -require 'cybersource_rest_client/models/inline_response_200_6_devices' require 'cybersource_rest_client/models/inline_response_200_7' +require 'cybersource_rest_client/models/inline_response_200_7_devices' require 'cybersource_rest_client/models/inline_response_200_8' -require 'cybersource_rest_client/models/inline_response_200_8_devices' -require 'cybersource_rest_client/models/inline_response_200_8_payment_processor_to_terminal_map' require 'cybersource_rest_client/models/inline_response_200_9' -require 'cybersource_rest_client/models/inline_response_200_9__embedded' -require 'cybersource_rest_client/models/inline_response_200_9__embedded_batches' -require 'cybersource_rest_client/models/inline_response_200_9__embedded__links' -require 'cybersource_rest_client/models/inline_response_200_9__embedded__links_reports' -require 'cybersource_rest_client/models/inline_response_200_9__embedded_totals' -require 'cybersource_rest_client/models/inline_response_200_9__links' +require 'cybersource_rest_client/models/inline_response_200_9_devices' +require 'cybersource_rest_client/models/inline_response_200_9_payment_processor_to_terminal_map' require 'cybersource_rest_client/models/inline_response_200_content' require 'cybersource_rest_client/models/inline_response_201' require 'cybersource_rest_client/models/inline_response_201_1' @@ -295,6 +304,8 @@ require 'cybersource_rest_client/models/inline_response_400_7_details' require 'cybersource_rest_client/models/inline_response_400_8' require 'cybersource_rest_client/models/inline_response_400_8_details' +require 'cybersource_rest_client/models/inline_response_400_9' +require 'cybersource_rest_client/models/inline_response_400_9_details' require 'cybersource_rest_client/models/inline_response_400_details' require 'cybersource_rest_client/models/inline_response_400_errors' require 'cybersource_rest_client/models/inline_response_401' @@ -305,12 +316,16 @@ require 'cybersource_rest_client/models/inline_response_403' require 'cybersource_rest_client/models/inline_response_403_1' require 'cybersource_rest_client/models/inline_response_403_2' +require 'cybersource_rest_client/models/inline_response_403_3' require 'cybersource_rest_client/models/inline_response_403_errors' require 'cybersource_rest_client/models/inline_response_404' require 'cybersource_rest_client/models/inline_response_404_1' +require 'cybersource_rest_client/models/inline_response_404_1_details' require 'cybersource_rest_client/models/inline_response_404_2' -require 'cybersource_rest_client/models/inline_response_404_2_details' require 'cybersource_rest_client/models/inline_response_404_3' +require 'cybersource_rest_client/models/inline_response_404_3_details' +require 'cybersource_rest_client/models/inline_response_404_4' +require 'cybersource_rest_client/models/inline_response_404_5' require 'cybersource_rest_client/models/inline_response_409' require 'cybersource_rest_client/models/inline_response_409_errors' require 'cybersource_rest_client/models/inline_response_410' @@ -319,6 +334,7 @@ require 'cybersource_rest_client/models/inline_response_412_errors' require 'cybersource_rest_client/models/inline_response_422' require 'cybersource_rest_client/models/inline_response_422_1' +require 'cybersource_rest_client/models/inline_response_422_2' require 'cybersource_rest_client/models/inline_response_424' require 'cybersource_rest_client/models/inline_response_424_errors' require 'cybersource_rest_client/models/inline_response_500' @@ -327,6 +343,7 @@ require 'cybersource_rest_client/models/inline_response_500_3' require 'cybersource_rest_client/models/inline_response_500_errors' require 'cybersource_rest_client/models/inline_response_502' +require 'cybersource_rest_client/models/inline_response_502_1' require 'cybersource_rest_client/models/inline_response_503' require 'cybersource_rest_client/models/inline_response_default' require 'cybersource_rest_client/models/inline_response_default__links' @@ -338,6 +355,8 @@ require 'cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response' require 'cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information' require 'cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information_header_style' +require 'cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information' +require 'cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details' require 'cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response' require 'cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_customer_information' require 'cybersource_rest_client/models/invoicing_v2_invoices_all_get200_response_invoice_information' @@ -355,6 +374,7 @@ require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response' require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response_invoice_information' require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response_invoice_information_custom_labels' +require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition' require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response_order_information' require 'cybersource_rest_client/models/invoicing_v2_invoices_post201_response_order_information_amount_details' require 'cybersource_rest_client/models/invoicing_v2_invoices_post202_response' @@ -367,6 +387,7 @@ require 'cybersource_rest_client/models/invoicingv2invoices_customer_information' require 'cybersource_rest_client/models/invoicingv2invoices_customer_information_company' require 'cybersource_rest_client/models/invoicingv2invoices_invoice_information' +require 'cybersource_rest_client/models/invoicingv2invoices_merchant_defined_field_values' require 'cybersource_rest_client/models/invoicingv2invoices_order_information' require 'cybersource_rest_client/models/invoicingv2invoices_order_information_amount_details' require 'cybersource_rest_client/models/invoicingv2invoices_order_information_amount_details_freight' @@ -386,6 +407,8 @@ require 'cybersource_rest_client/models/kmsegressv2keysasym_key_information' require 'cybersource_rest_client/models/kmsegressv2keyssym_client_reference_information' require 'cybersource_rest_client/models/kmsegressv2keyssym_key_information' +require 'cybersource_rest_client/models/merchant_defined_field_core' +require 'cybersource_rest_client/models/merchant_defined_field_definition_request' require 'cybersource_rest_client/models/merchant_initiated_transaction_object' require 'cybersource_rest_client/models/microformv2sessions_transient_token_response_options' require 'cybersource_rest_client/models/mit_reversal_request' @@ -453,7 +476,6 @@ require 'cybersource_rest_client/models/payments_products_differential_fee' require 'cybersource_rest_client/models/payments_products_differential_fee_subscription_information' require 'cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features' -require 'cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features_surcharge' require 'cybersource_rest_client/models/payments_products_digital_payments' require 'cybersource_rest_client/models/payments_products_digital_payments_subscription_information' require 'cybersource_rest_client/models/payments_products_digital_payments_subscription_information_features' @@ -462,12 +484,12 @@ require 'cybersource_rest_client/models/payments_products_e_check_subscription_information' require 'cybersource_rest_client/models/payments_products_payer_authentication' require 'cybersource_rest_client/models/payments_products_payer_authentication_configuration_information' +require 'cybersource_rest_client/models/payments_products_payer_authentication_subscription_information' require 'cybersource_rest_client/models/payments_products_payouts' require 'cybersource_rest_client/models/payments_products_payouts_configuration_information' require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations' -require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_processor_account' -require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pullfunds' -require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pushfunds' +require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common' +require 'cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common_aggregator' require 'cybersource_rest_client/models/payments_products_secure_acceptance' require 'cybersource_rest_client/models/payments_products_secure_acceptance_configuration_information' require 'cybersource_rest_client/models/payments_products_service_fee' @@ -509,6 +531,7 @@ require 'cybersource_rest_client/models/post_device_search_request_v3' require 'cybersource_rest_client/models/post_instrument_identifier_enrollment_request' require 'cybersource_rest_client/models/post_instrument_identifier_request' +require 'cybersource_rest_client/models/post_issuer_life_cycle_simulation_request' require 'cybersource_rest_client/models/post_payment_credentials_request' require 'cybersource_rest_client/models/post_payment_instrument_request' require 'cybersource_rest_client/models/post_registration_body' @@ -909,6 +932,7 @@ require 'cybersource_rest_client/models/ptsv2payments_processor_information' require 'cybersource_rest_client/models/ptsv2payments_processor_information_authorization_options' require 'cybersource_rest_client/models/ptsv2payments_processor_information_reversal' +require 'cybersource_rest_client/models/ptsv2payments_processor_information_reversal_network' require 'cybersource_rest_client/models/ptsv2payments_promotion_information' require 'cybersource_rest_client/models/ptsv2payments_recipient_information' require 'cybersource_rest_client/models/ptsv2payments_recurring_payment_information' @@ -1032,6 +1056,7 @@ require 'cybersource_rest_client/models/ptsv2refreshpaymentstatusid_payment_information_customer' require 'cybersource_rest_client/models/ptsv2refreshpaymentstatusid_payment_information_payment_type' require 'cybersource_rest_client/models/ptsv2refreshpaymentstatusid_processing_information' +require 'cybersource_rest_client/models/ptsv2reversals_processor_information' require 'cybersource_rest_client/models/ptsv2voids_processing_information' require 'cybersource_rest_client/models/push_funds201_response' require 'cybersource_rest_client/models/push_funds201_response_client_reference_information' @@ -1361,6 +1386,10 @@ require 'cybersource_rest_client/models/tmsv2customers_merchant_defined_information' require 'cybersource_rest_client/models/tmsv2customers_metadata' require 'cybersource_rest_client/models/tmsv2customers_object_information' +require 'cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card' +require 'cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata' +require 'cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art' +require 'cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset' require 'cybersource_rest_client/models/token_permissions' require 'cybersource_rest_client/models/tokenizedcard_request' require 'cybersource_rest_client/models/tss_v2_get_emv_tags200_response' @@ -1457,6 +1486,27 @@ require 'cybersource_rest_client/models/ums_v1_users_get200_response_contact_information' require 'cybersource_rest_client/models/ums_v1_users_get200_response_organization_information' require 'cybersource_rest_client/models/ums_v1_users_get200_response_users' +require 'cybersource_rest_client/models/underwriting_configuration' +require 'cybersource_rest_client/models/underwriting_configuration_billing_information' +require 'cybersource_rest_client/models/underwriting_configuration_billing_information_bank_account_information' +require 'cybersource_rest_client/models/underwriting_configuration_client_reference_information' +require 'cybersource_rest_client/models/underwriting_configuration_deposit_information' +require 'cybersource_rest_client/models/underwriting_configuration_device_information' +require 'cybersource_rest_client/models/underwriting_configuration_file_attachment_information' +require 'cybersource_rest_client/models/underwriting_configuration_merchant_application' +require 'cybersource_rest_client/models/underwriting_configuration_merchant_application_products' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_1' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details' +require 'cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information' +require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address' +require 'cybersource_rest_client/models/underwriting_configuration_sale_representative_information' require 'cybersource_rest_client/models/update_invoice_request' require 'cybersource_rest_client/models/update_order_request' require 'cybersource_rest_client/models/update_payment_link_request' @@ -1468,6 +1518,7 @@ require 'cybersource_rest_client/models/update_subscription_response' require 'cybersource_rest_client/models/update_webhook' require 'cybersource_rest_client/models/upv1capturecontexts_capture_mandate' +require 'cybersource_rest_client/models/upv1capturecontexts_capture_mandate_cpf' require 'cybersource_rest_client/models/upv1capturecontexts_complete_mandate' require 'cybersource_rest_client/models/upv1capturecontexts_order_information' require 'cybersource_rest_client/models/upv1capturecontexts_order_information_amount_details' @@ -1526,6 +1577,7 @@ # APIs require 'cybersource_rest_client/api/o_auth_api' +require 'cybersource_rest_client/api/bank_account_validation_api' require 'cybersource_rest_client/api/batches_api' require 'cybersource_rest_client/api/billing_agreements_api' require 'cybersource_rest_client/api/bin_lookup_api' @@ -1551,6 +1603,7 @@ require 'cybersource_rest_client/api/invoices_api' require 'cybersource_rest_client/api/manage_webhooks_api' require 'cybersource_rest_client/api/merchant_boarding_api' +require 'cybersource_rest_client/api/merchant_defined_fields_api' require 'cybersource_rest_client/api/microform_integration_api' require 'cybersource_rest_client/api/net_fundings_api' require 'cybersource_rest_client/api/notification_of_changes_api' diff --git a/lib/cybersource_rest_client/api/bank_account_validation_api.rb b/lib/cybersource_rest_client/api/bank_account_validation_api.rb new file mode 100644 index 00000000..c06b8aab --- /dev/null +++ b/lib/cybersource_rest_client/api/bank_account_validation_api.rb @@ -0,0 +1,97 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'uri' +require 'AuthenticationSDK/util/MLEUtility' +module CyberSource + class BankAccountValidationApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default, config) + @api_client = api_client + @api_client.set_configuration(config) + end + # Visa Bank Account Validation Service + # The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions. + # + # @param account_validations_request + # @param [Hash] opts the optional parameters + # @return [InlineResponse20013] + # + # DISCLAIMER : Cybersource may allow Customer to access, use, and/or test a Cybersource product or service that may still be in development or has not been market-tested ("Beta Product") solely for the purpose of evaluating the functionality or marketability of the Beta Product (a "Beta Evaluation"). Notwithstanding any language to the contrary, the following terms shall apply with respect to Customer's participation in any Beta Evaluation (and the Beta Product(s)) accessed thereunder): The Parties will enter into a separate form agreement detailing the scope of the Beta Evaluation, requirements, pricing, the length of the beta evaluation period ("Beta Product Form"). Beta Products are not, and may not become, Transaction Services and have not yet been publicly released and are offered for the sole purpose of internal testing and non-commercial evaluation. Customer's use of the Beta Product shall be solely for the purpose of conducting the Beta Evaluation. Customer accepts all risks arising out of the access and use of the Beta Products. Cybersource may, in its sole discretion, at any time, terminate or discontinue the Beta Evaluation. Customer acknowledges and agrees that any Beta Product may still be in development and that Beta Product is provided "AS IS" and may not perform at the level of a commercially available service, may not operate as expected and may be modified prior to release. CYBERSOURCE SHALL NOT BE RESPONSIBLE OR LIABLE UNDER ANY CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE RELATING TO A BETA PRODUCT OR THE BETA EVALUATION (A) FOR LOSS OR INACCURACY OF DATA OR COST OF PROCUREMENT OF SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY, (B) ANY CLAIM, LOSSES, DAMAGES, OR CAUSE OF ACTION ARISING IN CONNECTION WITH THE BETA PRODUCT; OR (C) FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF REVENUES AND LOSS OF PROFITS. + def bank_account_validation_request(account_validations_request, opts = {}) + data, status_code, headers = bank_account_validation_request_with_http_info(account_validations_request, opts) + return data, status_code, headers + end + + # Visa Bank Account Validation Service + # The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions. + # @param account_validations_request + # @param [Hash] opts the optional parameters + # @return [Array<(InlineResponse20013, Fixnum, Hash)>] InlineResponse20013 data, response status code and response headers + def bank_account_validation_request_with_http_info(account_validations_request, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: BankAccountValidationApi.bank_account_validation_request ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'account_validations_request' is set + if @api_client.config.client_side_validation && account_validations_request.nil? + fail ArgumentError, "Missing the required parameter 'account_validations_request' when calling BankAccountValidationApi.bank_account_validation_request" + end + # resource path + local_var_path = 'bavs/v1/account-validations' + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8']) + + # form parameters + form_params = {} + + # http body (model) + post_body = @api_client.object_to_http_body(account_validations_request) + sdk_tracker = SdkTracker.new + post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'AccountValidationsRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId) + inbound_mle_status = "mandatory" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["bank_account_validation_request","bank_account_validation_request_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:POST, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => 'InlineResponse20013') + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: BankAccountValidationApi#bank_account_validation_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end + end +end diff --git a/lib/cybersource_rest_client/api/batches_api.rb b/lib/cybersource_rest_client/api/batches_api.rb index 44c3c540..bab6672e 100644 --- a/lib/cybersource_rest_client/api/batches_api.rb +++ b/lib/cybersource_rest_client/api/batches_api.rb @@ -24,7 +24,7 @@ def initialize(api_client = ApiClient.default, config) # # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [InlineResponse20011] + # @return [InlineResponse20012] # def get_batch_report(batch_id, opts = {}) data, status_code, headers = get_batch_report_with_http_info(batch_id, opts) @@ -35,7 +35,7 @@ def get_batch_report(batch_id, opts = {}) # **Get Batch Report**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) - Source record information including token ids, masked card number, expiration dates & card type. - Response record information including response code, reason, token ids, masked card number, expiration dates & card type. # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [Array<(InlineResponse20011, Fixnum, Hash)>] InlineResponse20011 data, response status code and response headers + # @return [Array<(InlineResponse20012, Fixnum, Hash)>] InlineResponse20012 data, response status code and response headers def get_batch_report_with_http_info(batch_id, opts = {}) if @api_client.config.debugging @@ -87,7 +87,7 @@ def get_batch_report_with_http_info(batch_id, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse20011') + :return_type => 'InlineResponse20012') if @api_client.config.debugging begin raise @@ -103,7 +103,7 @@ def get_batch_report_with_http_info(batch_id, opts = {}) # # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [InlineResponse20010] + # @return [InlineResponse20011] # def get_batch_status(batch_id, opts = {}) data, status_code, headers = get_batch_status_with_http_info(batch_id, opts) @@ -114,7 +114,7 @@ def get_batch_status(batch_id, opts = {}) # **Get Batch Status**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [Array<(InlineResponse20010, Fixnum, Hash)>] InlineResponse20010 data, response status code and response headers + # @return [Array<(InlineResponse20011, Fixnum, Hash)>] InlineResponse20011 data, response status code and response headers def get_batch_status_with_http_info(batch_id, opts = {}) if @api_client.config.debugging @@ -166,7 +166,7 @@ def get_batch_status_with_http_info(batch_id, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse20010') + :return_type => 'InlineResponse20011') if @api_client.config.debugging begin raise @@ -185,7 +185,7 @@ def get_batch_status_with_http_info(batch_id, opts = {}) # @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. (default to 20) # @option opts [String] :from_date ISO-8601 format: yyyyMMddTHHmmssZ # @option opts [String] :to_date ISO-8601 format: yyyyMMddTHHmmssZ - # @return [InlineResponse2009] + # @return [InlineResponse20010] # def get_batches_list(opts = {}) data, status_code, headers = get_batches_list_with_http_info(opts) @@ -199,7 +199,7 @@ def get_batches_list(opts = {}) # @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. # @option opts [String] :from_date ISO-8601 format: yyyyMMddTHHmmssZ # @option opts [String] :to_date ISO-8601 format: yyyyMMddTHHmmssZ - # @return [Array<(InlineResponse2009, Fixnum, Hash)>] InlineResponse2009 data, response status code and response headers + # @return [Array<(InlineResponse20010, Fixnum, Hash)>] InlineResponse20010 data, response status code and response headers def get_batches_list_with_http_info(opts = {}) if @api_client.config.debugging @@ -247,7 +247,7 @@ def get_batches_list_with_http_info(opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse2009') + :return_type => 'InlineResponse20010') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/create_new_webhooks_api.rb b/lib/cybersource_rest_client/api/create_new_webhooks_api.rb index c8fd822d..af57bcf3 100644 --- a/lib/cybersource_rest_client/api/create_new_webhooks_api.rb +++ b/lib/cybersource_rest_client/api/create_new_webhooks_api.rb @@ -24,7 +24,7 @@ def initialize(api_client = ApiClient.default, config) # # @param organization_id The Organization Identifier. # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Array] # def find_products_to_subscribe(organization_id, opts = {}) data, status_code, headers = find_products_to_subscribe_with_http_info(organization_id, opts) @@ -35,7 +35,7 @@ def find_products_to_subscribe(organization_id, opts = {}) # Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks. # @param organization_id The Organization Identifier. # @param [Hash] opts the optional parameters - # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def find_products_to_subscribe_with_http_info(organization_id, opts = {}) if @api_client.config.debugging @@ -83,7 +83,7 @@ def find_products_to_subscribe_with_http_info(organization_id, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'Array') + :return_type => 'Array') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/device_de_association_api.rb b/lib/cybersource_rest_client/api/device_de_association_api.rb index 668ce550..c0624c38 100644 --- a/lib/cybersource_rest_client/api/device_de_association_api.rb +++ b/lib/cybersource_rest_client/api/device_de_association_api.rb @@ -96,7 +96,7 @@ def delete_terminal_association_with_http_info(de_association_request_body, opts # # @param device_de_associate_v3_request deviceId that has to be de-associated to the destination organizationId. # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Array] # def post_de_associate_v3_terminal(device_de_associate_v3_request, opts = {}) data, status_code, headers = post_de_associate_v3_terminal_with_http_info(device_de_associate_v3_request, opts) @@ -107,7 +107,7 @@ def post_de_associate_v3_terminal(device_de_associate_v3_request, opts = {}) # A device will be de-associated from its current organization and moved up in the hierarchy. The device's new position will be determined by a specified destination, either an account or a portfolio. If no destination is provided, the device will default to the currently logged-in user. # @param device_de_associate_v3_request deviceId that has to be de-associated to the destination organizationId. # @param [Hash] opts the optional parameters - # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def post_de_associate_v3_terminal_with_http_info(device_de_associate_v3_request, opts = {}) if @api_client.config.debugging @@ -153,7 +153,7 @@ def post_de_associate_v3_terminal_with_http_info(device_de_associate_v3_request, :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'Array') + :return_type => 'Array') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/device_search_api.rb b/lib/cybersource_rest_client/api/device_search_api.rb index a0317f74..dc45be9d 100644 --- a/lib/cybersource_rest_client/api/device_search_api.rb +++ b/lib/cybersource_rest_client/api/device_search_api.rb @@ -24,7 +24,7 @@ def initialize(api_client = ApiClient.default, config) # # @param post_device_search_request # @param [Hash] opts the optional parameters - # @return [InlineResponse2006] + # @return [InlineResponse2007] # def post_search_query(post_device_search_request, opts = {}) data, status_code, headers = post_search_query_with_http_info(post_device_search_request, opts) @@ -35,7 +35,7 @@ def post_search_query(post_device_search_request, opts = {}) # Retrieves list of terminals in paginated format. # @param post_device_search_request # @param [Hash] opts the optional parameters - # @return [Array<(InlineResponse2006, Fixnum, Hash)>] InlineResponse2006 data, response status code and response headers + # @return [Array<(InlineResponse2007, Fixnum, Hash)>] InlineResponse2007 data, response status code and response headers def post_search_query_with_http_info(post_device_search_request, opts = {}) if @api_client.config.debugging @@ -81,7 +81,7 @@ def post_search_query_with_http_info(post_device_search_request, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse2006') + :return_type => 'InlineResponse2007') if @api_client.config.debugging begin raise @@ -97,7 +97,7 @@ def post_search_query_with_http_info(post_device_search_request, opts = {}) # # @param post_device_search_request_v3 # @param [Hash] opts the optional parameters - # @return [InlineResponse2008] + # @return [InlineResponse2009] # def post_search_query_v3(post_device_search_request_v3, opts = {}) data, status_code, headers = post_search_query_v3_with_http_info(post_device_search_request_v3, opts) @@ -108,7 +108,7 @@ def post_search_query_v3(post_device_search_request_v3, opts = {}) # Search for devices matching a given search query. The search query supports serialNumber, readerId, terminalId, status, statusChangeReason or organizationId Matching results are paginated. # @param post_device_search_request_v3 # @param [Hash] opts the optional parameters - # @return [Array<(InlineResponse2008, Fixnum, Hash)>] InlineResponse2008 data, response status code and response headers + # @return [Array<(InlineResponse2009, Fixnum, Hash)>] InlineResponse2009 data, response status code and response headers def post_search_query_v3_with_http_info(post_device_search_request_v3, opts = {}) if @api_client.config.debugging @@ -154,7 +154,7 @@ def post_search_query_v3_with_http_info(post_device_search_request_v3, opts = {} :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse2008') + :return_type => 'InlineResponse2009') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/manage_webhooks_api.rb b/lib/cybersource_rest_client/api/manage_webhooks_api.rb index 3c6b0a65..06d082d3 100644 --- a/lib/cybersource_rest_client/api/manage_webhooks_api.rb +++ b/lib/cybersource_rest_client/api/manage_webhooks_api.rb @@ -175,7 +175,7 @@ def get_webhook_subscription_by_id_with_http_info(webhook_id, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :product_id The Product Identifier. # @option opts [String] :event_type The Event Type. - # @return [Array] + # @return [Array] # def get_webhook_subscriptions_by_org(organization_id, opts = {}) data, status_code, headers = get_webhook_subscriptions_by_org_with_http_info(organization_id, opts) @@ -188,7 +188,7 @@ def get_webhook_subscriptions_by_org(organization_id, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :product_id The Product Identifier. # @option opts [String] :event_type The Event Type. - # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers def get_webhook_subscriptions_by_org_with_http_info(organization_id, opts = {}) if @api_client.config.debugging @@ -239,7 +239,7 @@ def get_webhook_subscriptions_by_org_with_http_info(organization_id, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'Array') + :return_type => 'Array') if @api_client.config.debugging begin raise @@ -331,7 +331,7 @@ def notification_subscriptions_v1_webhooks_webhook_id_post_with_http_info(webhoo # @param webhook_id The Webhook Identifier. # @param [Hash] opts the optional parameters # @option opts [UpdateWebhook] :update_webhook The webhook payload or changes to apply. - # @return [InlineResponse2005] + # @return [InlineResponse2006] # def notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, opts = {}) data, status_code, headers = notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webhook_id, opts) @@ -343,7 +343,7 @@ def notification_subscriptions_v2_webhooks_webhook_id_patch(webhook_id, opts = { # @param webhook_id The Webhook Identifier. # @param [Hash] opts the optional parameters # @option opts [UpdateWebhook] :update_webhook The webhook payload or changes to apply. - # @return [Array<(InlineResponse2005, Fixnum, Hash)>] InlineResponse2005 data, response status code and response headers + # @return [Array<(InlineResponse2006, Fixnum, Hash)>] InlineResponse2006 data, response status code and response headers def notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webhook_id, opts = {}) if @api_client.config.debugging @@ -389,7 +389,7 @@ def notification_subscriptions_v2_webhooks_webhook_id_patch_with_http_info(webho :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse2005') + :return_type => 'InlineResponse2006') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/merchant_boarding_api.rb b/lib/cybersource_rest_client/api/merchant_boarding_api.rb index 56ed0dae..2c2187bb 100644 --- a/lib/cybersource_rest_client/api/merchant_boarding_api.rb +++ b/lib/cybersource_rest_client/api/merchant_boarding_api.rb @@ -24,7 +24,7 @@ def initialize(api_client = ApiClient.default, config) # # @param registration_id Identifies the boarding registration to be updated # @param [Hash] opts the optional parameters - # @return [InlineResponse2002] + # @return [InlineResponse2003] # def get_registration(registration_id, opts = {}) data, status_code, headers = get_registration_with_http_info(registration_id, opts) @@ -35,7 +35,7 @@ def get_registration(registration_id, opts = {}) # This end point will get all information of a boarding registration # @param registration_id Identifies the boarding registration to be updated # @param [Hash] opts the optional parameters - # @return [Array<(InlineResponse2002, Fixnum, Hash)>] InlineResponse2002 data, response status code and response headers + # @return [Array<(InlineResponse2003, Fixnum, Hash)>] InlineResponse2003 data, response status code and response headers def get_registration_with_http_info(registration_id, opts = {}) if @api_client.config.debugging @@ -83,7 +83,7 @@ def get_registration_with_http_info(registration_id, opts = {}) :form_params => form_params, :body => post_body, :auth_names => auth_names, - :return_type => 'InlineResponse2002') + :return_type => 'InlineResponse2003') if @api_client.config.debugging begin raise diff --git a/lib/cybersource_rest_client/api/merchant_defined_fields_api.rb b/lib/cybersource_rest_client/api/merchant_defined_fields_api.rb new file mode 100644 index 00000000..201de663 --- /dev/null +++ b/lib/cybersource_rest_client/api/merchant_defined_fields_api.rb @@ -0,0 +1,350 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'uri' +require 'AuthenticationSDK/util/MLEUtility' +module CyberSource + class MerchantDefinedFieldsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default, config) + @api_client = api_client + @api_client.set_configuration(config) + end + # Create merchant defined field for a given reference type + # + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param merchant_defined_field_definition_request + # @param [Hash] opts the optional parameters + # @return [Array] + # + def create_merchant_defined_field_definition(reference_type, merchant_defined_field_definition_request, opts = {}) + data, status_code, headers = create_merchant_defined_field_definition_with_http_info(reference_type, merchant_defined_field_definition_request, opts) + return data, status_code, headers + end + + # Create merchant defined field for a given reference type + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param merchant_defined_field_definition_request + # @param [Hash] opts the optional parameters + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + def create_merchant_defined_field_definition_with_http_info(reference_type, merchant_defined_field_definition_request, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: MerchantDefinedFieldsApi.create_merchant_defined_field_definition ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'reference_type' is set + if @api_client.config.client_side_validation && reference_type.nil? + fail ArgumentError, "Missing the required parameter 'reference_type' when calling MerchantDefinedFieldsApi.create_merchant_defined_field_definition" + end + # verify enum value + if @api_client.config.client_side_validation && !['Invoice', 'Purchase', 'Donation'].include?(reference_type) + fail ArgumentError, "invalid value for 'reference_type', must be one of Invoice, Purchase, Donation" + end + # verify the required parameter 'merchant_defined_field_definition_request' is set + if @api_client.config.client_side_validation && merchant_defined_field_definition_request.nil? + fail ArgumentError, "Missing the required parameter 'merchant_defined_field_definition_request' when calling MerchantDefinedFieldsApi.create_merchant_defined_field_definition" + end + # resource path + local_var_path = 'invoicing/v2/{referenceType}/merchantDefinedFields'.sub('{' + 'referenceType' + '}', reference_type.to_s) + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) + + # form parameters + form_params = {} + + # http body (model) + post_body = @api_client.object_to_http_body(merchant_defined_field_definition_request) + sdk_tracker = SdkTracker.new + post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'MerchantDefinedFieldDefinitionRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId) + inbound_mle_status = "false" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["create_merchant_defined_field_definition","create_merchant_defined_field_definition_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:POST, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => 'Array') + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: MerchantDefinedFieldsApi#create_merchant_defined_field_definition\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end + # Get all merchant defined fields for a given reference type + # + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param [Hash] opts the optional parameters + # @return [Array] + # + def get_merchant_defined_fields_definitions(reference_type, opts = {}) + data, status_code, headers = get_merchant_defined_fields_definitions_with_http_info(reference_type, opts) + return data, status_code, headers + end + + # Get all merchant defined fields for a given reference type + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param [Hash] opts the optional parameters + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + def get_merchant_defined_fields_definitions_with_http_info(reference_type, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: MerchantDefinedFieldsApi.get_merchant_defined_fields_definitions ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'reference_type' is set + if @api_client.config.client_side_validation && reference_type.nil? + fail ArgumentError, "Missing the required parameter 'reference_type' when calling MerchantDefinedFieldsApi.get_merchant_defined_fields_definitions" + end + # verify enum value + if @api_client.config.client_side_validation && !['Invoice', 'Purchase', 'Donation'].include?(reference_type) + fail ArgumentError, "invalid value for 'reference_type', must be one of Invoice, Purchase, Donation" + end + # resource path + local_var_path = 'invoicing/v2/{referenceType}/merchantDefinedFields'.sub('{' + 'referenceType' + '}', reference_type.to_s) + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) + + # form parameters + form_params = {} + + # http body (model) + if 'GET' == 'POST' + post_body = '{}' + else + post_body = nil + end + inbound_mle_status = "false" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["get_merchant_defined_fields_definitions","get_merchant_defined_fields_definitions_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:GET, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => 'Array') + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: MerchantDefinedFieldsApi#get_merchant_defined_fields_definitions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end + # Delete a MerchantDefinedField by ID + # + # @param reference_type + # @param id + # @param [Hash] opts the optional parameters + # @return [nil] + # + def invoicing_v2_reference_type_merchant_defined_fields_id_delete(reference_type, id, opts = {}) + data, status_code, headers = invoicing_v2_reference_type_merchant_defined_fields_id_delete_with_http_info(reference_type, id, opts) + return data, status_code, headers + end + + # Delete a MerchantDefinedField by ID + # @param reference_type + # @param id + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers + def invoicing_v2_reference_type_merchant_defined_fields_id_delete_with_http_info(reference_type, id, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_delete ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'reference_type' is set + if @api_client.config.client_side_validation && reference_type.nil? + fail ArgumentError, "Missing the required parameter 'reference_type' when calling MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_delete" + end + # verify enum value + if @api_client.config.client_side_validation && !['Invoice', 'Purchase', 'Donation'].include?(reference_type) + fail ArgumentError, "invalid value for 'reference_type', must be one of Invoice, Purchase, Donation" + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_delete" + end + # resource path + local_var_path = 'invoicing/v2/{referenceType}/merchantDefinedFields/{id}'.sub('{' + 'referenceType' + '}', reference_type.to_s).sub('{' + 'id' + '}', id.to_s) + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8']) + + # form parameters + form_params = {} + + # http body (model) + if 'DELETE' == 'POST' + post_body = '{}' + else + post_body = nil + end + inbound_mle_status = "false" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["invoicing_v2_reference_type_merchant_defined_fields_id_delete","invoicing_v2_reference_type_merchant_defined_fields_id_delete_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names) + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: MerchantDefinedFieldsApi#invoicing_v2_reference_type_merchant_defined_fields_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end + # Update a MerchantDefinedField by ID + # + # @param reference_type + # @param id + # @param merchant_defined_field_core + # @param [Hash] opts the optional parameters + # @return [Array] + # + def invoicing_v2_reference_type_merchant_defined_fields_id_put(reference_type, id, merchant_defined_field_core, opts = {}) + data, status_code, headers = invoicing_v2_reference_type_merchant_defined_fields_id_put_with_http_info(reference_type, id, merchant_defined_field_core, opts) + return data, status_code, headers + end + + # Update a MerchantDefinedField by ID + # @param reference_type + # @param id + # @param merchant_defined_field_core + # @param [Hash] opts the optional parameters + # @return [Array<(Array, Fixnum, Hash)>] Array data, response status code and response headers + def invoicing_v2_reference_type_merchant_defined_fields_id_put_with_http_info(reference_type, id, merchant_defined_field_core, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_put ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'reference_type' is set + if @api_client.config.client_side_validation && reference_type.nil? + fail ArgumentError, "Missing the required parameter 'reference_type' when calling MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_put" + end + # verify enum value + if @api_client.config.client_side_validation && !['Invoice', 'Purchase', 'Donation'].include?(reference_type) + fail ArgumentError, "invalid value for 'reference_type', must be one of Invoice, Purchase, Donation" + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_put" + end + # verify the required parameter 'merchant_defined_field_core' is set + if @api_client.config.client_side_validation && merchant_defined_field_core.nil? + fail ArgumentError, "Missing the required parameter 'merchant_defined_field_core' when calling MerchantDefinedFieldsApi.invoicing_v2_reference_type_merchant_defined_fields_id_put" + end + # resource path + local_var_path = 'invoicing/v2/{referenceType}/merchantDefinedFields/{id}'.sub('{' + 'referenceType' + '}', reference_type.to_s).sub('{' + 'id' + '}', id.to_s) + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/hal+json;charset=utf-8']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8']) + + # form parameters + form_params = {} + + # http body (model) + post_body = @api_client.object_to_http_body(merchant_defined_field_core) + sdk_tracker = SdkTracker.new + post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'MerchantDefinedFieldCore', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId) + inbound_mle_status = "false" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["invoicing_v2_reference_type_merchant_defined_fields_id_put","invoicing_v2_reference_type_merchant_defined_fields_id_put_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => 'Array') + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: MerchantDefinedFieldsApi#invoicing_v2_reference_type_merchant_defined_fields_id_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end + end +end diff --git a/lib/cybersource_rest_client/api/tokenized_card_api.rb b/lib/cybersource_rest_client/api/tokenized_card_api.rb index 2feb3e7a..b5abfabc 100644 --- a/lib/cybersource_rest_client/api/tokenized_card_api.rb +++ b/lib/cybersource_rest_client/api/tokenized_card_api.rb @@ -174,6 +174,91 @@ def get_tokenized_card_with_http_info(tokenized_card_id, opts = {}) end return data, status_code, headers end + # Simulate Issuer Life Cycle Management Events + # **Lifecycle Management Events**
Simulates an issuer life cycle manegement event for updates on the tokenized card. The events that can be simulated are: - Token status changes (e.g. active, suspended, deleted) - Updates to the underlying card, including card art changes, expiration date changes, and card number suffix. **Note:** This is only available in CAS environment. + # + # @param profile_id The Id of a profile containing user specific TMS configuration. + # @param tokenized_card_id The Id of a tokenized card. + # @param post_issuer_life_cycle_simulation_request + # @param [Hash] opts the optional parameters + # @return [nil] + # + def post_issuer_life_cycle_simulation(profile_id, tokenized_card_id, post_issuer_life_cycle_simulation_request, opts = {}) + data, status_code, headers = post_issuer_life_cycle_simulation_with_http_info(profile_id, tokenized_card_id, post_issuer_life_cycle_simulation_request, opts) + return data, status_code, headers + end + + # Simulate Issuer Life Cycle Management Events + # **Lifecycle Management Events**<br>Simulates an issuer life cycle manegement event for updates on the tokenized card. The events that can be simulated are: - Token status changes (e.g. active, suspended, deleted) - Updates to the underlying card, including card art changes, expiration date changes, and card number suffix. **Note:** This is only available in CAS environment. + # @param profile_id The Id of a profile containing user specific TMS configuration. + # @param tokenized_card_id The Id of a tokenized card. + # @param post_issuer_life_cycle_simulation_request + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers + def post_issuer_life_cycle_simulation_with_http_info(profile_id, tokenized_card_id, post_issuer_life_cycle_simulation_request, opts = {}) + + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug 'Calling API: TokenizedCardApi.post_issuer_life_cycle_simulation ...' + rescue + puts 'Cannot write to log' + end + end + # verify the required parameter 'profile_id' is set + if @api_client.config.client_side_validation && profile_id.nil? + fail ArgumentError, "Missing the required parameter 'profile_id' when calling TokenizedCardApi.post_issuer_life_cycle_simulation" + end + # verify the required parameter 'tokenized_card_id' is set + if @api_client.config.client_side_validation && tokenized_card_id.nil? + fail ArgumentError, "Missing the required parameter 'tokenized_card_id' when calling TokenizedCardApi.post_issuer_life_cycle_simulation" + end + # verify the required parameter 'post_issuer_life_cycle_simulation_request' is set + if @api_client.config.client_side_validation && post_issuer_life_cycle_simulation_request.nil? + fail ArgumentError, "Missing the required parameter 'post_issuer_life_cycle_simulation_request' when calling TokenizedCardApi.post_issuer_life_cycle_simulation" + end + # resource path + local_var_path = 'tms/v2/tokenized-cards/{tokenizedCardId}/issuer-life-cycle-event-simulations'.sub('{' + 'tokenizedCardId' + '}', tokenized_card_id.to_s) + + # query parameters + query_params = {} + + # header parameters + header_params = {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json;charset=utf-8']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json;charset=utf-8']) + header_params[:'profile-id'] = profile_id + + # form parameters + form_params = {} + + # http body (model) + post_body = @api_client.object_to_http_body(post_issuer_life_cycle_simulation_request) + sdk_tracker = SdkTracker.new + post_body = sdk_tracker.insert_developer_id_tracker(post_body, 'PostIssuerLifeCycleSimulationRequest', @api_client.config.host, @api_client.merchantconfig.defaultDeveloperId) + inbound_mle_status = "false" + if MLEUtility.check_is_mle_for_API(@api_client.merchantconfig, inbound_mle_status, ["post_issuer_life_cycle_simulation","post_issuer_life_cycle_simulation_with_http_info"]) + post_body = MLEUtility.encrypt_request_payload(@api_client.merchantconfig, post_body) + end + auth_names = [] + data, status_code, headers = @api_client.call_api(:POST, local_var_path, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names) + if @api_client.config.debugging + begin + raise + @api_client.config.logger.debug "API called: TokenizedCardApi#post_issuer_life_cycle_simulation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + rescue + puts 'Cannot write to log' + end + end + return data, status_code, headers + end # Create a Tokenized Card # | | | | | --- | --- | --- | |**Tokenized cards**
A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires. # diff --git a/lib/cybersource_rest_client/models/account_validations_request.rb b/lib/cybersource_rest_client/models/account_validations_request.rb new file mode 100644 index 00000000..1f89e12a --- /dev/null +++ b/lib/cybersource_rest_client/models/account_validations_request.rb @@ -0,0 +1,219 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class AccountValidationsRequest + attr_accessor :client_reference_information + + attr_accessor :processing_information + + attr_accessor :payment_information + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_reference_information' => :'clientReferenceInformation', + :'processing_information' => :'processingInformation', + :'payment_information' => :'paymentInformation' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'client_reference_information' => :'client_reference_information', + :'processing_information' => :'processing_information', + :'payment_information' => :'payment_information' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'client_reference_information' => :'Bavsv1accountvalidationsClientReferenceInformation', + :'processing_information' => :'Bavsv1accountvalidationsProcessingInformation', + :'payment_information' => :'Bavsv1accountvalidationsPaymentInformation' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'clientReferenceInformation') + self.client_reference_information = attributes[:'clientReferenceInformation'] + end + + if attributes.has_key?(:'processingInformation') + self.processing_information = attributes[:'processingInformation'] + end + + if attributes.has_key?(:'paymentInformation') + self.payment_information = attributes[:'paymentInformation'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @processing_information.nil? + invalid_properties.push('invalid value for "processing_information", processing_information cannot be nil.') + end + + if @payment_information.nil? + invalid_properties.push('invalid value for "payment_information", payment_information cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @processing_information.nil? + return false if @payment_information.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_reference_information == o.client_reference_information && + processing_information == o.processing_information && + payment_information == o.payment_information + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [client_reference_information, processing_information, payment_information].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features_surcharge.rb b/lib/cybersource_rest_client/models/bavsv1accountvalidations_client_reference_information.rb similarity index 93% rename from lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features_surcharge.rb rename to lib/cybersource_rest_client/models/bavsv1accountvalidations_client_reference_information.rb index 9ca44dad..b157a8ad 100644 --- a/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features_surcharge.rb +++ b/lib/cybersource_rest_client/models/bavsv1accountvalidations_client_reference_information.rb @@ -12,27 +12,28 @@ require 'date' module CyberSource - class PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge - attr_accessor :enabled + class Bavsv1accountvalidationsClientReferenceInformation + # Client reference code + attr_accessor :code # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'enabled' => :'enabled' + :'code' => :'code' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'enabled' => :'enabled' + :'code' => :'code' } end # Attribute type mapping. def self.swagger_types { - :'enabled' => :'BOOLEAN' + :'code' => :'String' } end @@ -44,8 +45,8 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'enabled') - self.enabled = attributes[:'enabled'] + if attributes.has_key?(:'code') + self.code = attributes[:'code'] end end @@ -67,7 +68,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - enabled == o.enabled + code == o.code end # @see the `==` method @@ -79,7 +80,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [enabled].hash + [code].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information.rb b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information.rb new file mode 100644 index 00000000..aedb15a1 --- /dev/null +++ b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information.rb @@ -0,0 +1,194 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Bavsv1accountvalidationsPaymentInformation + attr_accessor :bank + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'bank' => :'bank' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'bank' => :'bank' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'bank' => :'Bavsv1accountvalidationsPaymentInformationBank' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'bank') + self.bank = attributes[:'bank'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @bank.nil? + invalid_properties.push('invalid value for "bank", bank cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @bank.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + bank == o.bank + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [bank].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank.rb b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank.rb new file mode 100644 index 00000000..5610b2c6 --- /dev/null +++ b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank.rb @@ -0,0 +1,220 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Bavsv1accountvalidationsPaymentInformationBank + # Bank routing number. This is also called the transit number. Non-Negative Integer + attr_accessor :routing_number + + attr_accessor :account + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'routing_number' => :'routingNumber', + :'account' => :'account' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'routing_number' => :'routing_number', + :'account' => :'account' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'routing_number' => :'String', + :'account' => :'Bavsv1accountvalidationsPaymentInformationBankAccount' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'routingNumber') + self.routing_number = attributes[:'routingNumber'] + end + + if attributes.has_key?(:'account') + self.account = attributes[:'account'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @routing_number.nil? + invalid_properties.push('invalid value for "routing_number", routing_number cannot be nil.') + end + + if @account.nil? + invalid_properties.push('invalid value for "account", account cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @routing_number.nil? + return false if @account.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] routing_number Value to be assigned + def routing_number=(routing_number) + #if routing_number.nil? + #fail ArgumentError, 'routing_number cannot be nil' + #end + + @routing_number = routing_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + routing_number == o.routing_number && + account == o.account + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [routing_number, account].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account.rb b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account.rb new file mode 100644 index 00000000..bbaf9013 --- /dev/null +++ b/lib/cybersource_rest_client/models/bavsv1accountvalidations_payment_information_bank_account.rb @@ -0,0 +1,205 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Bavsv1accountvalidationsPaymentInformationBankAccount + # Account Number. Non-Negative Integer. example: 12345678901234577 + attr_accessor :number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'number' => :'number' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'number' => :'number' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'number' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'number') + self.number = attributes[:'number'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @number.nil? + invalid_properties.push('invalid value for "number", number cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @number.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] number Value to be assigned + def number=(number) + #if number.nil? + #fail ArgumentError, 'number cannot be nil' + #end + + @number = number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + number == o.number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/bavsv1accountvalidations_processing_information.rb b/lib/cybersource_rest_client/models/bavsv1accountvalidations_processing_information.rb new file mode 100644 index 00000000..ba04f1ab --- /dev/null +++ b/lib/cybersource_rest_client/models/bavsv1accountvalidations_processing_information.rb @@ -0,0 +1,195 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Bavsv1accountvalidationsProcessingInformation + # Enter 1 for routing and account number validation. + attr_accessor :validation_level + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'validation_level' => :'validationLevel' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'validation_level' => :'validation_level' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'validation_level' => :'Integer' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'validationLevel') + self.validation_level = attributes[:'validationLevel'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @validation_level.nil? + invalid_properties.push('invalid value for "validation_level", validation_level cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @validation_level.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + validation_level == o.validation_level + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [validation_level].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/capture_payment_request.rb b/lib/cybersource_rest_client/models/capture_payment_request.rb index d0be7c96..50524e67 100644 --- a/lib/cybersource_rest_client/models/capture_payment_request.rb +++ b/lib/cybersource_rest_client/models/capture_payment_request.rb @@ -42,6 +42,8 @@ class CapturePaymentRequest attr_accessor :promotion_information + attr_accessor :processor_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -58,7 +60,8 @@ def self.attribute_map :'merchant_defined_secure_information' => :'merchantDefinedSecureInformation', :'installment_information' => :'installmentInformation', :'travel_information' => :'travelInformation', - :'promotion_information' => :'promotionInformation' + :'promotion_information' => :'promotionInformation', + :'processor_information' => :'processorInformation' } end @@ -78,7 +81,8 @@ def self.json_map :'merchant_defined_secure_information' => :'merchant_defined_secure_information', :'installment_information' => :'installment_information', :'travel_information' => :'travel_information', - :'promotion_information' => :'promotion_information' + :'promotion_information' => :'promotion_information', + :'processor_information' => :'processor_information' } end @@ -98,7 +102,8 @@ def self.swagger_types :'merchant_defined_secure_information' => :'Ptsv2paymentsMerchantDefinedSecureInformation', :'installment_information' => :'Ptsv2paymentsidcapturesInstallmentInformation', :'travel_information' => :'Ptsv2paymentsTravelInformation', - :'promotion_information' => :'Ptsv2paymentsPromotionInformation' + :'promotion_information' => :'Ptsv2paymentsPromotionInformation', + :'processor_information' => :'Ptsv2reversalsProcessorInformation' } end @@ -167,6 +172,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'promotionInformation') self.promotion_information = attributes[:'promotionInformation'] end + + if attributes.has_key?(:'processorInformation') + self.processor_information = attributes[:'processorInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -200,7 +209,8 @@ def ==(o) merchant_defined_secure_information == o.merchant_defined_secure_information && installment_information == o.installment_information && travel_information == o.travel_information && - promotion_information == o.promotion_information + promotion_information == o.promotion_information && + processor_information == o.processor_information end # @see the `==` method @@ -212,7 +222,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, merchant_defined_secure_information, installment_information, travel_information, promotion_information].hash + [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, merchant_defined_secure_information, installment_information, travel_information, promotion_information, processor_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/card_processing_config_common_acquirers.rb b/lib/cybersource_rest_client/models/card_processing_config_common_acquirers.rb new file mode 100644 index 00000000..9963c3f4 --- /dev/null +++ b/lib/cybersource_rest_client/models/card_processing_config_common_acquirers.rb @@ -0,0 +1,315 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class CardProcessingConfigCommonAcquirers + # Identifier of the acquirer. This number is usually assigned by Visa. + attr_accessor :institution_id + + # Number assigned by MasterCard to banks to identify the member in transactions. + attr_accessor :interbank_card_association_id + + # Assigned by Discover to identify the acquirer. + attr_accessor :discover_institution_id + + # ISO 4217 format. + attr_accessor :country_code + + # The BIN to which this capturefile is sent. This field must contain a valid BIN. + attr_accessor :file_destination_bin + + # Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. + attr_accessor :merchant_verification_value + + # Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party. + attr_accessor :merchant_id + + # The 'Terminal Id' aka TID, is an identifier used for with your payments processor. Depending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions. + attr_accessor :terminal_id + + # Allows multiple captures for a single authorization transaction. + attr_accessor :allow_multiple_bills + + # To enable merchant to send in transaction reference number (unique reconciliation ID). + attr_accessor :enable_transaction_reference_number + + # Valid values are: * VISA * MASTERCARD * AMERICAN_EXPRESS * CUP * EFTPOS * DINERS_CLUB * DISCOVER * JCB + attr_accessor :payment_types + + # Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) + attr_accessor :currencies + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'institution_id' => :'institutionId', + :'interbank_card_association_id' => :'interbankCardAssociationId', + :'discover_institution_id' => :'discoverInstitutionId', + :'country_code' => :'countryCode', + :'file_destination_bin' => :'fileDestinationBin', + :'merchant_verification_value' => :'merchantVerificationValue', + :'merchant_id' => :'merchantId', + :'terminal_id' => :'terminalId', + :'allow_multiple_bills' => :'allowMultipleBills', + :'enable_transaction_reference_number' => :'enableTransactionReferenceNumber', + :'payment_types' => :'paymentTypes', + :'currencies' => :'currencies' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'institution_id' => :'institution_id', + :'interbank_card_association_id' => :'interbank_card_association_id', + :'discover_institution_id' => :'discover_institution_id', + :'country_code' => :'country_code', + :'file_destination_bin' => :'file_destination_bin', + :'merchant_verification_value' => :'merchant_verification_value', + :'merchant_id' => :'merchant_id', + :'terminal_id' => :'terminal_id', + :'allow_multiple_bills' => :'allow_multiple_bills', + :'enable_transaction_reference_number' => :'enable_transaction_reference_number', + :'payment_types' => :'payment_types', + :'currencies' => :'currencies' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'institution_id' => :'String', + :'interbank_card_association_id' => :'String', + :'discover_institution_id' => :'String', + :'country_code' => :'String', + :'file_destination_bin' => :'String', + :'merchant_verification_value' => :'String', + :'merchant_id' => :'String', + :'terminal_id' => :'String', + :'allow_multiple_bills' => :'BOOLEAN', + :'enable_transaction_reference_number' => :'BOOLEAN', + :'payment_types' => :'Hash', + :'currencies' => :'Hash' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'institutionId') + self.institution_id = attributes[:'institutionId'] + end + + if attributes.has_key?(:'interbankCardAssociationId') + self.interbank_card_association_id = attributes[:'interbankCardAssociationId'] + end + + if attributes.has_key?(:'discoverInstitutionId') + self.discover_institution_id = attributes[:'discoverInstitutionId'] + end + + if attributes.has_key?(:'countryCode') + self.country_code = attributes[:'countryCode'] + end + + if attributes.has_key?(:'fileDestinationBin') + self.file_destination_bin = attributes[:'fileDestinationBin'] + end + + if attributes.has_key?(:'merchantVerificationValue') + self.merchant_verification_value = attributes[:'merchantVerificationValue'] + end + + if attributes.has_key?(:'merchantId') + self.merchant_id = attributes[:'merchantId'] + end + + if attributes.has_key?(:'terminalId') + self.terminal_id = attributes[:'terminalId'] + end + + if attributes.has_key?(:'allowMultipleBills') + self.allow_multiple_bills = attributes[:'allowMultipleBills'] + end + + if attributes.has_key?(:'enableTransactionReferenceNumber') + self.enable_transaction_reference_number = attributes[:'enableTransactionReferenceNumber'] + end + + if attributes.has_key?(:'paymentTypes') + if (value = attributes[:'paymentTypes']).is_a?(Hash) + self.payment_types = value + end + end + + if attributes.has_key?(:'currencies') + if (value = attributes[:'currencies']).is_a?(Hash) + self.currencies = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + institution_id == o.institution_id && + interbank_card_association_id == o.interbank_card_association_id && + discover_institution_id == o.discover_institution_id && + country_code == o.country_code && + file_destination_bin == o.file_destination_bin && + merchant_verification_value == o.merchant_verification_value && + merchant_id == o.merchant_id && + terminal_id == o.terminal_id && + allow_multiple_bills == o.allow_multiple_bills && + enable_transaction_reference_number == o.enable_transaction_reference_number && + payment_types == o.payment_types && + currencies == o.currencies + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [institution_id, interbank_card_association_id, discover_institution_id, country_code, file_destination_bin, merchant_verification_value, merchant_id, terminal_id, allow_multiple_bills, enable_transaction_reference_number, payment_types, currencies].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb b/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb index a47bb8a7..3af93807 100644 --- a/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb +++ b/lib/cybersource_rest_client/models/card_processing_config_common_processors.rb @@ -27,6 +27,9 @@ class CardProcessingConfigCommonProcessors attr_accessor :acquirer + # Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. + attr_accessor :acquirers + # Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party. Validation details (for selected processors)...
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
attr_accessor :merchant_id @@ -161,6 +164,7 @@ def self.attribute_map :'merchant_verification_value' => :'merchantVerificationValue', :'aba_number' => :'abaNumber', :'acquirer' => :'acquirer', + :'acquirers' => :'acquirers', :'merchant_id' => :'merchantId', :'terminal_id' => :'terminalId', :'payment_types' => :'paymentTypes', @@ -214,6 +218,7 @@ def self.json_map :'merchant_verification_value' => :'merchant_verification_value', :'aba_number' => :'aba_number', :'acquirer' => :'acquirer', + :'acquirers' => :'acquirers', :'merchant_id' => :'merchant_id', :'terminal_id' => :'terminal_id', :'payment_types' => :'payment_types', @@ -267,6 +272,7 @@ def self.swagger_types :'merchant_verification_value' => :'String', :'aba_number' => :'String', :'acquirer' => :'CardProcessingConfigCommonAcquirer', + :'acquirers' => :'Hash', :'merchant_id' => :'String', :'terminal_id' => :'String', :'payment_types' => :'Hash', @@ -340,6 +346,12 @@ def initialize(attributes = {}) self.acquirer = attributes[:'acquirer'] end + if attributes.has_key?(:'acquirers') + if (value = attributes[:'acquirers']).is_a?(Hash) + self.acquirers = value + end + end + if attributes.has_key?(:'merchantId') self.merchant_id = attributes[:'merchantId'] end @@ -556,6 +568,7 @@ def ==(o) merchant_verification_value == o.merchant_verification_value && aba_number == o.aba_number && acquirer == o.acquirer && + acquirers == o.acquirers && merchant_id == o.merchant_id && terminal_id == o.terminal_id && payment_types == o.payment_types && @@ -609,7 +622,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [batch_group, business_application_id, merchant_verification_value, aba_number, acquirer, merchant_id, terminal_id, payment_types, currencies, visa_aggregator_id, amex_aggregator_id, master_card_aggregator_id, sic_code, allow_multiple_bills, allow_merchant_descriptor_override, enhanced_data, fire_safety_indicator, quasi_cash, acquirer_merchant_id, avs_format, enable_long_trans_ref_no, enable_level2, enable_multiple_transaction_advice_addendum, amex_transaction_advice_addendum1, enable_multi_line_items, enable_transaction_reference_number, enable_auto_auth_reversal_after_void, enable_expresspay_pan_translation, enable_credit_auth, industry_code, send_amex_level2_data, soft_descriptor_type, vital_number, bank_number, chain_number, merchant_bin_number, merchant_location_number, store_id, travel_agency_code, travel_agency_name, settlement_currency, enable_least_cost_routing, enable_cvv_response_indicator, enable_multi_currency_processing, enable_pos_network_switching, enable_dynamic_currency_conversion, merchant_tier].hash + [batch_group, business_application_id, merchant_verification_value, aba_number, acquirer, acquirers, merchant_id, terminal_id, payment_types, currencies, visa_aggregator_id, amex_aggregator_id, master_card_aggregator_id, sic_code, allow_multiple_bills, allow_merchant_descriptor_override, enhanced_data, fire_safety_indicator, quasi_cash, acquirer_merchant_id, avs_format, enable_long_trans_ref_no, enable_level2, enable_multiple_transaction_advice_addendum, amex_transaction_advice_addendum1, enable_multi_line_items, enable_transaction_reference_number, enable_auto_auth_reversal_after_void, enable_expresspay_pan_translation, enable_credit_auth, industry_code, send_amex_level2_data, soft_descriptor_type, vital_number, bank_number, chain_number, merchant_bin_number, merchant_location_number, store_id, travel_agency_code, travel_agency_name, settlement_currency, enable_least_cost_routing, enable_cvv_response_indicator, enable_multi_currency_processing, enable_pos_network_switching, enable_dynamic_currency_conversion, merchant_tier].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/commerce_solutions_products_account_updater.rb b/lib/cybersource_rest_client/models/commerce_solutions_products_account_updater.rb index ebb03233..edc33324 100644 --- a/lib/cybersource_rest_client/models/commerce_solutions_products_account_updater.rb +++ b/lib/cybersource_rest_client/models/commerce_solutions_products_account_updater.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'CommerceSolutionsProductsAccountUpdaterConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/commerce_solutions_products_bin_lookup.rb b/lib/cybersource_rest_client/models/commerce_solutions_products_bin_lookup.rb index 7b8e4e1b..1300a839 100644 --- a/lib/cybersource_rest_client/models/commerce_solutions_products_bin_lookup.rb +++ b/lib/cybersource_rest_client/models/commerce_solutions_products_bin_lookup.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'CommerceSolutionsProductsBinLookupConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/commerce_solutions_products_token_management.rb b/lib/cybersource_rest_client/models/commerce_solutions_products_token_management.rb index 960743bd..186443ee 100644 --- a/lib/cybersource_rest_client/models/commerce_solutions_products_token_management.rb +++ b/lib/cybersource_rest_client/models/commerce_solutions_products_token_management.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'CommerceSolutionsProductsTokenManagementConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/create_credit_request.rb b/lib/cybersource_rest_client/models/create_credit_request.rb index 0312abf8..4afa93e5 100644 --- a/lib/cybersource_rest_client/models/create_credit_request.rb +++ b/lib/cybersource_rest_client/models/create_credit_request.rb @@ -46,6 +46,8 @@ class CreateCreditRequest attr_accessor :promotion_information + attr_accessor :processor_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -64,7 +66,8 @@ def self.attribute_map :'travel_information' => :'travelInformation', :'recipient_information' => :'recipientInformation', :'sender_information' => :'senderInformation', - :'promotion_information' => :'promotionInformation' + :'promotion_information' => :'promotionInformation', + :'processor_information' => :'processorInformation' } end @@ -86,7 +89,8 @@ def self.json_map :'travel_information' => :'travel_information', :'recipient_information' => :'recipient_information', :'sender_information' => :'sender_information', - :'promotion_information' => :'promotion_information' + :'promotion_information' => :'promotion_information', + :'processor_information' => :'processor_information' } end @@ -108,7 +112,8 @@ def self.swagger_types :'travel_information' => :'Ptsv2paymentsTravelInformation', :'recipient_information' => :'Ptsv2creditsRecipientInformation', :'sender_information' => :'Ptsv2creditsSenderInformation', - :'promotion_information' => :'Ptsv2paymentsPromotionInformation' + :'promotion_information' => :'Ptsv2paymentsPromotionInformation', + :'processor_information' => :'Ptsv2reversalsProcessorInformation' } end @@ -185,6 +190,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'promotionInformation') self.promotion_information = attributes[:'promotionInformation'] end + + if attributes.has_key?(:'processorInformation') + self.processor_information = attributes[:'processorInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -220,7 +229,8 @@ def ==(o) travel_information == o.travel_information && recipient_information == o.recipient_information && sender_information == o.sender_information && - promotion_information == o.promotion_information + promotion_information == o.promotion_information && + processor_information == o.processor_information end # @see the `==` method @@ -232,7 +242,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, merchant_defined_secure_information, installment_information, travel_information, recipient_information, sender_information, promotion_information].hash + [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, merchant_defined_secure_information, installment_information, travel_information, recipient_information, sender_information, promotion_information, processor_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/create_invoice_request.rb b/lib/cybersource_rest_client/models/create_invoice_request.rb index 667b578f..4f330d2f 100644 --- a/lib/cybersource_rest_client/models/create_invoice_request.rb +++ b/lib/cybersource_rest_client/models/create_invoice_request.rb @@ -23,6 +23,8 @@ class CreateInvoiceRequest attr_accessor :order_information + attr_accessor :merchant_defined_field_values + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -30,7 +32,8 @@ def self.attribute_map :'customer_information' => :'customerInformation', :'processing_information' => :'processingInformation', :'invoice_information' => :'invoiceInformation', - :'order_information' => :'orderInformation' + :'order_information' => :'orderInformation', + :'merchant_defined_field_values' => :'merchantDefinedFieldValues' } end @@ -41,7 +44,8 @@ def self.json_map :'customer_information' => :'customer_information', :'processing_information' => :'processing_information', :'invoice_information' => :'invoice_information', - :'order_information' => :'order_information' + :'order_information' => :'order_information', + :'merchant_defined_field_values' => :'merchant_defined_field_values' } end @@ -52,7 +56,8 @@ def self.swagger_types :'customer_information' => :'Invoicingv2invoicesCustomerInformation', :'processing_information' => :'Invoicingv2invoicesProcessingInformation', :'invoice_information' => :'Invoicingv2invoicesInvoiceInformation', - :'order_information' => :'Invoicingv2invoicesOrderInformation' + :'order_information' => :'Invoicingv2invoicesOrderInformation', + :'merchant_defined_field_values' => :'Array' } end @@ -83,6 +88,12 @@ def initialize(attributes = {}) if attributes.has_key?(:'orderInformation') self.order_information = attributes[:'orderInformation'] end + + if attributes.has_key?(:'merchantDefinedFieldValues') + if (value = attributes[:'merchantDefinedFieldValues']).is_a?(Array) + self.merchant_defined_field_values = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -117,7 +128,8 @@ def ==(o) customer_information == o.customer_information && processing_information == o.processing_information && invoice_information == o.invoice_information && - order_information == o.order_information + order_information == o.order_information && + merchant_defined_field_values == o.merchant_defined_field_values end # @see the `==` method @@ -129,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, customer_information, processing_information, invoice_information, order_information].hash + [client_reference_information, customer_information, processing_information, invoice_information, order_information, merchant_defined_field_values].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_10.rb b/lib/cybersource_rest_client/models/inline_response_200_10.rb index 04e2ecd1..eff7a4ad 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_10.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10.rb @@ -15,42 +15,28 @@ module CyberSource class InlineResponse20010 attr_accessor :_links - # Unique identification number assigned to the submitted request. - attr_accessor :batch_id + attr_accessor :object - # ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ - attr_accessor :batch_created_date + attr_accessor :offset - # Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE - attr_accessor :batch_source + attr_accessor :limit - # Reference used by merchant to identify batch. - attr_accessor :merchant_reference + attr_accessor :count - attr_accessor :batch_ca_endpoints + attr_accessor :total - # Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED - attr_accessor :status - - attr_accessor :totals - - attr_accessor :billing - - attr_accessor :description + attr_accessor :_embedded # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'_links' => :'_links', - :'batch_id' => :'batchId', - :'batch_created_date' => :'batchCreatedDate', - :'batch_source' => :'batchSource', - :'merchant_reference' => :'merchantReference', - :'batch_ca_endpoints' => :'batchCaEndpoints', - :'status' => :'status', - :'totals' => :'totals', - :'billing' => :'billing', - :'description' => :'description' + :'object' => :'object', + :'offset' => :'offset', + :'limit' => :'limit', + :'count' => :'count', + :'total' => :'total', + :'_embedded' => :'_embedded' } end @@ -58,31 +44,25 @@ def self.attribute_map def self.json_map { :'_links' => :'_links', - :'batch_id' => :'batch_id', - :'batch_created_date' => :'batch_created_date', - :'batch_source' => :'batch_source', - :'merchant_reference' => :'merchant_reference', - :'batch_ca_endpoints' => :'batch_ca_endpoints', - :'status' => :'status', - :'totals' => :'totals', - :'billing' => :'billing', - :'description' => :'description' + :'object' => :'object', + :'offset' => :'offset', + :'limit' => :'limit', + :'count' => :'count', + :'total' => :'total', + :'_embedded' => :'_embedded' } end # Attribute type mapping. def self.swagger_types { - :'_links' => :'InlineResponse20010Links', - :'batch_id' => :'String', - :'batch_created_date' => :'String', - :'batch_source' => :'String', - :'merchant_reference' => :'String', - :'batch_ca_endpoints' => :'String', - :'status' => :'String', - :'totals' => :'InlineResponse2009EmbeddedTotals', - :'billing' => :'InlineResponse20010Billing', - :'description' => :'String' + :'_links' => :'Array', + :'object' => :'String', + :'offset' => :'Integer', + :'limit' => :'Integer', + :'count' => :'Integer', + :'total' => :'Integer', + :'_embedded' => :'InlineResponse20010Embedded' } end @@ -95,43 +75,33 @@ def initialize(attributes = {}) attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } if attributes.has_key?(:'_links') - self._links = attributes[:'_links'] - end - - if attributes.has_key?(:'batchId') - self.batch_id = attributes[:'batchId'] - end - - if attributes.has_key?(:'batchCreatedDate') - self.batch_created_date = attributes[:'batchCreatedDate'] - end - - if attributes.has_key?(:'batchSource') - self.batch_source = attributes[:'batchSource'] + if (value = attributes[:'_links']).is_a?(Array) + self._links = value + end end - if attributes.has_key?(:'merchantReference') - self.merchant_reference = attributes[:'merchantReference'] + if attributes.has_key?(:'object') + self.object = attributes[:'object'] end - if attributes.has_key?(:'batchCaEndpoints') - self.batch_ca_endpoints = attributes[:'batchCaEndpoints'] + if attributes.has_key?(:'offset') + self.offset = attributes[:'offset'] end - if attributes.has_key?(:'status') - self.status = attributes[:'status'] + if attributes.has_key?(:'limit') + self.limit = attributes[:'limit'] end - if attributes.has_key?(:'totals') - self.totals = attributes[:'totals'] + if attributes.has_key?(:'count') + self.count = attributes[:'count'] end - if attributes.has_key?(:'billing') - self.billing = attributes[:'billing'] + if attributes.has_key?(:'total') + self.total = attributes[:'total'] end - if attributes.has_key?(:'description') - self.description = attributes[:'description'] + if attributes.has_key?(:'_embedded') + self._embedded = attributes[:'_embedded'] end end @@ -148,27 +118,18 @@ def valid? true end - # Custom attribute writer method with validation - # @param [Object] merchant_reference Value to be assigned - def merchant_reference=(merchant_reference) - @merchant_reference = merchant_reference - end - # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if self.equal?(o) self.class == o.class && _links == o._links && - batch_id == o.batch_id && - batch_created_date == o.batch_created_date && - batch_source == o.batch_source && - merchant_reference == o.merchant_reference && - batch_ca_endpoints == o.batch_ca_endpoints && - status == o.status && - totals == o.totals && - billing == o.billing && - description == o.description + object == o.object && + offset == o.offset && + limit == o.limit && + count == o.count && + total == o.total && + _embedded == o._embedded end # @see the `==` method @@ -180,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_links, batch_id, batch_created_date, batch_source, merchant_reference, batch_ca_endpoints, status, totals, billing, description].hash + [_links, object, offset, limit, count, total, _embedded].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__embedded.rb b/lib/cybersource_rest_client/models/inline_response_200_10__embedded.rb similarity index 98% rename from lib/cybersource_rest_client/models/inline_response_200_9__embedded.rb rename to lib/cybersource_rest_client/models/inline_response_200_10__embedded.rb index 3546f3d1..12f6a8cb 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__embedded.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__embedded.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2009Embedded + class InlineResponse20010Embedded attr_accessor :batches # Attribute mapping from ruby-style variable name to JSON key. @@ -32,7 +32,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'batches' => :'Array' + :'batches' => :'Array' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__embedded__links.rb b/lib/cybersource_rest_client/models/inline_response_200_10__embedded__links.rb similarity index 97% rename from lib/cybersource_rest_client/models/inline_response_200_9__embedded__links.rb rename to lib/cybersource_rest_client/models/inline_response_200_10__embedded__links.rb index 540e916b..f9845310 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__embedded__links.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__embedded__links.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2009EmbeddedLinks + class InlineResponse20010EmbeddedLinks attr_accessor :reports # Attribute mapping from ruby-style variable name to JSON key. @@ -32,7 +32,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'reports' => :'Array' + :'reports' => :'Array' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__embedded__links_reports.rb b/lib/cybersource_rest_client/models/inline_response_200_10__embedded__links_reports.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_9__embedded__links_reports.rb rename to lib/cybersource_rest_client/models/inline_response_200_10__embedded__links_reports.rb index 8e2748d9..c43612d3 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__embedded__links_reports.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__embedded__links_reports.rb @@ -13,7 +13,7 @@ module CyberSource # Retrieve the generated report of a batch when available. - class InlineResponse2009EmbeddedLinksReports + class InlineResponse20010EmbeddedLinksReports attr_accessor :href # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__embedded_batches.rb b/lib/cybersource_rest_client/models/inline_response_200_10__embedded_batches.rb similarity index 98% rename from lib/cybersource_rest_client/models/inline_response_200_9__embedded_batches.rb rename to lib/cybersource_rest_client/models/inline_response_200_10__embedded_batches.rb index ef95fd5b..572a9d8f 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__embedded_batches.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__embedded_batches.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2009EmbeddedBatches + class InlineResponse20010EmbeddedBatches attr_accessor :_links # Unique identification number assigned to the submitted request. @@ -76,7 +76,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'_links' => :'InlineResponse2009EmbeddedLinks', + :'_links' => :'InlineResponse20010EmbeddedLinks', :'batch_id' => :'String', :'batch_created_date' => :'String', :'batch_modified_date' => :'String', @@ -85,7 +85,7 @@ def self.swagger_types :'merchant_reference' => :'String', :'batch_ca_endpoints' => :'Array', :'status' => :'String', - :'totals' => :'InlineResponse2009EmbeddedTotals' + :'totals' => :'InlineResponse20010EmbeddedTotals' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__embedded_totals.rb b/lib/cybersource_rest_client/models/inline_response_200_10__embedded_totals.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_9__embedded_totals.rb rename to lib/cybersource_rest_client/models/inline_response_200_10__embedded_totals.rb index a008e0be..c196eb9e 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__embedded_totals.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__embedded_totals.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2009EmbeddedTotals + class InlineResponse20010EmbeddedTotals attr_accessor :accepted_records attr_accessor :rejected_records diff --git a/lib/cybersource_rest_client/models/inline_response_200_10__links.rb b/lib/cybersource_rest_client/models/inline_response_200_10__links.rb index d6013585..495b458b 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_10__links.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_10__links.rb @@ -13,31 +13,32 @@ module CyberSource class InlineResponse20010Links - attr_accessor :_self + # Valid Values: * self * first * last * prev * next + attr_accessor :rel - attr_accessor :report + attr_accessor :href # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'_self' => :'self', - :'report' => :'report' + :'rel' => :'rel', + :'href' => :'href' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'_self' => :'_self', - :'report' => :'report' + :'rel' => :'rel', + :'href' => :'href' } end # Attribute type mapping. def self.swagger_types { - :'_self' => :'InlineResponse202LinksStatus', - :'report' => :'Array' + :'rel' => :'String', + :'href' => :'String' } end @@ -49,14 +50,12 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'self') - self._self = attributes[:'self'] + if attributes.has_key?(:'rel') + self.rel = attributes[:'rel'] end - if attributes.has_key?(:'report') - if (value = attributes[:'report']).is_a?(Array) - self.report = value - end + if attributes.has_key?(:'href') + self.href = attributes[:'href'] end end @@ -78,8 +77,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - _self == o._self && - report == o.report + rel == o.rel && + href == o.href end # @see the `==` method @@ -91,7 +90,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_self, report].hash + [rel, href].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_11.rb b/lib/cybersource_rest_client/models/inline_response_200_11.rb index 5e426766..9ef011e3 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_11.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_11.rb @@ -13,76 +13,76 @@ module CyberSource class InlineResponse20011 - attr_accessor :version - - # ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ - attr_accessor :report_created_date + attr_accessor :_links # Unique identification number assigned to the submitted request. attr_accessor :batch_id - # Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE - attr_accessor :batch_source - - attr_accessor :batch_ca_endpoints - # ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ attr_accessor :batch_created_date + # Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE + attr_accessor :batch_source + # Reference used by merchant to identify batch. attr_accessor :merchant_reference + attr_accessor :batch_ca_endpoints + + # Valid Values: * REJECTED * RECEIVED * VALIDATED * DECLINED * PROCESSING * COMPLETED + attr_accessor :status + attr_accessor :totals attr_accessor :billing - attr_accessor :records + attr_accessor :description # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'version' => :'version', - :'report_created_date' => :'reportCreatedDate', + :'_links' => :'_links', :'batch_id' => :'batchId', - :'batch_source' => :'batchSource', - :'batch_ca_endpoints' => :'batchCaEndpoints', :'batch_created_date' => :'batchCreatedDate', + :'batch_source' => :'batchSource', :'merchant_reference' => :'merchantReference', + :'batch_ca_endpoints' => :'batchCaEndpoints', + :'status' => :'status', :'totals' => :'totals', :'billing' => :'billing', - :'records' => :'records' + :'description' => :'description' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'version' => :'version', - :'report_created_date' => :'report_created_date', + :'_links' => :'_links', :'batch_id' => :'batch_id', - :'batch_source' => :'batch_source', - :'batch_ca_endpoints' => :'batch_ca_endpoints', :'batch_created_date' => :'batch_created_date', + :'batch_source' => :'batch_source', :'merchant_reference' => :'merchant_reference', + :'batch_ca_endpoints' => :'batch_ca_endpoints', + :'status' => :'status', :'totals' => :'totals', :'billing' => :'billing', - :'records' => :'records' + :'description' => :'description' } end # Attribute type mapping. def self.swagger_types { - :'version' => :'String', - :'report_created_date' => :'String', + :'_links' => :'InlineResponse20011Links', :'batch_id' => :'String', - :'batch_source' => :'String', - :'batch_ca_endpoints' => :'String', :'batch_created_date' => :'String', + :'batch_source' => :'String', :'merchant_reference' => :'String', - :'totals' => :'InlineResponse2009EmbeddedTotals', - :'billing' => :'InlineResponse20010Billing', - :'records' => :'Array' + :'batch_ca_endpoints' => :'String', + :'status' => :'String', + :'totals' => :'InlineResponse20010EmbeddedTotals', + :'billing' => :'InlineResponse20011Billing', + :'description' => :'String' } end @@ -94,32 +94,32 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'version') - self.version = attributes[:'version'] - end - - if attributes.has_key?(:'reportCreatedDate') - self.report_created_date = attributes[:'reportCreatedDate'] + if attributes.has_key?(:'_links') + self._links = attributes[:'_links'] end if attributes.has_key?(:'batchId') self.batch_id = attributes[:'batchId'] end + if attributes.has_key?(:'batchCreatedDate') + self.batch_created_date = attributes[:'batchCreatedDate'] + end + if attributes.has_key?(:'batchSource') self.batch_source = attributes[:'batchSource'] end - if attributes.has_key?(:'batchCaEndpoints') - self.batch_ca_endpoints = attributes[:'batchCaEndpoints'] + if attributes.has_key?(:'merchantReference') + self.merchant_reference = attributes[:'merchantReference'] end - if attributes.has_key?(:'batchCreatedDate') - self.batch_created_date = attributes[:'batchCreatedDate'] + if attributes.has_key?(:'batchCaEndpoints') + self.batch_ca_endpoints = attributes[:'batchCaEndpoints'] end - if attributes.has_key?(:'merchantReference') - self.merchant_reference = attributes[:'merchantReference'] + if attributes.has_key?(:'status') + self.status = attributes[:'status'] end if attributes.has_key?(:'totals') @@ -130,10 +130,8 @@ def initialize(attributes = {}) self.billing = attributes[:'billing'] end - if attributes.has_key?(:'records') - if (value = attributes[:'records']).is_a?(Array) - self.records = value - end + if attributes.has_key?(:'description') + self.description = attributes[:'description'] end end @@ -161,16 +159,16 @@ def merchant_reference=(merchant_reference) def ==(o) return true if self.equal?(o) self.class == o.class && - version == o.version && - report_created_date == o.report_created_date && + _links == o._links && batch_id == o.batch_id && - batch_source == o.batch_source && - batch_ca_endpoints == o.batch_ca_endpoints && batch_created_date == o.batch_created_date && + batch_source == o.batch_source && merchant_reference == o.merchant_reference && + batch_ca_endpoints == o.batch_ca_endpoints && + status == o.status && totals == o.totals && billing == o.billing && - records == o.records + description == o.description end # @see the `==` method @@ -182,7 +180,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [version, report_created_date, batch_id, batch_source, batch_ca_endpoints, batch_created_date, merchant_reference, totals, billing, records].hash + [_links, batch_id, batch_created_date, batch_source, merchant_reference, batch_ca_endpoints, status, totals, billing, description].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_11__links.rb b/lib/cybersource_rest_client/models/inline_response_200_11__links.rb new file mode 100644 index 00000000..5ea2f82d --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_200_11__links.rb @@ -0,0 +1,201 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse20011Links + attr_accessor :_self + + attr_accessor :report + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_self' => :'self', + :'report' => :'report' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'_self' => :'_self', + :'report' => :'report' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'_self' => :'InlineResponse202LinksStatus', + :'report' => :'Array' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'self') + self._self = attributes[:'self'] + end + + if attributes.has_key?(:'report') + if (value = attributes[:'report']).is_a?(Array) + self.report = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _self == o._self && + report == o.report + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [_self, report].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_200_10__links_report.rb b/lib/cybersource_rest_client/models/inline_response_200_11__links_report.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_10__links_report.rb rename to lib/cybersource_rest_client/models/inline_response_200_11__links_report.rb index b8bb7267..8cd7885e 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_10__links_report.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_11__links_report.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20010LinksReport + class InlineResponse20011LinksReport attr_accessor :href # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/inline_response_200_10_billing.rb b/lib/cybersource_rest_client/models/inline_response_200_11_billing.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_10_billing.rb rename to lib/cybersource_rest_client/models/inline_response_200_11_billing.rb index bc545f12..e4a78505 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_10_billing.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_11_billing.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20010Billing + class InlineResponse20011Billing attr_accessor :nan attr_accessor :ned diff --git a/lib/cybersource_rest_client/models/inline_response_200_12.rb b/lib/cybersource_rest_client/models/inline_response_200_12.rb new file mode 100644 index 00000000..a41199ac --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_200_12.rb @@ -0,0 +1,292 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse20012 + attr_accessor :version + + # ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ + attr_accessor :report_created_date + + # Unique identification number assigned to the submitted request. + attr_accessor :batch_id + + # Valid Values: * SCHEDULER * TOKEN_API * CREDIT_CARD_FILE_UPLOAD * AMEX_REGSITRY * AMEX_REGISTRY_API * AMEX_MAINTENANCE + attr_accessor :batch_source + + attr_accessor :batch_ca_endpoints + + # ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ + attr_accessor :batch_created_date + + # Reference used by merchant to identify batch. + attr_accessor :merchant_reference + + attr_accessor :totals + + attr_accessor :billing + + attr_accessor :records + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'version' => :'version', + :'report_created_date' => :'reportCreatedDate', + :'batch_id' => :'batchId', + :'batch_source' => :'batchSource', + :'batch_ca_endpoints' => :'batchCaEndpoints', + :'batch_created_date' => :'batchCreatedDate', + :'merchant_reference' => :'merchantReference', + :'totals' => :'totals', + :'billing' => :'billing', + :'records' => :'records' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'version' => :'version', + :'report_created_date' => :'report_created_date', + :'batch_id' => :'batch_id', + :'batch_source' => :'batch_source', + :'batch_ca_endpoints' => :'batch_ca_endpoints', + :'batch_created_date' => :'batch_created_date', + :'merchant_reference' => :'merchant_reference', + :'totals' => :'totals', + :'billing' => :'billing', + :'records' => :'records' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'version' => :'String', + :'report_created_date' => :'String', + :'batch_id' => :'String', + :'batch_source' => :'String', + :'batch_ca_endpoints' => :'String', + :'batch_created_date' => :'String', + :'merchant_reference' => :'String', + :'totals' => :'InlineResponse20010EmbeddedTotals', + :'billing' => :'InlineResponse20011Billing', + :'records' => :'Array' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'version') + self.version = attributes[:'version'] + end + + if attributes.has_key?(:'reportCreatedDate') + self.report_created_date = attributes[:'reportCreatedDate'] + end + + if attributes.has_key?(:'batchId') + self.batch_id = attributes[:'batchId'] + end + + if attributes.has_key?(:'batchSource') + self.batch_source = attributes[:'batchSource'] + end + + if attributes.has_key?(:'batchCaEndpoints') + self.batch_ca_endpoints = attributes[:'batchCaEndpoints'] + end + + if attributes.has_key?(:'batchCreatedDate') + self.batch_created_date = attributes[:'batchCreatedDate'] + end + + if attributes.has_key?(:'merchantReference') + self.merchant_reference = attributes[:'merchantReference'] + end + + if attributes.has_key?(:'totals') + self.totals = attributes[:'totals'] + end + + if attributes.has_key?(:'billing') + self.billing = attributes[:'billing'] + end + + if attributes.has_key?(:'records') + if (value = attributes[:'records']).is_a?(Array) + self.records = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Custom attribute writer method with validation + # @param [Object] merchant_reference Value to be assigned + def merchant_reference=(merchant_reference) + @merchant_reference = merchant_reference + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + version == o.version && + report_created_date == o.report_created_date && + batch_id == o.batch_id && + batch_source == o.batch_source && + batch_ca_endpoints == o.batch_ca_endpoints && + batch_created_date == o.batch_created_date && + merchant_reference == o.merchant_reference && + totals == o.totals && + billing == o.billing && + records == o.records + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [version, report_created_date, batch_id, batch_source, batch_ca_endpoints, batch_created_date, merchant_reference, totals, billing, records].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_200_11_records.rb b/lib/cybersource_rest_client/models/inline_response_200_12_records.rb similarity index 97% rename from lib/cybersource_rest_client/models/inline_response_200_11_records.rb rename to lib/cybersource_rest_client/models/inline_response_200_12_records.rb index 1dd8a96f..7b4f8337 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_11_records.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_12_records.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20011Records + class InlineResponse20012Records attr_accessor :id attr_accessor :source_record @@ -41,8 +41,8 @@ def self.json_map def self.swagger_types { :'id' => :'String', - :'source_record' => :'InlineResponse20011SourceRecord', - :'response_record' => :'InlineResponse20011ResponseRecord' + :'source_record' => :'InlineResponse20012SourceRecord', + :'response_record' => :'InlineResponse20012ResponseRecord' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_11_response_record.rb b/lib/cybersource_rest_client/models/inline_response_200_12_response_record.rb similarity index 98% rename from lib/cybersource_rest_client/models/inline_response_200_11_response_record.rb rename to lib/cybersource_rest_client/models/inline_response_200_12_response_record.rb index 564c4ae6..467b8005 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_11_response_record.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_12_response_record.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20011ResponseRecord + class InlineResponse20012ResponseRecord # Valid Values: * NAN * NED * ACL * CCH * CUR * NUP * UNA * ERR * DEC attr_accessor :response @@ -79,7 +79,7 @@ def self.swagger_types :'card_expiry_month' => :'String', :'card_expiry_year' => :'String', :'card_type' => :'String', - :'additional_updates' => :'Array' + :'additional_updates' => :'Array' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_11_response_record_additional_updates.rb b/lib/cybersource_rest_client/models/inline_response_200_12_response_record_additional_updates.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_11_response_record_additional_updates.rb rename to lib/cybersource_rest_client/models/inline_response_200_12_response_record_additional_updates.rb index c955bd14..a25758ee 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_11_response_record_additional_updates.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_12_response_record_additional_updates.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20011ResponseRecordAdditionalUpdates + class InlineResponse20012ResponseRecordAdditionalUpdates attr_accessor :customer_id attr_accessor :payment_instrument_id diff --git a/lib/cybersource_rest_client/models/inline_response_200_11_source_record.rb b/lib/cybersource_rest_client/models/inline_response_200_12_source_record.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_11_source_record.rb rename to lib/cybersource_rest_client/models/inline_response_200_12_source_record.rb index e3abedfc..144eb6e4 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_11_source_record.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_12_source_record.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse20011SourceRecord + class InlineResponse20012SourceRecord attr_accessor :token attr_accessor :customer_id diff --git a/lib/cybersource_rest_client/models/inline_response_200_13.rb b/lib/cybersource_rest_client/models/inline_response_200_13.rb new file mode 100644 index 00000000..2f52bcea --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_200_13.rb @@ -0,0 +1,221 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse20013 + attr_accessor :client_reference_information + + # Request Id sent as part of the request. + attr_accessor :request_id + + # Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) + attr_accessor :submit_time_utc + + attr_accessor :bank_account_validation + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_reference_information' => :'clientReferenceInformation', + :'request_id' => :'requestId', + :'submit_time_utc' => :'submitTimeUtc', + :'bank_account_validation' => :'bankAccountValidation' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'client_reference_information' => :'client_reference_information', + :'request_id' => :'request_id', + :'submit_time_utc' => :'submit_time_utc', + :'bank_account_validation' => :'bank_account_validation' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'client_reference_information' => :'Bavsv1accountvalidationsClientReferenceInformation', + :'request_id' => :'String', + :'submit_time_utc' => :'String', + :'bank_account_validation' => :'TssV2TransactionsGet200ResponseBankAccountValidation' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'clientReferenceInformation') + self.client_reference_information = attributes[:'clientReferenceInformation'] + end + + if attributes.has_key?(:'requestId') + self.request_id = attributes[:'requestId'] + end + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'bankAccountValidation') + self.bank_account_validation = attributes[:'bankAccountValidation'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_reference_information == o.client_reference_information && + request_id == o.request_id && + submit_time_utc == o.submit_time_utc && + bank_account_validation == o.bank_account_validation + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [client_reference_information, request_id, submit_time_utc, bank_account_validation].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_200_2.rb b/lib/cybersource_rest_client/models/inline_response_200_2.rb index e366be0a..0fa54360 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_2.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_2.rb @@ -13,56 +13,81 @@ module CyberSource class InlineResponse2002 - attr_accessor :registration_information + attr_accessor :id - attr_accessor :integration_information + attr_accessor :field_type - attr_accessor :organization_information + attr_accessor :label - attr_accessor :product_information + attr_accessor :customer_visible - attr_accessor :product_information_setups + attr_accessor :text_min_length - attr_accessor :document_information + attr_accessor :text_max_length - attr_accessor :details + attr_accessor :possible_values + + attr_accessor :text_default_value + + attr_accessor :merchant_id + + attr_accessor :reference_type + + attr_accessor :read_only + + attr_accessor :merchant_defined_data_index # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'registration_information' => :'registrationInformation', - :'integration_information' => :'integrationInformation', - :'organization_information' => :'organizationInformation', - :'product_information' => :'productInformation', - :'product_information_setups' => :'productInformationSetups', - :'document_information' => :'documentInformation', - :'details' => :'details' + :'id' => :'id', + :'field_type' => :'fieldType', + :'label' => :'label', + :'customer_visible' => :'customerVisible', + :'text_min_length' => :'textMinLength', + :'text_max_length' => :'textMaxLength', + :'possible_values' => :'possibleValues', + :'text_default_value' => :'textDefaultValue', + :'merchant_id' => :'merchantId', + :'reference_type' => :'referenceType', + :'read_only' => :'readOnly', + :'merchant_defined_data_index' => :'merchantDefinedDataIndex' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'registration_information' => :'registration_information', - :'integration_information' => :'integration_information', - :'organization_information' => :'organization_information', - :'product_information' => :'product_information', - :'product_information_setups' => :'product_information_setups', - :'document_information' => :'document_information', - :'details' => :'details' + :'id' => :'id', + :'field_type' => :'field_type', + :'label' => :'label', + :'customer_visible' => :'customer_visible', + :'text_min_length' => :'text_min_length', + :'text_max_length' => :'text_max_length', + :'possible_values' => :'possible_values', + :'text_default_value' => :'text_default_value', + :'merchant_id' => :'merchant_id', + :'reference_type' => :'reference_type', + :'read_only' => :'read_only', + :'merchant_defined_data_index' => :'merchant_defined_data_index' } end # Attribute type mapping. def self.swagger_types { - :'registration_information' => :'Boardingv1registrationsRegistrationInformation', - :'integration_information' => :'InlineResponse2002IntegrationInformation', - :'organization_information' => :'Boardingv1registrationsOrganizationInformation', - :'product_information' => :'Boardingv1registrationsProductInformation', - :'product_information_setups' => :'Array', - :'document_information' => :'Boardingv1registrationsDocumentInformation', - :'details' => :'Hash>' + :'id' => :'Integer', + :'field_type' => :'String', + :'label' => :'String', + :'customer_visible' => :'BOOLEAN', + :'text_min_length' => :'Integer', + :'text_max_length' => :'Integer', + :'possible_values' => :'String', + :'text_default_value' => :'String', + :'merchant_id' => :'String', + :'reference_type' => :'String', + :'read_only' => :'BOOLEAN', + :'merchant_defined_data_index' => :'Integer' } end @@ -74,36 +99,52 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'registrationInformation') - self.registration_information = attributes[:'registrationInformation'] + if attributes.has_key?(:'id') + self.id = attributes[:'id'] end - if attributes.has_key?(:'integrationInformation') - self.integration_information = attributes[:'integrationInformation'] + if attributes.has_key?(:'fieldType') + self.field_type = attributes[:'fieldType'] end - if attributes.has_key?(:'organizationInformation') - self.organization_information = attributes[:'organizationInformation'] + if attributes.has_key?(:'label') + self.label = attributes[:'label'] end - if attributes.has_key?(:'productInformation') - self.product_information = attributes[:'productInformation'] + if attributes.has_key?(:'customerVisible') + self.customer_visible = attributes[:'customerVisible'] end - if attributes.has_key?(:'productInformationSetups') - if (value = attributes[:'productInformationSetups']).is_a?(Array) - self.product_information_setups = value - end + if attributes.has_key?(:'textMinLength') + self.text_min_length = attributes[:'textMinLength'] end - if attributes.has_key?(:'documentInformation') - self.document_information = attributes[:'documentInformation'] + if attributes.has_key?(:'textMaxLength') + self.text_max_length = attributes[:'textMaxLength'] end - if attributes.has_key?(:'details') - if (value = attributes[:'details']).is_a?(Hash) - self.details = value - end + if attributes.has_key?(:'possibleValues') + self.possible_values = attributes[:'possibleValues'] + end + + if attributes.has_key?(:'textDefaultValue') + self.text_default_value = attributes[:'textDefaultValue'] + end + + if attributes.has_key?(:'merchantId') + self.merchant_id = attributes[:'merchantId'] + end + + if attributes.has_key?(:'referenceType') + self.reference_type = attributes[:'referenceType'] + end + + if attributes.has_key?(:'readOnly') + self.read_only = attributes[:'readOnly'] + end + + if attributes.has_key?(:'merchantDefinedDataIndex') + self.merchant_defined_data_index = attributes[:'merchantDefinedDataIndex'] end end @@ -125,13 +166,18 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - registration_information == o.registration_information && - integration_information == o.integration_information && - organization_information == o.organization_information && - product_information == o.product_information && - product_information_setups == o.product_information_setups && - document_information == o.document_information && - details == o.details + id == o.id && + field_type == o.field_type && + label == o.label && + customer_visible == o.customer_visible && + text_min_length == o.text_min_length && + text_max_length == o.text_max_length && + possible_values == o.possible_values && + text_default_value == o.text_default_value && + merchant_id == o.merchant_id && + reference_type == o.reference_type && + read_only == o.read_only && + merchant_defined_data_index == o.merchant_defined_data_index end # @see the `==` method @@ -143,7 +189,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [registration_information, integration_information, organization_information, product_information, product_information_setups, document_information, details].hash + [id, field_type, label, customer_visible, text_min_length, text_max_length, possible_values, text_default_value, merchant_id, reference_type, read_only, merchant_defined_data_index].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_3.rb b/lib/cybersource_rest_client/models/inline_response_200_3.rb index c0d97b06..8ad5c23b 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_3.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_3.rb @@ -13,38 +13,56 @@ module CyberSource class InlineResponse2003 - # Product ID. - attr_accessor :product_id + attr_accessor :registration_information - # Product Name. - attr_accessor :product_name + attr_accessor :integration_information - attr_accessor :event_types + attr_accessor :organization_information + + attr_accessor :product_information + + attr_accessor :product_information_setups + + attr_accessor :document_information + + attr_accessor :details # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'product_id' => :'productId', - :'product_name' => :'productName', - :'event_types' => :'eventTypes' + :'registration_information' => :'registrationInformation', + :'integration_information' => :'integrationInformation', + :'organization_information' => :'organizationInformation', + :'product_information' => :'productInformation', + :'product_information_setups' => :'productInformationSetups', + :'document_information' => :'documentInformation', + :'details' => :'details' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'product_id' => :'product_id', - :'product_name' => :'product_name', - :'event_types' => :'event_types' + :'registration_information' => :'registration_information', + :'integration_information' => :'integration_information', + :'organization_information' => :'organization_information', + :'product_information' => :'product_information', + :'product_information_setups' => :'product_information_setups', + :'document_information' => :'document_information', + :'details' => :'details' } end # Attribute type mapping. def self.swagger_types { - :'product_id' => :'String', - :'product_name' => :'String', - :'event_types' => :'Array' + :'registration_information' => :'Boardingv1registrationsRegistrationInformation', + :'integration_information' => :'InlineResponse2003IntegrationInformation', + :'organization_information' => :'Boardingv1registrationsOrganizationInformation', + :'product_information' => :'Boardingv1registrationsProductInformation', + :'product_information_setups' => :'Array', + :'document_information' => :'Boardingv1registrationsDocumentInformation', + :'details' => :'Hash>' } end @@ -56,17 +74,35 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'productId') - self.product_id = attributes[:'productId'] + if attributes.has_key?(:'registrationInformation') + self.registration_information = attributes[:'registrationInformation'] + end + + if attributes.has_key?(:'integrationInformation') + self.integration_information = attributes[:'integrationInformation'] + end + + if attributes.has_key?(:'organizationInformation') + self.organization_information = attributes[:'organizationInformation'] + end + + if attributes.has_key?(:'productInformation') + self.product_information = attributes[:'productInformation'] + end + + if attributes.has_key?(:'productInformationSetups') + if (value = attributes[:'productInformationSetups']).is_a?(Array) + self.product_information_setups = value + end end - if attributes.has_key?(:'productName') - self.product_name = attributes[:'productName'] + if attributes.has_key?(:'documentInformation') + self.document_information = attributes[:'documentInformation'] end - if attributes.has_key?(:'eventTypes') - if (value = attributes[:'eventTypes']).is_a?(Array) - self.event_types = value + if attributes.has_key?(:'details') + if (value = attributes[:'details']).is_a?(Hash) + self.details = value end end end @@ -89,9 +125,13 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - product_id == o.product_id && - product_name == o.product_name && - event_types == o.event_types + registration_information == o.registration_information && + integration_information == o.integration_information && + organization_information == o.organization_information && + product_information == o.product_information && + product_information_setups == o.product_information_setups && + document_information == o.document_information && + details == o.details end # @see the `==` method @@ -103,7 +143,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [product_id, product_name, event_types].hash + [registration_information, integration_information, organization_information, product_information, product_information_setups, document_information, details].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_2_integration_information.rb b/lib/cybersource_rest_client/models/inline_response_200_3_integration_information.rb similarity index 98% rename from lib/cybersource_rest_client/models/inline_response_200_2_integration_information.rb rename to lib/cybersource_rest_client/models/inline_response_200_3_integration_information.rb index d3a8bdef..1b5fc470 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_2_integration_information.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_3_integration_information.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2002IntegrationInformation + class InlineResponse2003IntegrationInformation attr_accessor :oauth2 # tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with. @@ -38,7 +38,7 @@ def self.json_map def self.swagger_types { :'oauth2' => :'Array', - :'tenant_configurations' => :'Array' + :'tenant_configurations' => :'Array' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_2_integration_information_tenant_configurations.rb b/lib/cybersource_rest_client/models/inline_response_200_3_integration_information_tenant_configurations.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_2_integration_information_tenant_configurations.rb rename to lib/cybersource_rest_client/models/inline_response_200_3_integration_information_tenant_configurations.rb index 11d765e9..6e408dd1 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_2_integration_information_tenant_configurations.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_3_integration_information_tenant_configurations.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2002IntegrationInformationTenantConfigurations + class InlineResponse2003IntegrationInformationTenantConfigurations # The solutionId is the unique identifier for this system resource. Partner can use it to reference the specific solution through out the system. attr_accessor :solution_id diff --git a/lib/cybersource_rest_client/models/inline_response_200_4.rb b/lib/cybersource_rest_client/models/inline_response_200_4.rb index 52f0825e..c96d9aae 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_4.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_4.rb @@ -13,90 +13,38 @@ module CyberSource class InlineResponse2004 - # Webhook Id. This is generated by the server. - attr_accessor :webhook_id + # Product ID. + attr_accessor :product_id - # Organization ID. - attr_accessor :organization_id + # Product Name. + attr_accessor :product_name - attr_accessor :products - - # The client's endpoint (URL) to receive webhooks. - attr_accessor :webhook_url - - # The client's health check endpoint (URL). - attr_accessor :health_check_url - - # Webhook status. - attr_accessor :status - - # Client friendly webhook name. - attr_accessor :name - - # Client friendly webhook description. - attr_accessor :description - - attr_accessor :retry_policy - - attr_accessor :security_policy - - # Date on which webhook was created/registered. - attr_accessor :created_on - - # The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS - attr_accessor :notification_scope + attr_accessor :event_types # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'webhook_id' => :'webhookId', - :'organization_id' => :'organizationId', - :'products' => :'products', - :'webhook_url' => :'webhookUrl', - :'health_check_url' => :'healthCheckUrl', - :'status' => :'status', - :'name' => :'name', - :'description' => :'description', - :'retry_policy' => :'retryPolicy', - :'security_policy' => :'securityPolicy', - :'created_on' => :'createdOn', - :'notification_scope' => :'notificationScope' + :'product_id' => :'productId', + :'product_name' => :'productName', + :'event_types' => :'eventTypes' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'webhook_id' => :'webhook_id', - :'organization_id' => :'organization_id', - :'products' => :'products', - :'webhook_url' => :'webhook_url', - :'health_check_url' => :'health_check_url', - :'status' => :'status', - :'name' => :'name', - :'description' => :'description', - :'retry_policy' => :'retry_policy', - :'security_policy' => :'security_policy', - :'created_on' => :'created_on', - :'notification_scope' => :'notification_scope' + :'product_id' => :'product_id', + :'product_name' => :'product_name', + :'event_types' => :'event_types' } end # Attribute type mapping. def self.swagger_types { - :'webhook_id' => :'String', - :'organization_id' => :'String', - :'products' => :'Array', - :'webhook_url' => :'String', - :'health_check_url' => :'String', - :'status' => :'String', - :'name' => :'String', - :'description' => :'String', - :'retry_policy' => :'Notificationsubscriptionsv2webhooksRetryPolicy', - :'security_policy' => :'Notificationsubscriptionsv2webhooksSecurityPolicy', - :'created_on' => :'String', - :'notification_scope' => :'String' + :'product_id' => :'String', + :'product_name' => :'String', + :'event_types' => :'Array' } end @@ -108,59 +56,19 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'webhookId') - self.webhook_id = attributes[:'webhookId'] + if attributes.has_key?(:'productId') + self.product_id = attributes[:'productId'] end - if attributes.has_key?(:'organizationId') - self.organization_id = attributes[:'organizationId'] + if attributes.has_key?(:'productName') + self.product_name = attributes[:'productName'] end - if attributes.has_key?(:'products') - if (value = attributes[:'products']).is_a?(Array) - self.products = value + if attributes.has_key?(:'eventTypes') + if (value = attributes[:'eventTypes']).is_a?(Array) + self.event_types = value end end - - if attributes.has_key?(:'webhookUrl') - self.webhook_url = attributes[:'webhookUrl'] - end - - if attributes.has_key?(:'healthCheckUrl') - self.health_check_url = attributes[:'healthCheckUrl'] - end - - if attributes.has_key?(:'status') - self.status = attributes[:'status'] - else - self.status = 'INACTIVE' - end - - if attributes.has_key?(:'name') - self.name = attributes[:'name'] - end - - if attributes.has_key?(:'description') - self.description = attributes[:'description'] - end - - if attributes.has_key?(:'retryPolicy') - self.retry_policy = attributes[:'retryPolicy'] - end - - if attributes.has_key?(:'securityPolicy') - self.security_policy = attributes[:'securityPolicy'] - end - - if attributes.has_key?(:'createdOn') - self.created_on = attributes[:'createdOn'] - end - - if attributes.has_key?(:'notificationScope') - self.notification_scope = attributes[:'notificationScope'] - else - self.notification_scope = 'DESCENDANTS' - end end # Show invalid properties with the reasons. Usually used together with valid? @@ -181,18 +89,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - webhook_id == o.webhook_id && - organization_id == o.organization_id && - products == o.products && - webhook_url == o.webhook_url && - health_check_url == o.health_check_url && - status == o.status && - name == o.name && - description == o.description && - retry_policy == o.retry_policy && - security_policy == o.security_policy && - created_on == o.created_on && - notification_scope == o.notification_scope + product_id == o.product_id && + product_name == o.product_name && + event_types == o.event_types end # @see the `==` method @@ -204,7 +103,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [webhook_id, organization_id, products, webhook_url, health_check_url, status, name, description, retry_policy, security_policy, created_on, notification_scope].hash + [product_id, product_name, event_types].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_5.rb b/lib/cybersource_rest_client/models/inline_response_200_5.rb index 83079214..a8ec4bb4 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_5.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_5.rb @@ -43,9 +43,6 @@ class InlineResponse2005 # Date on which webhook was created/registered. attr_accessor :created_on - # Date on which webhook was most recently updated. - attr_accessor :updated_on - # The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS attr_accessor :notification_scope @@ -63,7 +60,6 @@ def self.attribute_map :'retry_policy' => :'retryPolicy', :'security_policy' => :'securityPolicy', :'created_on' => :'createdOn', - :'updated_on' => :'updatedOn', :'notification_scope' => :'notificationScope' } end @@ -82,7 +78,6 @@ def self.json_map :'retry_policy' => :'retry_policy', :'security_policy' => :'security_policy', :'created_on' => :'created_on', - :'updated_on' => :'updated_on', :'notification_scope' => :'notification_scope' } end @@ -101,7 +96,6 @@ def self.swagger_types :'retry_policy' => :'Notificationsubscriptionsv2webhooksRetryPolicy', :'security_policy' => :'Notificationsubscriptionsv2webhooksSecurityPolicy', :'created_on' => :'String', - :'updated_on' => :'String', :'notification_scope' => :'String' } end @@ -162,10 +156,6 @@ def initialize(attributes = {}) self.created_on = attributes[:'createdOn'] end - if attributes.has_key?(:'updatedOn') - self.updated_on = attributes[:'updatedOn'] - end - if attributes.has_key?(:'notificationScope') self.notification_scope = attributes[:'notificationScope'] else @@ -202,7 +192,6 @@ def ==(o) retry_policy == o.retry_policy && security_policy == o.security_policy && created_on == o.created_on && - updated_on == o.updated_on && notification_scope == o.notification_scope end @@ -215,7 +204,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [webhook_id, organization_id, products, webhook_url, health_check_url, status, name, description, retry_policy, security_policy, created_on, updated_on, notification_scope].hash + [webhook_id, organization_id, products, webhook_url, health_check_url, status, name, description, retry_policy, security_policy, created_on, notification_scope].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_6.rb b/lib/cybersource_rest_client/models/inline_response_200_6.rb index 122ad0a6..d8090860 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_6.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_6.rb @@ -13,57 +13,96 @@ module CyberSource class InlineResponse2006 - # Total number of results. - attr_accessor :total_count + # Webhook Id. This is generated by the server. + attr_accessor :webhook_id - # Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. - attr_accessor :offset + # Organization ID. + attr_accessor :organization_id - # Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. - attr_accessor :limit + attr_accessor :products - # A comma separated list of the following form: `submitTimeUtc:desc` - attr_accessor :sort + # The client's endpoint (URL) to receive webhooks. + attr_accessor :webhook_url - # Results for this page, this could be below the limit. - attr_accessor :count + # The client's health check endpoint (URL). + attr_accessor :health_check_url - # A collection of devices - attr_accessor :devices + # Webhook status. + attr_accessor :status + + # Client friendly webhook name. + attr_accessor :name + + # Client friendly webhook description. + attr_accessor :description + + attr_accessor :retry_policy + + attr_accessor :security_policy + + # Date on which webhook was created/registered. + attr_accessor :created_on + + # Date on which webhook was most recently updated. + attr_accessor :updated_on + + # The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. This field is optional. Possible values: - SELF - DESCENDANTS + attr_accessor :notification_scope # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'total_count' => :'totalCount', - :'offset' => :'offset', - :'limit' => :'limit', - :'sort' => :'sort', - :'count' => :'count', - :'devices' => :'devices' + :'webhook_id' => :'webhookId', + :'organization_id' => :'organizationId', + :'products' => :'products', + :'webhook_url' => :'webhookUrl', + :'health_check_url' => :'healthCheckUrl', + :'status' => :'status', + :'name' => :'name', + :'description' => :'description', + :'retry_policy' => :'retryPolicy', + :'security_policy' => :'securityPolicy', + :'created_on' => :'createdOn', + :'updated_on' => :'updatedOn', + :'notification_scope' => :'notificationScope' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'total_count' => :'total_count', - :'offset' => :'offset', - :'limit' => :'limit', - :'sort' => :'sort', - :'count' => :'count', - :'devices' => :'devices' + :'webhook_id' => :'webhook_id', + :'organization_id' => :'organization_id', + :'products' => :'products', + :'webhook_url' => :'webhook_url', + :'health_check_url' => :'health_check_url', + :'status' => :'status', + :'name' => :'name', + :'description' => :'description', + :'retry_policy' => :'retry_policy', + :'security_policy' => :'security_policy', + :'created_on' => :'created_on', + :'updated_on' => :'updated_on', + :'notification_scope' => :'notification_scope' } end # Attribute type mapping. def self.swagger_types { - :'total_count' => :'Integer', - :'offset' => :'Integer', - :'limit' => :'Integer', - :'sort' => :'String', - :'count' => :'Integer', - :'devices' => :'Array' + :'webhook_id' => :'String', + :'organization_id' => :'String', + :'products' => :'Array', + :'webhook_url' => :'String', + :'health_check_url' => :'String', + :'status' => :'String', + :'name' => :'String', + :'description' => :'String', + :'retry_policy' => :'Notificationsubscriptionsv2webhooksRetryPolicy', + :'security_policy' => :'Notificationsubscriptionsv2webhooksSecurityPolicy', + :'created_on' => :'String', + :'updated_on' => :'String', + :'notification_scope' => :'String' } end @@ -75,30 +114,62 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'totalCount') - self.total_count = attributes[:'totalCount'] + if attributes.has_key?(:'webhookId') + self.webhook_id = attributes[:'webhookId'] end - if attributes.has_key?(:'offset') - self.offset = attributes[:'offset'] + if attributes.has_key?(:'organizationId') + self.organization_id = attributes[:'organizationId'] end - if attributes.has_key?(:'limit') - self.limit = attributes[:'limit'] + if attributes.has_key?(:'products') + if (value = attributes[:'products']).is_a?(Array) + self.products = value + end end - if attributes.has_key?(:'sort') - self.sort = attributes[:'sort'] + if attributes.has_key?(:'webhookUrl') + self.webhook_url = attributes[:'webhookUrl'] end - if attributes.has_key?(:'count') - self.count = attributes[:'count'] + if attributes.has_key?(:'healthCheckUrl') + self.health_check_url = attributes[:'healthCheckUrl'] end - if attributes.has_key?(:'devices') - if (value = attributes[:'devices']).is_a?(Array) - self.devices = value - end + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + else + self.status = 'INACTIVE' + end + + if attributes.has_key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.has_key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.has_key?(:'retryPolicy') + self.retry_policy = attributes[:'retryPolicy'] + end + + if attributes.has_key?(:'securityPolicy') + self.security_policy = attributes[:'securityPolicy'] + end + + if attributes.has_key?(:'createdOn') + self.created_on = attributes[:'createdOn'] + end + + if attributes.has_key?(:'updatedOn') + self.updated_on = attributes[:'updatedOn'] + end + + if attributes.has_key?(:'notificationScope') + self.notification_scope = attributes[:'notificationScope'] + else + self.notification_scope = 'DESCENDANTS' end end @@ -120,12 +191,19 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - total_count == o.total_count && - offset == o.offset && - limit == o.limit && - sort == o.sort && - count == o.count && - devices == o.devices + webhook_id == o.webhook_id && + organization_id == o.organization_id && + products == o.products && + webhook_url == o.webhook_url && + health_check_url == o.health_check_url && + status == o.status && + name == o.name && + description == o.description && + retry_policy == o.retry_policy && + security_policy == o.security_policy && + created_on == o.created_on && + updated_on == o.updated_on && + notification_scope == o.notification_scope end # @see the `==` method @@ -137,7 +215,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [total_count, offset, limit, sort, count, devices].hash + [webhook_id, organization_id, products, webhook_url, health_check_url, status, name, description, retry_policy, security_policy, created_on, updated_on, notification_scope].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_7.rb b/lib/cybersource_rest_client/models/inline_response_200_7.rb index a0dd19e4..2d3da7ee 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_7.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_7.rb @@ -13,15 +13,32 @@ module CyberSource class InlineResponse2007 - # Possible values: - OK - attr_accessor :status + # Total number of results. + attr_accessor :total_count + # Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. + attr_accessor :offset + + # Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. + attr_accessor :limit + + # A comma separated list of the following form: `submitTimeUtc:desc` + attr_accessor :sort + + # Results for this page, this could be below the limit. + attr_accessor :count + + # A collection of devices attr_accessor :devices # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'status' => :'status', + :'total_count' => :'totalCount', + :'offset' => :'offset', + :'limit' => :'limit', + :'sort' => :'sort', + :'count' => :'count', :'devices' => :'devices' } end @@ -29,7 +46,11 @@ def self.attribute_map # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'status' => :'status', + :'total_count' => :'total_count', + :'offset' => :'offset', + :'limit' => :'limit', + :'sort' => :'sort', + :'count' => :'count', :'devices' => :'devices' } end @@ -37,8 +58,12 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'status' => :'String', - :'devices' => :'Array' + :'total_count' => :'Integer', + :'offset' => :'Integer', + :'limit' => :'Integer', + :'sort' => :'String', + :'count' => :'Integer', + :'devices' => :'Array' } end @@ -50,8 +75,24 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'status') - self.status = attributes[:'status'] + if attributes.has_key?(:'totalCount') + self.total_count = attributes[:'totalCount'] + end + + if attributes.has_key?(:'offset') + self.offset = attributes[:'offset'] + end + + if attributes.has_key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.has_key?(:'sort') + self.sort = attributes[:'sort'] + end + + if attributes.has_key?(:'count') + self.count = attributes[:'count'] end if attributes.has_key?(:'devices') @@ -79,7 +120,11 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - status == o.status && + total_count == o.total_count && + offset == o.offset && + limit == o.limit && + sort == o.sort && + count == o.count && devices == o.devices end @@ -92,7 +137,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [status, devices].hash + [total_count, offset, limit, sort, count, devices].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_6_devices.rb b/lib/cybersource_rest_client/models/inline_response_200_7_devices.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_6_devices.rb rename to lib/cybersource_rest_client/models/inline_response_200_7_devices.rb index b333a2d8..411e9743 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_6_devices.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_7_devices.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2006Devices + class InlineResponse2007Devices attr_accessor :reader_id attr_accessor :terminal_serial_number diff --git a/lib/cybersource_rest_client/models/inline_response_200_8.rb b/lib/cybersource_rest_client/models/inline_response_200_8.rb index 1936257e..da94efee 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_8.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_8.rb @@ -13,32 +13,15 @@ module CyberSource class InlineResponse2008 - # Total number of results. - attr_accessor :total_count + # Possible values: - OK + attr_accessor :status - # Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. - attr_accessor :offset - - # Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. - attr_accessor :limit - - # A comma separated list of the following form: `terminalCreationDate:desc or serialNumber or terminalUpdationDate` - attr_accessor :sort - - # Results for this page, this could be below the limit. - attr_accessor :count - - # A collection of devices attr_accessor :devices # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'total_count' => :'totalCount', - :'offset' => :'offset', - :'limit' => :'limit', - :'sort' => :'sort', - :'count' => :'count', + :'status' => :'status', :'devices' => :'devices' } end @@ -46,11 +29,7 @@ def self.attribute_map # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'total_count' => :'total_count', - :'offset' => :'offset', - :'limit' => :'limit', - :'sort' => :'sort', - :'count' => :'count', + :'status' => :'status', :'devices' => :'devices' } end @@ -58,12 +37,8 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'total_count' => :'Integer', - :'offset' => :'Integer', - :'limit' => :'Integer', - :'sort' => :'String', - :'count' => :'Integer', - :'devices' => :'Array' + :'status' => :'String', + :'devices' => :'Array' } end @@ -75,24 +50,8 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'totalCount') - self.total_count = attributes[:'totalCount'] - end - - if attributes.has_key?(:'offset') - self.offset = attributes[:'offset'] - end - - if attributes.has_key?(:'limit') - self.limit = attributes[:'limit'] - end - - if attributes.has_key?(:'sort') - self.sort = attributes[:'sort'] - end - - if attributes.has_key?(:'count') - self.count = attributes[:'count'] + if attributes.has_key?(:'status') + self.status = attributes[:'status'] end if attributes.has_key?(:'devices') @@ -120,11 +79,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - total_count == o.total_count && - offset == o.offset && - limit == o.limit && - sort == o.sort && - count == o.count && + status == o.status && devices == o.devices end @@ -137,7 +92,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [total_count, offset, limit, sort, count, devices].hash + [status, devices].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_9.rb b/lib/cybersource_rest_client/models/inline_response_200_9.rb index 6847fe0c..843ed165 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_9.rb @@ -13,56 +13,57 @@ module CyberSource class InlineResponse2009 - attr_accessor :_links - - attr_accessor :object + # Total number of results. + attr_accessor :total_count + # Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset. For example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this: `offset=0` `offset=5` `offset=10` **Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned. attr_accessor :offset + # Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500. attr_accessor :limit - attr_accessor :count + # A comma separated list of the following form: `terminalCreationDate:desc or serialNumber or terminalUpdationDate` + attr_accessor :sort - attr_accessor :total + # Results for this page, this could be below the limit. + attr_accessor :count - attr_accessor :_embedded + # A collection of devices + attr_accessor :devices # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'_links' => :'_links', - :'object' => :'object', + :'total_count' => :'totalCount', :'offset' => :'offset', :'limit' => :'limit', + :'sort' => :'sort', :'count' => :'count', - :'total' => :'total', - :'_embedded' => :'_embedded' + :'devices' => :'devices' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'_links' => :'_links', - :'object' => :'object', + :'total_count' => :'total_count', :'offset' => :'offset', :'limit' => :'limit', + :'sort' => :'sort', :'count' => :'count', - :'total' => :'total', - :'_embedded' => :'_embedded' + :'devices' => :'devices' } end # Attribute type mapping. def self.swagger_types { - :'_links' => :'Array', - :'object' => :'String', + :'total_count' => :'Integer', :'offset' => :'Integer', :'limit' => :'Integer', + :'sort' => :'String', :'count' => :'Integer', - :'total' => :'Integer', - :'_embedded' => :'InlineResponse2009Embedded' + :'devices' => :'Array' } end @@ -74,14 +75,8 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'_links') - if (value = attributes[:'_links']).is_a?(Array) - self._links = value - end - end - - if attributes.has_key?(:'object') - self.object = attributes[:'object'] + if attributes.has_key?(:'totalCount') + self.total_count = attributes[:'totalCount'] end if attributes.has_key?(:'offset') @@ -92,16 +87,18 @@ def initialize(attributes = {}) self.limit = attributes[:'limit'] end - if attributes.has_key?(:'count') - self.count = attributes[:'count'] + if attributes.has_key?(:'sort') + self.sort = attributes[:'sort'] end - if attributes.has_key?(:'total') - self.total = attributes[:'total'] + if attributes.has_key?(:'count') + self.count = attributes[:'count'] end - if attributes.has_key?(:'_embedded') - self._embedded = attributes[:'_embedded'] + if attributes.has_key?(:'devices') + if (value = attributes[:'devices']).is_a?(Array) + self.devices = value + end end end @@ -123,13 +120,12 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - _links == o._links && - object == o.object && + total_count == o.total_count && offset == o.offset && limit == o.limit && + sort == o.sort && count == o.count && - total == o.total && - _embedded == o._embedded + devices == o.devices end # @see the `==` method @@ -141,7 +137,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_links, object, offset, limit, count, total, _embedded].hash + [total_count, offset, limit, sort, count, devices].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_200_8_devices.rb b/lib/cybersource_rest_client/models/inline_response_200_9_devices.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_8_devices.rb rename to lib/cybersource_rest_client/models/inline_response_200_9_devices.rb index fd6f4710..320d121c 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_8_devices.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_9_devices.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse2008Devices + class InlineResponse2009Devices attr_accessor :reader_id attr_accessor :serial_number @@ -93,7 +93,7 @@ def self.swagger_types :'account_id' => :'String', :'terminal_creation_date' => :'DateTime', :'terminal_updation_date' => :'DateTime', - :'payment_processor_to_terminal_map' => :'InlineResponse2008PaymentProcessorToTerminalMap' + :'payment_processor_to_terminal_map' => :'InlineResponse2009PaymentProcessorToTerminalMap' } end diff --git a/lib/cybersource_rest_client/models/inline_response_200_8_payment_processor_to_terminal_map.rb b/lib/cybersource_rest_client/models/inline_response_200_9_payment_processor_to_terminal_map.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_200_8_payment_processor_to_terminal_map.rb rename to lib/cybersource_rest_client/models/inline_response_200_9_payment_processor_to_terminal_map.rb index cba1fb88..39acbacf 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_8_payment_processor_to_terminal_map.rb +++ b/lib/cybersource_rest_client/models/inline_response_200_9_payment_processor_to_terminal_map.rb @@ -13,7 +13,7 @@ module CyberSource # Mapping between processor and Terminal. - class InlineResponse2008PaymentProcessorToTerminalMap + class InlineResponse2009PaymentProcessorToTerminalMap attr_accessor :processor attr_accessor :terminal_id diff --git a/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb b/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb index 1d52f049..0e3c47bc 100644 --- a/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb +++ b/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb @@ -13,10 +13,10 @@ module CyberSource class InlineResponse2012PayoutInformationPullFunds - # This field indicates if domestic AFTs (pull funds) are allowed. Note: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` + # This field indicates if domestic AFTs (pull funds) are allowed. Possible values: - `true` - `false` attr_accessor :domestic_participant - # This field indicates if cross-border AFTs (pull funds) are allowed. Note: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` + # This field indicates if cross-border AFTs (pull funds) are allowed. Possible values: - `true` - `false` attr_accessor :cross_border_participant # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb b/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb index 93a960b4..341d24aa 100644 --- a/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb +++ b/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb @@ -49,10 +49,10 @@ class InlineResponse2012PayoutInformationPushFunds # This field indicates if domestic gambling OCTs (push funds) are allowed. Possible values: - `Y` - `N` attr_accessor :online_gambling_domestic - # This field indicates if domestic OCTs (push funds) are allowed. Note: Supported only in US for domestic transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` + # This field indicates if domestic OCTs (push funds) are allowed. Possible values: - `true` - `false` attr_accessor :domestic_participant - # This field indicates if cross-border OCTs (push funds) are allowed. Note: Supported only in US for cross-border transactions involving Push Payments Gateway Service(PPGS). Possible values: - `true` - `false` + # This field indicates if cross-border OCTs (push funds) are allowed. Possible values: - `true` - `false` attr_accessor :cross_border_participant # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/inline_response_400_9.rb b/lib/cybersource_rest_client/models/inline_response_400_9.rb new file mode 100644 index 00000000..cb5d8c3f --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_400_9.rb @@ -0,0 +1,235 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4009 + # Time verification was requested Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) + attr_accessor :submit_time_utc + + # Possible values: - `INVALID_REQUEST` + attr_accessor :status + + # The detail message related to the status and reason + attr_accessor :message + + # The reason of the status. Possible values: - `INVALID_REQUEST` + attr_accessor :reason + + attr_accessor :details + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', + :'message' => :'message', + :'reason' => :'reason', + :'details' => :'details' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', + :'message' => :'message', + :'reason' => :'reason', + :'details' => :'details' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'submit_time_utc' => :'String', + :'status' => :'String', + :'message' => :'String', + :'reason' => :'String', + :'details' => :'Array' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.has_key?(:'details') + if (value = attributes[:'details']).is_a?(Array) + self.details = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && + message == o.message && + reason == o.reason && + details == o.details + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [submit_time_utc, status, message, reason, details].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_400_9_details.rb b/lib/cybersource_rest_client/models/inline_response_400_9_details.rb new file mode 100644 index 00000000..f0933756 --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_400_9_details.rb @@ -0,0 +1,201 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4009Details + # This is the flattened JSON object field name/path that is either missing or invalid. + attr_accessor :field + + # Possible reasons for the error. Possible values: - `MISSING_FIELD` - `INVALID_DATA` + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'field' => :'field', + :'reason' => :'reason' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'field' => :'field', + :'reason' => :'reason' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'field' => :'String', + :'reason' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'field') + self.field = attributes[:'field'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + field == o.field && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [field, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_403_3.rb b/lib/cybersource_rest_client/models/inline_response_403_3.rb new file mode 100644 index 00000000..864820d3 --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_403_3.rb @@ -0,0 +1,223 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4033 + # Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) + attr_accessor :submit_time_utc + + # Possible values: - `UNAUTHORIZED` + attr_accessor :status + + # The reason of the status. Possible values: - `UNAUTHORIZED` + attr_accessor :reason + + # The detail message related to the status and reason. + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'submit_time_utc' => :'String', + :'status' => :'String', + :'reason' => :'String', + :'message' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && + reason == o.reason && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [submit_time_utc, status, reason, message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_404_1.rb b/lib/cybersource_rest_client/models/inline_response_404_1.rb index 97595836..a582101e 100644 --- a/lib/cybersource_rest_client/models/inline_response_404_1.rb +++ b/lib/cybersource_rest_client/models/inline_response_404_1.rb @@ -13,18 +13,19 @@ module CyberSource class InlineResponse4041 - # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. + # The time the response was submitted attr_accessor :submit_time_utc - # The http status description of the submitted request. + # The status code of the response attr_accessor :status - # Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'RESOURCE_NOT_FOUND' + # The reason for the response attr_accessor :reason - # Descriptive message for the error. + # The message of the response attr_accessor :message + # The details of the validation error attr_accessor :details # Attribute mapping from ruby-style variable name to JSON key. @@ -52,11 +53,11 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'submit_time_utc' => :'DateTime', - :'status' => :'String', + :'submit_time_utc' => :'String', + :'status' => :'Integer', :'reason' => :'String', :'message' => :'String', - :'details' => :'Array' + :'details' => :'Array' } end diff --git a/lib/cybersource_rest_client/models/inline_response_404_1_details.rb b/lib/cybersource_rest_client/models/inline_response_404_1_details.rb new file mode 100644 index 00000000..bb40ed04 --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_404_1_details.rb @@ -0,0 +1,201 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4041Details + # The field that caused the validation error + attr_accessor :field + + # The reason for the validation error + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'field' => :'field', + :'reason' => :'reason' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'field' => :'field', + :'reason' => :'reason' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'field' => :'String', + :'reason' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'field') + self.field = attributes[:'field'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + field == o.field && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [field, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_404_2.rb b/lib/cybersource_rest_client/models/inline_response_404_2.rb index 358b75c4..5635229f 100644 --- a/lib/cybersource_rest_client/models/inline_response_404_2.rb +++ b/lib/cybersource_rest_client/models/inline_response_404_2.rb @@ -13,8 +13,16 @@ module CyberSource class InlineResponse4042 + # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. + attr_accessor :submit_time_utc + + # The http status description of the submitted request. + attr_accessor :status + + # Documented reason codes. Client should be able to use the key for generating their own error message Possible Values: - 'RESOURCE_NOT_FOUND' attr_accessor :reason + # Descriptive message for the error. attr_accessor :message attr_accessor :details @@ -22,6 +30,8 @@ class InlineResponse4042 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', :'reason' => :'reason', :'message' => :'message', :'details' => :'details' @@ -31,6 +41,8 @@ def self.attribute_map # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', :'reason' => :'reason', :'message' => :'message', :'details' => :'details' @@ -40,9 +52,11 @@ def self.json_map # Attribute type mapping. def self.swagger_types { + :'submit_time_utc' => :'DateTime', + :'status' => :'String', :'reason' => :'String', :'message' => :'String', - :'details' => :'Array' + :'details' => :'Array' } end @@ -54,6 +68,14 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + if attributes.has_key?(:'reason') self.reason = attributes[:'reason'] end @@ -87,6 +109,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && reason == o.reason && message == o.message && details == o.details @@ -101,7 +125,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [reason, message, details].hash + [submit_time_utc, status, reason, message, details].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_404_3.rb b/lib/cybersource_rest_client/models/inline_response_404_3.rb index 6c99a63f..d9fb3750 100644 --- a/lib/cybersource_rest_client/models/inline_response_404_3.rb +++ b/lib/cybersource_rest_client/models/inline_response_404_3.rb @@ -13,45 +13,36 @@ module CyberSource class InlineResponse4043 - # The status of the submitted request. Possible values: - NOT_FOUND - attr_accessor :status + attr_accessor :reason - # The detail message related to the status and reason listed above. attr_accessor :message - # An optional short string which identifies the exact error. - attr_accessor :code - - # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. - attr_accessor :submit_time_utc + attr_accessor :details # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'status' => :'status', + :'reason' => :'reason', :'message' => :'message', - :'code' => :'code', - :'submit_time_utc' => :'submitTimeUtc' + :'details' => :'details' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'status' => :'status', + :'reason' => :'reason', :'message' => :'message', - :'code' => :'code', - :'submit_time_utc' => :'submit_time_utc' + :'details' => :'details' } end # Attribute type mapping. def self.swagger_types { - :'status' => :'String', + :'reason' => :'String', :'message' => :'String', - :'code' => :'String', - :'submit_time_utc' => :'String' + :'details' => :'Array' } end @@ -63,20 +54,18 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'status') - self.status = attributes[:'status'] + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] end if attributes.has_key?(:'message') self.message = attributes[:'message'] end - if attributes.has_key?(:'code') - self.code = attributes[:'code'] - end - - if attributes.has_key?(:'submitTimeUtc') - self.submit_time_utc = attributes[:'submitTimeUtc'] + if attributes.has_key?(:'details') + if (value = attributes[:'details']).is_a?(Array) + self.details = value + end end end @@ -98,10 +87,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - status == o.status && + reason == o.reason && message == o.message && - code == o.code && - submit_time_utc == o.submit_time_utc + details == o.details end # @see the `==` method @@ -113,7 +101,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [status, message, code, submit_time_utc].hash + [reason, message, details].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/inline_response_404_2_details.rb b/lib/cybersource_rest_client/models/inline_response_404_3_details.rb similarity index 99% rename from lib/cybersource_rest_client/models/inline_response_404_2_details.rb rename to lib/cybersource_rest_client/models/inline_response_404_3_details.rb index 87f9f6ac..6b129916 100644 --- a/lib/cybersource_rest_client/models/inline_response_404_2_details.rb +++ b/lib/cybersource_rest_client/models/inline_response_404_3_details.rb @@ -12,7 +12,7 @@ require 'date' module CyberSource - class InlineResponse4042Details + class InlineResponse4043Details attr_accessor :field attr_accessor :reason diff --git a/lib/cybersource_rest_client/models/inline_response_404_4.rb b/lib/cybersource_rest_client/models/inline_response_404_4.rb new file mode 100644 index 00000000..c65e15fe --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_404_4.rb @@ -0,0 +1,223 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4044 + # The status of the submitted request. Possible values: - NOT_FOUND + attr_accessor :status + + # The detail message related to the status and reason listed above. + attr_accessor :message + + # An optional short string which identifies the exact error. + attr_accessor :code + + # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. + attr_accessor :submit_time_utc + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'status' => :'status', + :'message' => :'message', + :'code' => :'code', + :'submit_time_utc' => :'submitTimeUtc' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'status' => :'status', + :'message' => :'message', + :'code' => :'code', + :'submit_time_utc' => :'submit_time_utc' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'status' => :'String', + :'message' => :'String', + :'code' => :'String', + :'submit_time_utc' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.has_key?(:'code') + self.code = attributes[:'code'] + end + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + status == o.status && + message == o.message && + code == o.code && + submit_time_utc == o.submit_time_utc + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [status, message, code, submit_time_utc].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_404_5.rb b/lib/cybersource_rest_client/models/inline_response_404_5.rb new file mode 100644 index 00000000..ac53c851 --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_404_5.rb @@ -0,0 +1,223 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4045 + # Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ` Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. + attr_accessor :submit_time_utc + + # The status of the submitted request. Possible values: - NOT_FOUND + attr_accessor :status + + # The reason of the status. Possible values: - NOT_FOUND + attr_accessor :reason + + # The detail message related to the status and reason listed above. + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'submit_time_utc' => :'String', + :'status' => :'String', + :'reason' => :'String', + :'message' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && + reason == o.reason && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [submit_time_utc, status, reason, message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_422_2.rb b/lib/cybersource_rest_client/models/inline_response_422_2.rb new file mode 100644 index 00000000..d2a3a6cd --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_422_2.rb @@ -0,0 +1,223 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse4222 + # Time of request in UTC. Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) + attr_accessor :submit_time_utc + + # Possible values: - `VALIDATION_ERROR` + attr_accessor :status + + # The reason of the status. Possible values: - `PRODUCT_INACTIVE` - `INVALID_MERCHANT_CONFIGURATION` - `PRODUCT_NOT_CONFIGURED` + attr_accessor :reason + + # The detail message related to the status and reason. + attr_accessor :message + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', + :'reason' => :'reason', + :'message' => :'message' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'submit_time_utc' => :'String', + :'status' => :'String', + :'reason' => :'String', + :'message' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && + reason == o.reason && + message == o.message + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [submit_time_utc, status, reason, message].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_502_1.rb b/lib/cybersource_rest_client/models/inline_response_502_1.rb new file mode 100644 index 00000000..ff4e447f --- /dev/null +++ b/lib/cybersource_rest_client/models/inline_response_502_1.rb @@ -0,0 +1,223 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InlineResponse5021 + # Time verification was requested Format: `YYYY-MM-DDThhmmssZ`, where: - `T`: Separates the date and the time - `Z`: Indicates Coordinated Universal Time (UTC), also known as Greenwich Mean Time (GMT) Example: `2020-01-11T224757Z` equals January 11, 2020, at 22:47:57 (10:47:57 p.m.) + attr_accessor :submit_time_utc + + # The status of the submitted transaction. Possible values: - `SERVER_ERROR` + attr_accessor :status + + # The detail message related to the status and reason + attr_accessor :message + + # The reason of the status. Possible values: - `SYSTEM_ERROR` - `SERVER_TIMEOUT` - `SERVICE_TIMEOUT` + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'submit_time_utc' => :'submitTimeUtc', + :'status' => :'status', + :'message' => :'message', + :'reason' => :'reason' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'submit_time_utc' => :'submit_time_utc', + :'status' => :'status', + :'message' => :'message', + :'reason' => :'reason' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'submit_time_utc' => :'String', + :'status' => :'String', + :'message' => :'String', + :'reason' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'submitTimeUtc') + self.submit_time_utc = attributes[:'submitTimeUtc'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.has_key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.has_key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + submit_time_utc == o.submit_time_utc && + status == o.status && + message == o.message && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [submit_time_utc, status, message, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb index d73e3db0..375f10f2 100644 --- a/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response.rb @@ -18,11 +18,14 @@ class InvoicingV2InvoiceSettingsGet200Response attr_accessor :invoice_settings_information + attr_accessor :merchant_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'submit_time_utc' => :'submitTimeUtc', - :'invoice_settings_information' => :'invoiceSettingsInformation' + :'invoice_settings_information' => :'invoiceSettingsInformation', + :'merchant_information' => :'merchantInformation' } end @@ -30,7 +33,8 @@ def self.attribute_map def self.json_map { :'submit_time_utc' => :'submit_time_utc', - :'invoice_settings_information' => :'invoice_settings_information' + :'invoice_settings_information' => :'invoice_settings_information', + :'merchant_information' => :'merchant_information' } end @@ -38,7 +42,8 @@ def self.json_map def self.swagger_types { :'submit_time_utc' => :'String', - :'invoice_settings_information' => :'InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation' + :'invoice_settings_information' => :'InvoicingV2InvoiceSettingsGet200ResponseInvoiceSettingsInformation', + :'merchant_information' => :'InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation' } end @@ -57,6 +62,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'invoiceSettingsInformation') self.invoice_settings_information = attributes[:'invoiceSettingsInformation'] end + + if attributes.has_key?(:'merchantInformation') + self.merchant_information = attributes[:'merchantInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -78,7 +87,8 @@ def ==(o) return true if self.equal?(o) self.class == o.class && submit_time_utc == o.submit_time_utc && - invoice_settings_information == o.invoice_settings_information + invoice_settings_information == o.invoice_settings_information && + merchant_information == o.merchant_information end # @see the `==` method @@ -90,7 +100,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [submit_time_utc, invoice_settings_information].hash + [submit_time_utc, invoice_settings_information, merchant_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information.rb new file mode 100644 index 00000000..4fbdc085 --- /dev/null +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information.rb @@ -0,0 +1,215 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation + attr_accessor :name + + attr_accessor :phone + + attr_accessor :address_details + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'phone' => :'phone', + :'address_details' => :'addressDetails' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'name' => :'name', + :'phone' => :'phone', + :'address_details' => :'address_details' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'name' => :'String', + :'phone' => :'String', + :'address_details' => :'InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.has_key?(:'phone') + self.phone = attributes[:'phone'] + end + + if attributes.has_key?(:'addressDetails') + self.address_details = attributes[:'addressDetails'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + @name = name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + phone == o.phone && + address_details == o.address_details + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [name, phone, address_details].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_processor_account.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details.rb similarity index 69% rename from lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_processor_account.rb rename to lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details.rb index 5382799d..e8102ade 100644 --- a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_processor_account.rb +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details.rb @@ -12,40 +12,52 @@ require 'date' module CyberSource - class PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount - # TBD - attr_accessor :originator_merchant_id + class InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails + attr_accessor :address1 - # TBD - attr_accessor :originator_terminal_id + attr_accessor :address2 - # Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) - attr_accessor :supported_currencies + attr_accessor :city + + attr_accessor :state + + attr_accessor :country + + attr_accessor :postal_code # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'originator_merchant_id' => :'originatorMerchantId', - :'originator_terminal_id' => :'originatorTerminalId', - :'supported_currencies' => :'supportedCurrencies' + :'address1' => :'address1', + :'address2' => :'address2', + :'city' => :'city', + :'state' => :'state', + :'country' => :'country', + :'postal_code' => :'postalCode' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'originator_merchant_id' => :'originator_merchant_id', - :'originator_terminal_id' => :'originator_terminal_id', - :'supported_currencies' => :'supported_currencies' + :'address1' => :'address1', + :'address2' => :'address2', + :'city' => :'city', + :'state' => :'state', + :'country' => :'country', + :'postal_code' => :'postal_code' } end # Attribute type mapping. def self.swagger_types { - :'originator_merchant_id' => :'String', - :'originator_terminal_id' => :'Array', - :'supported_currencies' => :'Array' + :'address1' => :'String', + :'address2' => :'String', + :'city' => :'String', + :'state' => :'String', + :'country' => :'String', + :'postal_code' => :'String' } end @@ -57,20 +69,28 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'originatorMerchantId') - self.originator_merchant_id = attributes[:'originatorMerchantId'] + if attributes.has_key?(:'address1') + self.address1 = attributes[:'address1'] end - if attributes.has_key?(:'originatorTerminalId') - if (value = attributes[:'originatorTerminalId']).is_a?(Array) - self.originator_terminal_id = value - end + if attributes.has_key?(:'address2') + self.address2 = attributes[:'address2'] end - if attributes.has_key?(:'supportedCurrencies') - if (value = attributes[:'supportedCurrencies']).is_a?(Array) - self.supported_currencies = value - end + if attributes.has_key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.has_key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.has_key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.has_key?(:'postalCode') + self.postal_code = attributes[:'postalCode'] end end @@ -78,33 +98,37 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @originator_merchant_id.nil? - invalid_properties.push('invalid value for "originator_merchant_id", originator_merchant_id cannot be nil.') - end - - if @originator_terminal_id.nil? - invalid_properties.push('invalid value for "originator_terminal_id", originator_terminal_id cannot be nil.') - end - invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @originator_merchant_id.nil? - return false if @originator_terminal_id.nil? true end # Custom attribute writer method with validation - # @param [Object] originator_merchant_id Value to be assigned - def originator_merchant_id=(originator_merchant_id) - #if originator_merchant_id.nil? - #fail ArgumentError, 'originator_merchant_id cannot be nil' - #end + # @param [Object] address1 Value to be assigned + def address1=(address1) + @address1 = address1 + end - @originator_merchant_id = originator_merchant_id + # Custom attribute writer method with validation + # @param [Object] address2 Value to be assigned + def address2=(address2) + @address2 = address2 + end + + # Custom attribute writer method with validation + # @param [Object] city Value to be assigned + def city=(city) + @city = city + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + @postal_code = postal_code end # Checks equality by comparing each attribute. @@ -112,9 +136,12 @@ def originator_merchant_id=(originator_merchant_id) def ==(o) return true if self.equal?(o) self.class == o.class && - originator_merchant_id == o.originator_merchant_id && - originator_terminal_id == o.originator_terminal_id && - supported_currencies == o.supported_currencies + address1 == o.address1 && + address2 == o.address2 && + city == o.city && + state == o.state && + country == o.country && + postal_code == o.postal_code end # @see the `==` method @@ -126,7 +153,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [originator_merchant_id, originator_terminal_id, supported_currencies].hash + [address1, address2, city, state, country, postal_code].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb index 86792577..aea37047 100644 --- a/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoices_get200_response.rb @@ -32,6 +32,8 @@ class InvoicingV2InvoicesGet200Response attr_accessor :order_information + attr_accessor :merchant_defined_field_values_with_definition + attr_accessor :invoice_history # Attribute mapping from ruby-style variable name to JSON key. @@ -45,6 +47,7 @@ def self.attribute_map :'processing_information' => :'processingInformation', :'invoice_information' => :'invoiceInformation', :'order_information' => :'orderInformation', + :'merchant_defined_field_values_with_definition' => :'merchantDefinedFieldValuesWithDefinition', :'invoice_history' => :'invoiceHistory' } end @@ -60,6 +63,7 @@ def self.json_map :'processing_information' => :'processing_information', :'invoice_information' => :'invoice_information', :'order_information' => :'order_information', + :'merchant_defined_field_values_with_definition' => :'merchant_defined_field_values_with_definition', :'invoice_history' => :'invoice_history' } end @@ -75,6 +79,7 @@ def self.swagger_types :'processing_information' => :'Invoicingv2invoicesProcessingInformation', :'invoice_information' => :'InvoicingV2InvoicesPost201ResponseInvoiceInformation', :'order_information' => :'InvoicingV2InvoicesPost201ResponseOrderInformation', + :'merchant_defined_field_values_with_definition' => :'Array', :'invoice_history' => :'Array' } end @@ -119,6 +124,12 @@ def initialize(attributes = {}) self.order_information = attributes[:'orderInformation'] end + if attributes.has_key?(:'merchantDefinedFieldValuesWithDefinition') + if (value = attributes[:'merchantDefinedFieldValuesWithDefinition']).is_a?(Array) + self.merchant_defined_field_values_with_definition = value + end + end + if attributes.has_key?(:'invoiceHistory') if (value = attributes[:'invoiceHistory']).is_a?(Array) self.invoice_history = value @@ -158,6 +169,7 @@ def ==(o) processing_information == o.processing_information && invoice_information == o.invoice_information && order_information == o.order_information && + merchant_defined_field_values_with_definition == o.merchant_defined_field_values_with_definition && invoice_history == o.invoice_history end @@ -170,7 +182,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information, invoice_history].hash + [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information, merchant_defined_field_values_with_definition, invoice_history].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb index d1ef13dd..81054dcd 100644 --- a/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response.rb @@ -32,6 +32,8 @@ class InvoicingV2InvoicesPost201Response attr_accessor :order_information + attr_accessor :merchant_defined_field_values_with_definition + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -42,7 +44,8 @@ def self.attribute_map :'customer_information' => :'customerInformation', :'processing_information' => :'processingInformation', :'invoice_information' => :'invoiceInformation', - :'order_information' => :'orderInformation' + :'order_information' => :'orderInformation', + :'merchant_defined_field_values_with_definition' => :'merchantDefinedFieldValuesWithDefinition' } end @@ -56,7 +59,8 @@ def self.json_map :'customer_information' => :'customer_information', :'processing_information' => :'processing_information', :'invoice_information' => :'invoice_information', - :'order_information' => :'order_information' + :'order_information' => :'order_information', + :'merchant_defined_field_values_with_definition' => :'merchant_defined_field_values_with_definition' } end @@ -70,7 +74,8 @@ def self.swagger_types :'customer_information' => :'Invoicingv2invoicesCustomerInformation', :'processing_information' => :'Invoicingv2invoicesProcessingInformation', :'invoice_information' => :'InvoicingV2InvoicesPost201ResponseInvoiceInformation', - :'order_information' => :'InvoicingV2InvoicesPost201ResponseOrderInformation' + :'order_information' => :'InvoicingV2InvoicesPost201ResponseOrderInformation', + :'merchant_defined_field_values_with_definition' => :'Array' } end @@ -113,6 +118,12 @@ def initialize(attributes = {}) if attributes.has_key?(:'orderInformation') self.order_information = attributes[:'orderInformation'] end + + if attributes.has_key?(:'merchantDefinedFieldValuesWithDefinition') + if (value = attributes[:'merchantDefinedFieldValuesWithDefinition']).is_a?(Array) + self.merchant_defined_field_values_with_definition = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -146,7 +157,8 @@ def ==(o) customer_information == o.customer_information && processing_information == o.processing_information && invoice_information == o.invoice_information && - order_information == o.order_information + order_information == o.order_information && + merchant_defined_field_values_with_definition == o.merchant_defined_field_values_with_definition end # @see the `==` method @@ -158,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information].hash + [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information, merchant_defined_field_values_with_definition].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition.rb new file mode 100644 index 00000000..e85d8694 --- /dev/null +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition.rb @@ -0,0 +1,309 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition + attr_accessor :reference_type + + attr_accessor :label + + attr_accessor :field_type + + attr_accessor :customer_visible + + attr_accessor :read_only + + attr_accessor :text_min_length + + attr_accessor :text_max_length + + attr_accessor :text_default_value + + attr_accessor :possible_values + + attr_accessor :value + + attr_accessor :position + + attr_accessor :definition_id + + attr_accessor :merchant_defined_data_index + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'reference_type' => :'referenceType', + :'label' => :'label', + :'field_type' => :'fieldType', + :'customer_visible' => :'customerVisible', + :'read_only' => :'readOnly', + :'text_min_length' => :'textMinLength', + :'text_max_length' => :'textMaxLength', + :'text_default_value' => :'textDefaultValue', + :'possible_values' => :'possibleValues', + :'value' => :'value', + :'position' => :'position', + :'definition_id' => :'definitionId', + :'merchant_defined_data_index' => :'merchantDefinedDataIndex' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'reference_type' => :'reference_type', + :'label' => :'label', + :'field_type' => :'field_type', + :'customer_visible' => :'customer_visible', + :'read_only' => :'read_only', + :'text_min_length' => :'text_min_length', + :'text_max_length' => :'text_max_length', + :'text_default_value' => :'text_default_value', + :'possible_values' => :'possible_values', + :'value' => :'value', + :'position' => :'position', + :'definition_id' => :'definition_id', + :'merchant_defined_data_index' => :'merchant_defined_data_index' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'reference_type' => :'String', + :'label' => :'String', + :'field_type' => :'String', + :'customer_visible' => :'BOOLEAN', + :'read_only' => :'BOOLEAN', + :'text_min_length' => :'Integer', + :'text_max_length' => :'Integer', + :'text_default_value' => :'String', + :'possible_values' => :'String', + :'value' => :'String', + :'position' => :'Integer', + :'definition_id' => :'Integer', + :'merchant_defined_data_index' => :'Integer' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'referenceType') + self.reference_type = attributes[:'referenceType'] + end + + if attributes.has_key?(:'label') + self.label = attributes[:'label'] + end + + if attributes.has_key?(:'fieldType') + self.field_type = attributes[:'fieldType'] + end + + if attributes.has_key?(:'customerVisible') + self.customer_visible = attributes[:'customerVisible'] + end + + if attributes.has_key?(:'readOnly') + self.read_only = attributes[:'readOnly'] + end + + if attributes.has_key?(:'textMinLength') + self.text_min_length = attributes[:'textMinLength'] + end + + if attributes.has_key?(:'textMaxLength') + self.text_max_length = attributes[:'textMaxLength'] + end + + if attributes.has_key?(:'textDefaultValue') + self.text_default_value = attributes[:'textDefaultValue'] + end + + if attributes.has_key?(:'possibleValues') + self.possible_values = attributes[:'possibleValues'] + end + + if attributes.has_key?(:'value') + self.value = attributes[:'value'] + end + + if attributes.has_key?(:'position') + self.position = attributes[:'position'] + end + + if attributes.has_key?(:'definitionId') + self.definition_id = attributes[:'definitionId'] + end + + if attributes.has_key?(:'merchantDefinedDataIndex') + self.merchant_defined_data_index = attributes[:'merchantDefinedDataIndex'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + reference_type == o.reference_type && + label == o.label && + field_type == o.field_type && + customer_visible == o.customer_visible && + read_only == o.read_only && + text_min_length == o.text_min_length && + text_max_length == o.text_max_length && + text_default_value == o.text_default_value && + possible_values == o.possible_values && + value == o.value && + position == o.position && + definition_id == o.definition_id && + merchant_defined_data_index == o.merchant_defined_data_index + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [reference_type, label, field_type, customer_visible, read_only, text_min_length, text_max_length, text_default_value, possible_values, value, position, definition_id, merchant_defined_data_index].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/invoicing_v2_invoices_put200_response.rb b/lib/cybersource_rest_client/models/invoicing_v2_invoices_put200_response.rb index 1ef5625e..f31b44c1 100644 --- a/lib/cybersource_rest_client/models/invoicing_v2_invoices_put200_response.rb +++ b/lib/cybersource_rest_client/models/invoicing_v2_invoices_put200_response.rb @@ -32,6 +32,8 @@ class InvoicingV2InvoicesPut200Response attr_accessor :order_information + attr_accessor :merchant_defined_field_values_with_definition + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -42,7 +44,8 @@ def self.attribute_map :'customer_information' => :'customerInformation', :'processing_information' => :'processingInformation', :'invoice_information' => :'invoiceInformation', - :'order_information' => :'orderInformation' + :'order_information' => :'orderInformation', + :'merchant_defined_field_values_with_definition' => :'merchantDefinedFieldValuesWithDefinition' } end @@ -56,7 +59,8 @@ def self.json_map :'customer_information' => :'customer_information', :'processing_information' => :'processing_information', :'invoice_information' => :'invoice_information', - :'order_information' => :'order_information' + :'order_information' => :'order_information', + :'merchant_defined_field_values_with_definition' => :'merchant_defined_field_values_with_definition' } end @@ -70,7 +74,8 @@ def self.swagger_types :'customer_information' => :'Invoicingv2invoicesCustomerInformation', :'processing_information' => :'Invoicingv2invoicesProcessingInformation', :'invoice_information' => :'InvoicingV2InvoicesPost201ResponseInvoiceInformation', - :'order_information' => :'InvoicingV2InvoicesPost201ResponseOrderInformation' + :'order_information' => :'InvoicingV2InvoicesPost201ResponseOrderInformation', + :'merchant_defined_field_values_with_definition' => :'Array' } end @@ -113,6 +118,12 @@ def initialize(attributes = {}) if attributes.has_key?(:'orderInformation') self.order_information = attributes[:'orderInformation'] end + + if attributes.has_key?(:'merchantDefinedFieldValuesWithDefinition') + if (value = attributes[:'merchantDefinedFieldValuesWithDefinition']).is_a?(Array) + self.merchant_defined_field_values_with_definition = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -146,7 +157,8 @@ def ==(o) customer_information == o.customer_information && processing_information == o.processing_information && invoice_information == o.invoice_information && - order_information == o.order_information + order_information == o.order_information && + merchant_defined_field_values_with_definition == o.merchant_defined_field_values_with_definition end # @see the `==` method @@ -158,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information].hash + [_links, id, submit_time_utc, status, customer_information, processing_information, invoice_information, order_information, merchant_defined_field_values_with_definition].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/invoicingv2invoices_merchant_defined_field_values.rb b/lib/cybersource_rest_client/models/invoicingv2invoices_merchant_defined_field_values.rb new file mode 100644 index 00000000..f27e5507 --- /dev/null +++ b/lib/cybersource_rest_client/models/invoicingv2invoices_merchant_defined_field_values.rb @@ -0,0 +1,199 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Invoicingv2invoicesMerchantDefinedFieldValues + attr_accessor :definition_id + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'definition_id' => :'definitionId', + :'value' => :'value' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'definition_id' => :'definition_id', + :'value' => :'value' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'definition_id' => :'Integer', + :'value' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'definitionId') + self.definition_id = attributes[:'definitionId'] + end + + if attributes.has_key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + definition_id == o.definition_id && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [definition_id, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/merchant_defined_field_core.rb b/lib/cybersource_rest_client/models/merchant_defined_field_core.rb new file mode 100644 index 00000000..e2c36d97 --- /dev/null +++ b/lib/cybersource_rest_client/models/merchant_defined_field_core.rb @@ -0,0 +1,315 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class MerchantDefinedFieldCore + # Possible values: - text - select + attr_accessor :field_type + + attr_accessor :label + + attr_accessor :customer_visible + + # Should be used only if fieldType = \"text\" + attr_accessor :text_min_length + + # Should be used only if fieldType = \"text\" + attr_accessor :text_max_length + + # Should be used only if fieldType = \"text\" + attr_accessor :text_default_value + + # Should be mandatory and used only if fieldType = \"select\" + attr_accessor :possible_values + + attr_accessor :read_only + + attr_accessor :merchant_defined_data_index + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'field_type' => :'fieldType', + :'label' => :'label', + :'customer_visible' => :'customerVisible', + :'text_min_length' => :'textMinLength', + :'text_max_length' => :'textMaxLength', + :'text_default_value' => :'textDefaultValue', + :'possible_values' => :'possibleValues', + :'read_only' => :'readOnly', + :'merchant_defined_data_index' => :'merchantDefinedDataIndex' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'field_type' => :'field_type', + :'label' => :'label', + :'customer_visible' => :'customer_visible', + :'text_min_length' => :'text_min_length', + :'text_max_length' => :'text_max_length', + :'text_default_value' => :'text_default_value', + :'possible_values' => :'possible_values', + :'read_only' => :'read_only', + :'merchant_defined_data_index' => :'merchant_defined_data_index' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'field_type' => :'String', + :'label' => :'String', + :'customer_visible' => :'BOOLEAN', + :'text_min_length' => :'Integer', + :'text_max_length' => :'Integer', + :'text_default_value' => :'String', + :'possible_values' => :'String', + :'read_only' => :'BOOLEAN', + :'merchant_defined_data_index' => :'Integer' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'fieldType') + self.field_type = attributes[:'fieldType'] + end + + if attributes.has_key?(:'label') + self.label = attributes[:'label'] + end + + if attributes.has_key?(:'customerVisible') + self.customer_visible = attributes[:'customerVisible'] + else + self.customer_visible = false + end + + if attributes.has_key?(:'textMinLength') + self.text_min_length = attributes[:'textMinLength'] + end + + if attributes.has_key?(:'textMaxLength') + self.text_max_length = attributes[:'textMaxLength'] + end + + if attributes.has_key?(:'textDefaultValue') + self.text_default_value = attributes[:'textDefaultValue'] + end + + if attributes.has_key?(:'possibleValues') + self.possible_values = attributes[:'possibleValues'] + end + + if attributes.has_key?(:'readOnly') + self.read_only = attributes[:'readOnly'] + else + self.read_only = false + end + + if attributes.has_key?(:'merchantDefinedDataIndex') + self.merchant_defined_data_index = attributes[:'merchantDefinedDataIndex'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @field_type.nil? + invalid_properties.push('invalid value for "field_type", field_type cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @merchant_defined_data_index.nil? + invalid_properties.push('invalid value for "merchant_defined_data_index", merchant_defined_data_index cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @field_type.nil? + return false if @label.nil? + return false if @merchant_defined_data_index.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + #if label.nil? + #fail ArgumentError, 'label cannot be nil' + #end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] text_default_value Value to be assigned + def text_default_value=(text_default_value) + @text_default_value = text_default_value + end + + # Custom attribute writer method with validation + # @param [Object] possible_values Value to be assigned + def possible_values=(possible_values) + @possible_values = possible_values + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + field_type == o.field_type && + label == o.label && + customer_visible == o.customer_visible && + text_min_length == o.text_min_length && + text_max_length == o.text_max_length && + text_default_value == o.text_default_value && + possible_values == o.possible_values && + read_only == o.read_only && + merchant_defined_data_index == o.merchant_defined_data_index + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [field_type, label, customer_visible, text_min_length, text_max_length, text_default_value, possible_values, read_only, merchant_defined_data_index].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/merchant_defined_field_definition_request.rb b/lib/cybersource_rest_client/models/merchant_defined_field_definition_request.rb new file mode 100644 index 00000000..d755ccdc --- /dev/null +++ b/lib/cybersource_rest_client/models/merchant_defined_field_definition_request.rb @@ -0,0 +1,315 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class MerchantDefinedFieldDefinitionRequest + # Possible values: - text - select + attr_accessor :field_type + + attr_accessor :label + + attr_accessor :customer_visible + + # Should be used only if fieldType = \"text\" + attr_accessor :text_min_length + + # Should be used only if fieldType = \"text\" + attr_accessor :text_max_length + + # Should be used only if fieldType = \"text\" + attr_accessor :text_default_value + + # Should be mandatory and used only if fieldType = \"select\" + attr_accessor :possible_values + + attr_accessor :read_only + + attr_accessor :merchant_defined_data_index + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'field_type' => :'fieldType', + :'label' => :'label', + :'customer_visible' => :'customerVisible', + :'text_min_length' => :'textMinLength', + :'text_max_length' => :'textMaxLength', + :'text_default_value' => :'textDefaultValue', + :'possible_values' => :'possibleValues', + :'read_only' => :'readOnly', + :'merchant_defined_data_index' => :'merchantDefinedDataIndex' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'field_type' => :'field_type', + :'label' => :'label', + :'customer_visible' => :'customer_visible', + :'text_min_length' => :'text_min_length', + :'text_max_length' => :'text_max_length', + :'text_default_value' => :'text_default_value', + :'possible_values' => :'possible_values', + :'read_only' => :'read_only', + :'merchant_defined_data_index' => :'merchant_defined_data_index' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'field_type' => :'String', + :'label' => :'String', + :'customer_visible' => :'BOOLEAN', + :'text_min_length' => :'Integer', + :'text_max_length' => :'Integer', + :'text_default_value' => :'String', + :'possible_values' => :'String', + :'read_only' => :'BOOLEAN', + :'merchant_defined_data_index' => :'Integer' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'fieldType') + self.field_type = attributes[:'fieldType'] + end + + if attributes.has_key?(:'label') + self.label = attributes[:'label'] + end + + if attributes.has_key?(:'customerVisible') + self.customer_visible = attributes[:'customerVisible'] + else + self.customer_visible = false + end + + if attributes.has_key?(:'textMinLength') + self.text_min_length = attributes[:'textMinLength'] + end + + if attributes.has_key?(:'textMaxLength') + self.text_max_length = attributes[:'textMaxLength'] + end + + if attributes.has_key?(:'textDefaultValue') + self.text_default_value = attributes[:'textDefaultValue'] + end + + if attributes.has_key?(:'possibleValues') + self.possible_values = attributes[:'possibleValues'] + end + + if attributes.has_key?(:'readOnly') + self.read_only = attributes[:'readOnly'] + else + self.read_only = false + end + + if attributes.has_key?(:'merchantDefinedDataIndex') + self.merchant_defined_data_index = attributes[:'merchantDefinedDataIndex'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @field_type.nil? + invalid_properties.push('invalid value for "field_type", field_type cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @merchant_defined_data_index.nil? + invalid_properties.push('invalid value for "merchant_defined_data_index", merchant_defined_data_index cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @field_type.nil? + return false if @label.nil? + return false if @merchant_defined_data_index.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] label Value to be assigned + def label=(label) + #if label.nil? + #fail ArgumentError, 'label cannot be nil' + #end + + @label = label + end + + # Custom attribute writer method with validation + # @param [Object] text_default_value Value to be assigned + def text_default_value=(text_default_value) + @text_default_value = text_default_value + end + + # Custom attribute writer method with validation + # @param [Object] possible_values Value to be assigned + def possible_values=(possible_values) + @possible_values = possible_values + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + field_type == o.field_type && + label == o.label && + customer_visible == o.customer_visible && + text_min_length == o.text_min_length && + text_max_length == o.text_max_length && + text_default_value == o.text_default_value && + possible_values == o.possible_values && + read_only == o.read_only && + merchant_defined_data_index == o.merchant_defined_data_index + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [field_type, label, customer_visible, text_min_length, text_max_length, text_default_value, possible_values, read_only, merchant_defined_data_index].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/mit_reversal_request.rb b/lib/cybersource_rest_client/models/mit_reversal_request.rb index 70790c51..5ec473ae 100644 --- a/lib/cybersource_rest_client/models/mit_reversal_request.rb +++ b/lib/cybersource_rest_client/models/mit_reversal_request.rb @@ -23,6 +23,8 @@ class MitReversalRequest attr_accessor :point_of_sale_information + attr_accessor :processor_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -30,7 +32,8 @@ def self.attribute_map :'reversal_information' => :'reversalInformation', :'processing_information' => :'processingInformation', :'order_information' => :'orderInformation', - :'point_of_sale_information' => :'pointOfSaleInformation' + :'point_of_sale_information' => :'pointOfSaleInformation', + :'processor_information' => :'processorInformation' } end @@ -41,7 +44,8 @@ def self.json_map :'reversal_information' => :'reversal_information', :'processing_information' => :'processing_information', :'order_information' => :'order_information', - :'point_of_sale_information' => :'point_of_sale_information' + :'point_of_sale_information' => :'point_of_sale_information', + :'processor_information' => :'processor_information' } end @@ -52,7 +56,8 @@ def self.swagger_types :'reversal_information' => :'Ptsv2paymentsidreversalsReversalInformation', :'processing_information' => :'Ptsv2paymentsidreversalsProcessingInformation', :'order_information' => :'Ptsv2paymentsidreversalsOrderInformation', - :'point_of_sale_information' => :'Ptsv2paymentsidreversalsPointOfSaleInformation' + :'point_of_sale_information' => :'Ptsv2paymentsidreversalsPointOfSaleInformation', + :'processor_information' => :'Ptsv2reversalsProcessorInformation' } end @@ -83,6 +88,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'pointOfSaleInformation') self.point_of_sale_information = attributes[:'pointOfSaleInformation'] end + + if attributes.has_key?(:'processorInformation') + self.processor_information = attributes[:'processorInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -107,7 +116,8 @@ def ==(o) reversal_information == o.reversal_information && processing_information == o.processing_information && order_information == o.order_information && - point_of_sale_information == o.point_of_sale_information + point_of_sale_information == o.point_of_sale_information && + processor_information == o.processor_information end # @see the `==` method @@ -119,7 +129,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, reversal_information, processing_information, order_information, point_of_sale_information].hash + [client_reference_information, reversal_information, processing_information, order_information, point_of_sale_information, processor_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_payment_methods.rb b/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_payment_methods.rb index 4ce58bf7..4844cc61 100644 --- a/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_payment_methods.rb +++ b/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_configuration_payment_methods.rb @@ -29,6 +29,8 @@ class PaymentsProductsAlternativePaymentMethodsConfigurationInformationConfigura # URL to redirect to if the transaction fails. This is where the user will be sent if there is an error during the payment process. example: http://www.test.com/failure attr_accessor :redirect_failure_url + attr_accessor :underwriting + # Additional configurations for the payment method. This can include various settings specific to the payment method. attr_accessor :additional_configurations @@ -40,6 +42,7 @@ def self.attribute_map :'redirect_success_url' => :'redirectSuccessUrl', :'redirect_cancel_url' => :'redirectCancelUrl', :'redirect_failure_url' => :'redirectFailureUrl', + :'underwriting' => :'underwriting', :'additional_configurations' => :'additionalConfigurations' } end @@ -52,6 +55,7 @@ def self.json_map :'redirect_success_url' => :'redirect_success_url', :'redirect_cancel_url' => :'redirect_cancel_url', :'redirect_failure_url' => :'redirect_failure_url', + :'underwriting' => :'underwriting', :'additional_configurations' => :'additional_configurations' } end @@ -64,6 +68,7 @@ def self.swagger_types :'redirect_success_url' => :'String', :'redirect_cancel_url' => :'String', :'redirect_failure_url' => :'String', + :'underwriting' => :'UnderwritingConfiguration', :'additional_configurations' => :'Array' } end @@ -96,6 +101,10 @@ def initialize(attributes = {}) self.redirect_failure_url = attributes[:'redirectFailureUrl'] end + if attributes.has_key?(:'underwriting') + self.underwriting = attributes[:'underwriting'] + end + if attributes.has_key?(:'additionalConfigurations') if (value = attributes[:'additionalConfigurations']).is_a?(Array) self.additional_configurations = value @@ -126,6 +135,7 @@ def ==(o) redirect_success_url == o.redirect_success_url && redirect_cancel_url == o.redirect_cancel_url && redirect_failure_url == o.redirect_failure_url && + underwriting == o.underwriting && additional_configurations == o.additional_configurations end @@ -138,7 +148,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [merchant_id, logo_url, redirect_success_url, redirect_cancel_url, redirect_failure_url, additional_configurations].hash + [merchant_id, logo_url, redirect_success_url, redirect_cancel_url, redirect_failure_url, underwriting, additional_configurations].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_subscription_information.rb b/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_subscription_information.rb index 13315ab4..2d5652e2 100644 --- a/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_subscription_information.rb +++ b/lib/cybersource_rest_client/models/payments_products_alternative_payment_methods_subscription_information.rb @@ -15,30 +15,24 @@ module CyberSource class PaymentsProductsAlternativePaymentMethodsSubscriptionInformation attr_accessor :enabled - # Indicates if the organization can enable this product using self service. Possible values: - SELF_SERVICEABLE - NOT_SELF_SERVICEABLE - SELF_SERVICE_ONLY - attr_accessor :self_serviceability - # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'enabled' => :'enabled', - :'self_serviceability' => :'selfServiceability' + :'enabled' => :'enabled' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'enabled' => :'enabled', - :'self_serviceability' => :'self_serviceability' + :'enabled' => :'enabled' } end # Attribute type mapping. def self.swagger_types { - :'enabled' => :'BOOLEAN', - :'self_serviceability' => :'String' + :'enabled' => :'BOOLEAN' } end @@ -53,12 +47,6 @@ def initialize(attributes = {}) if attributes.has_key?(:'enabled') self.enabled = attributes[:'enabled'] end - - if attributes.has_key?(:'selfServiceability') - self.self_serviceability = attributes[:'selfServiceability'] - else - self.self_serviceability = 'NOT_SELF_SERVICEABLE' - end end # Show invalid properties with the reasons. Usually used together with valid? @@ -79,8 +67,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - enabled == o.enabled && - self_serviceability == o.self_serviceability + enabled == o.enabled end # @see the `==` method @@ -92,7 +79,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [enabled, self_serviceability].hash + [enabled].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/payments_products_currency_conversion.rb b/lib/cybersource_rest_client/models/payments_products_currency_conversion.rb index ef49fa62..ddaffdb5 100644 --- a/lib/cybersource_rest_client/models/payments_products_currency_conversion.rb +++ b/lib/cybersource_rest_client/models/payments_products_currency_conversion.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsCurrencyConversionConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features.rb b/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features.rb index fa6c3c99..7ee3a419 100644 --- a/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features.rb +++ b/lib/cybersource_rest_client/models/payments_products_differential_fee_subscription_information_features.rb @@ -32,7 +32,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'surcharge' => :'PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge' + :'surcharge' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_payer_authentication.rb b/lib/cybersource_rest_client/models/payments_products_payer_authentication.rb index bfc6ef6e..9767a6dc 100644 --- a/lib/cybersource_rest_client/models/payments_products_payer_authentication.rb +++ b/lib/cybersource_rest_client/models/payments_products_payer_authentication.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsPayerAuthenticationConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_payer_authentication_subscription_information.rb b/lib/cybersource_rest_client/models/payments_products_payer_authentication_subscription_information.rb new file mode 100644 index 00000000..2fca2517 --- /dev/null +++ b/lib/cybersource_rest_client/models/payments_products_payer_authentication_subscription_information.rb @@ -0,0 +1,202 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class PaymentsProductsPayerAuthenticationSubscriptionInformation + attr_accessor :enabled + + # Indicates if the organization can enable this product using self service. Possible values: - SELF_SERVICEABLE - NOT_SELF_SERVICEABLE - SELF_SERVICE_ONLY + attr_accessor :self_serviceability + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'enabled' => :'enabled', + :'self_serviceability' => :'selfServiceability' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'enabled' => :'enabled', + :'self_serviceability' => :'self_serviceability' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'enabled' => :'BOOLEAN', + :'self_serviceability' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.has_key?(:'selfServiceability') + self.self_serviceability = attributes[:'selfServiceability'] + else + self.self_serviceability = 'NOT_SELF_SERVICEABLE' + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + enabled == o.enabled && + self_serviceability == o.self_serviceability + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [enabled, self_serviceability].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts.rb b/lib/cybersource_rest_client/models/payments_products_payouts.rb index d09f40fa..405f6caa 100644 --- a/lib/cybersource_rest_client/models/payments_products_payouts.rb +++ b/lib/cybersource_rest_client/models/payments_products_payouts.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsPayoutsConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations.rb b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations.rb index 4809ed34..4b76107d 100644 --- a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations.rb +++ b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations.rb @@ -13,31 +13,31 @@ module CyberSource class PaymentsProductsPayoutsConfigurationInformationConfigurations - attr_accessor :pullfunds + attr_accessor :common - attr_accessor :pushfunds + attr_accessor :processors # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'pullfunds' => :'pullfunds', - :'pushfunds' => :'pushfunds' + :'common' => :'common', + :'processors' => :'processors' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'pullfunds' => :'pullfunds', - :'pushfunds' => :'pushfunds' + :'common' => :'common', + :'processors' => :'processors' } end # Attribute type mapping. def self.swagger_types { - :'pullfunds' => :'Hash', - :'pushfunds' => :'Hash' + :'common' => :'PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon', + :'processors' => :'Hash' } end @@ -49,15 +49,13 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'pullfunds') - if (value = attributes[:'pullfunds']).is_a?(Hash) - self.pullfunds = value - end + if attributes.has_key?(:'common') + self.common = attributes[:'common'] end - if attributes.has_key?(:'pushfunds') - if (value = attributes[:'pushfunds']).is_a?(Hash) - self.pushfunds = value + if attributes.has_key?(:'processors') + if (value = attributes[:'processors']).is_a?(Hash) + self.processors = value end end end @@ -80,8 +78,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - pullfunds == o.pullfunds && - pushfunds == o.pushfunds + common == o.common && + processors == o.processors end # @see the `==` method @@ -93,7 +91,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [pullfunds, pushfunds].hash + [common, processors].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common.rb b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common.rb new file mode 100644 index 00000000..6635d500 --- /dev/null +++ b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common.rb @@ -0,0 +1,215 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon + # List of card types supported by this merchant. + attr_accessor :payment_types + + # List of supported Business Application Indicators. + attr_accessor :business_application_id + + attr_accessor :aggregator + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'payment_types' => :'paymentTypes', + :'business_application_id' => :'businessApplicationId', + :'aggregator' => :'aggregator' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'payment_types' => :'payment_types', + :'business_application_id' => :'business_application_id', + :'aggregator' => :'aggregator' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'payment_types' => :'Array', + :'business_application_id' => :'Array', + :'aggregator' => :'PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'paymentTypes') + if (value = attributes[:'paymentTypes']).is_a?(Array) + self.payment_types = value + end + end + + if attributes.has_key?(:'businessApplicationId') + if (value = attributes[:'businessApplicationId']).is_a?(Array) + self.business_application_id = value + end + end + + if attributes.has_key?(:'aggregator') + self.aggregator = attributes[:'aggregator'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + payment_types == o.payment_types && + business_application_id == o.business_application_id && + aggregator == o.aggregator + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [payment_types, business_application_id, aggregator].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common_aggregator.rb b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common_aggregator.rb new file mode 100644 index 00000000..fdd756d1 --- /dev/null +++ b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_common_aggregator.rb @@ -0,0 +1,257 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator + # Marketplace or payment facilitator ID. + attr_accessor :id + + # Acceptor's legal business name associated with the card acceptor identification code. + attr_accessor :name + + # Sub-merchant ID + attr_accessor :sub_merchant_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'sub_merchant_id' => :'subMerchantId' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'id' => :'id', + :'name' => :'name', + :'sub_merchant_id' => :'sub_merchant_id' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'id' => :'String', + :'name' => :'String', + :'sub_merchant_id' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.has_key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.has_key?(:'subMerchantId') + self.sub_merchant_id = attributes[:'subMerchantId'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@id.nil? && @id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + #invalid_properties.push('invalid value for "id", must conform to the pattern /^[a-zA-Z0-9_]+$/.') + #end + + #if !@name.nil? && @name !~ Regexp.new(/^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$/) + #invalid_properties.push('invalid value for "name", must conform to the pattern /^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$/.') + #end + + #if !@sub_merchant_id.nil? && @sub_merchant_id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + #invalid_properties.push('invalid value for "sub_merchant_id", must conform to the pattern /^[a-zA-Z0-9_]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@id.nil? && @id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + #return false if !@name.nil? && @name !~ Regexp.new(/^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$/) + #return false if !@sub_merchant_id.nil? && @sub_merchant_id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] id Value to be assigned + def id=(id) + #if !id.nil? && id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + #fail ArgumentError, 'invalid value for "id", must conform to the pattern /^[a-zA-Z0-9_]+$/.' + #end + + @id = id + end + + # Custom attribute writer method with validation + # @param [Object] name Value to be assigned + def name=(name) + #if !name.nil? && name !~ Regexp.new(/^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$/) + #fail ArgumentError, 'invalid value for "name", must conform to the pattern /^[A-Za-z0-9!@#$%^&*(),.?\":{}|<>]+$/.' + #end + + @name = name + end + + # Custom attribute writer method with validation + # @param [Object] sub_merchant_id Value to be assigned + def sub_merchant_id=(sub_merchant_id) + #if !sub_merchant_id.nil? && sub_merchant_id !~ Regexp.new(/^[a-zA-Z0-9_]+$/) + #fail ArgumentError, 'invalid value for "sub_merchant_id", must conform to the pattern /^[a-zA-Z0-9_]+$/.' + #end + + @sub_merchant_id = sub_merchant_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + sub_merchant_id == o.sub_merchant_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [id, name, sub_merchant_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pullfunds.rb b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pullfunds.rb deleted file mode 100644 index 07080fb9..00000000 --- a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pullfunds.rb +++ /dev/null @@ -1,310 +0,0 @@ -=begin -#CyberSource Merged Spec - -#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - -OpenAPI spec version: 0.0.1 - -Generated by: https://github.com/swagger-api/swagger-codegen.git -Swagger Codegen version: 2.4.38 -=end - -require 'date' - -module CyberSource - # Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD] - class PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds - # Valid organization in OMS with an organizationInformation.type as \"acquirer\". - attr_accessor :acquirer_organization_id - - # This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center. - attr_accessor :acquiring_bin - - # This configuration allows a transaction to be flagged for cryptocurrency funds transfer. - attr_accessor :allow_crypto_currency_purchase - - # A unique identifier number for the originator of transfers that is unique to the processor or acquirer. - attr_accessor :card_acceptor_id - - # Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant. - attr_accessor :originator_mvv - - # A 4 character max name abbreviation for the originator. - attr_accessor :originator_name_abbreviation - - # This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions. - attr_accessor :card_terminal_id - - # Attribute mapping from ruby-style variable name to JSON key. - def self.attribute_map - { - :'acquirer_organization_id' => :'acquirerOrganizationId', - :'acquiring_bin' => :'acquiringBIN', - :'allow_crypto_currency_purchase' => :'allowCryptoCurrencyPurchase', - :'card_acceptor_id' => :'cardAcceptorId', - :'originator_mvv' => :'originatorMvv', - :'originator_name_abbreviation' => :'originatorNameAbbreviation', - :'card_terminal_id' => :'cardTerminalId' - } - end - - # Attribute mapping from JSON key to ruby-style variable name. - def self.json_map - { - :'acquirer_organization_id' => :'acquirer_organization_id', - :'acquiring_bin' => :'acquiring_bin', - :'allow_crypto_currency_purchase' => :'allow_crypto_currency_purchase', - :'card_acceptor_id' => :'card_acceptor_id', - :'originator_mvv' => :'originator_mvv', - :'originator_name_abbreviation' => :'originator_name_abbreviation', - :'card_terminal_id' => :'card_terminal_id' - } - end - - # Attribute type mapping. - def self.swagger_types - { - :'acquirer_organization_id' => :'String', - :'acquiring_bin' => :'Integer', - :'allow_crypto_currency_purchase' => :'BOOLEAN', - :'card_acceptor_id' => :'String', - :'originator_mvv' => :'String', - :'originator_name_abbreviation' => :'String', - :'card_terminal_id' => :'String' - } - end - - # Initializes the object - # @param [Hash] attributes Model attributes in the form of hash - def initialize(attributes = {}) - return unless attributes.is_a?(Hash) - - # convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - - if attributes.has_key?(:'acquirerOrganizationId') - self.acquirer_organization_id = attributes[:'acquirerOrganizationId'] - end - - if attributes.has_key?(:'acquiringBIN') - self.acquiring_bin = attributes[:'acquiringBIN'] - end - - if attributes.has_key?(:'allowCryptoCurrencyPurchase') - self.allow_crypto_currency_purchase = attributes[:'allowCryptoCurrencyPurchase'] - end - - if attributes.has_key?(:'cardAcceptorId') - self.card_acceptor_id = attributes[:'cardAcceptorId'] - end - - if attributes.has_key?(:'originatorMvv') - self.originator_mvv = attributes[:'originatorMvv'] - end - - if attributes.has_key?(:'originatorNameAbbreviation') - self.originator_name_abbreviation = attributes[:'originatorNameAbbreviation'] - end - - if attributes.has_key?(:'cardTerminalId') - self.card_terminal_id = attributes[:'cardTerminalId'] - end - end - - # Show invalid properties with the reasons. Usually used together with valid? - # @return Array for valid properties with the reasons - def list_invalid_properties - invalid_properties = Array.new - if @acquiring_bin.nil? - invalid_properties.push('invalid value for "acquiring_bin", acquiring_bin cannot be nil.') - end - - if @card_acceptor_id.nil? - invalid_properties.push('invalid value for "card_acceptor_id", card_acceptor_id cannot be nil.') - end - - if @card_terminal_id.nil? - invalid_properties.push('invalid value for "card_terminal_id", card_terminal_id cannot be nil.') - end - - invalid_properties - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - def valid? - return false if @acquiring_bin.nil? - return false if @card_acceptor_id.nil? - return false if @card_terminal_id.nil? - true - end - - # Custom attribute writer method with validation - # @param [Object] acquirer_organization_id Value to be assigned - def acquirer_organization_id=(acquirer_organization_id) - @acquirer_organization_id = acquirer_organization_id - end - - # Custom attribute writer method with validation - # @param [Object] card_acceptor_id Value to be assigned - def card_acceptor_id=(card_acceptor_id) - #if card_acceptor_id.nil? - #fail ArgumentError, 'card_acceptor_id cannot be nil' - #end - - @card_acceptor_id = card_acceptor_id - end - - # Custom attribute writer method with validation - # @param [Object] originator_mvv Value to be assigned - def originator_mvv=(originator_mvv) - @originator_mvv = originator_mvv - end - - # Custom attribute writer method with validation - # @param [Object] originator_name_abbreviation Value to be assigned - def originator_name_abbreviation=(originator_name_abbreviation) - @originator_name_abbreviation = originator_name_abbreviation - end - - # Custom attribute writer method with validation - # @param [Object] card_terminal_id Value to be assigned - def card_terminal_id=(card_terminal_id) - #if card_terminal_id.nil? - #fail ArgumentError, 'card_terminal_id cannot be nil' - #end - - @card_terminal_id = card_terminal_id - end - - # Checks equality by comparing each attribute. - # @param [Object] Object to be compared - def ==(o) - return true if self.equal?(o) - self.class == o.class && - acquirer_organization_id == o.acquirer_organization_id && - acquiring_bin == o.acquiring_bin && - allow_crypto_currency_purchase == o.allow_crypto_currency_purchase && - card_acceptor_id == o.card_acceptor_id && - originator_mvv == o.originator_mvv && - originator_name_abbreviation == o.originator_name_abbreviation && - card_terminal_id == o.card_terminal_id - end - - # @see the `==` method - # @param [Object] Object to be compared - def eql?(o) - self == o - end - - # Calculates hash code according to all attributes. - # @return [Fixnum] Hash code - def hash - [acquirer_organization_id, acquiring_bin, allow_crypto_currency_purchase, card_acceptor_id, originator_mvv, originator_name_abbreviation, card_terminal_id].hash - end - - # Builds the object from hash - # @param [Hash] attributes Model attributes in the form of hash - # @return [Object] Returns the model itself - def build_from_hash(attributes) - return nil unless attributes.is_a?(Hash) - self.class.swagger_types.each_pair do |key, type| - if type =~ /\AArray<(.*)>/i - # check to ensure the input is an array given that the the attribute - # is documented as an array but the input is not - if attributes[self.class.attribute_map[key]].is_a?(Array) - self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) - end - elsif !attributes[self.class.attribute_map[key]].nil? - self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) - end # or else data not found in attributes(hash), not an issue as the data can be optional - end - - self - end - - # Deserializes the data based on type - # @param string type Data type - # @param string value Value to be deserialized - # @return [Object] Deserialized data - def _deserialize(type, value) - case type.to_sym - when :DateTime - DateTime.parse(value) - when :Date - Date.parse(value) - when :String - value.to_s - when :Integer - value.to_i - when :Float - value.to_f - when :BOOLEAN - if value.to_s =~ /\A(true|t|yes|y|1)\z/i - true - else - false - end - when :Object - # generic object (usually a Hash), return directly - value - when /\AArray<(?.+)>\z/ - inner_type = Regexp.last_match[:inner_type] - value.map { |v| _deserialize(inner_type, v) } - when /\AHash<(?.+?), (?.+)>\z/ - k_type = Regexp.last_match[:k_type] - v_type = Regexp.last_match[:v_type] - {}.tap do |hash| - value.each do |k, v| - hash[_deserialize(k_type, k)] = _deserialize(v_type, v) - end - end - else # model - temp_model = CyberSource.const_get(type).new - temp_model.build_from_hash(value) - end - end - - # Returns the string representation of the object - # @return [String] String presentation of the object - def to_s - to_hash.to_s - end - - # to_body is an alias to to_hash (backward compatibility) - # @return [Hash] Returns the object in the form of hash - def to_body - to_hash - end - - # Returns the object in the form of hash - # @return [Hash] Returns the object in the form of hash - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - next if value.nil? - hash[param] = _to_hash(value) - end - hash - end - - # Outputs non-array value in the form of hash - # For object, use to_hash. Otherwise, just return the value - # @param [Object] value Any valid value - # @return [Hash] Returns the value in the form of hash - def _to_hash(value) - if value.is_a?(Array) - value.compact.map { |v| _to_hash(v) } - elsif value.is_a?(Hash) - {}.tap do |hash| - value.each { |k, v| hash[k] = _to_hash(v) } - end - elsif value.respond_to? :to_hash - value.to_hash - else - value - end - end - end -end diff --git a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pushfunds.rb b/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pushfunds.rb deleted file mode 100644 index 3ec9b51c..00000000 --- a/lib/cybersource_rest_client/models/payments_products_payouts_configuration_information_configurations_pushfunds.rb +++ /dev/null @@ -1,335 +0,0 @@ -=begin -#CyberSource Merged Spec - -#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - -OpenAPI spec version: 0.0.1 - -Generated by: https://github.com/swagger-api/swagger-codegen.git -Swagger Codegen version: 2.4.38 -=end - -require 'date' - -module CyberSource - # Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD] - class PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds - # TBD - attr_accessor :acquirer_country_code - - # TBD - attr_accessor :acquiring_bin - - # This configuration allows a transaction to be flagged for cryptocurrency funds transfer. - attr_accessor :allow_crypto_currency_purchase - - # TBD - attr_accessor :financial_institution_id - - # TBD - attr_accessor :network_order - - # TBD - attr_accessor :national_reimbursement_fee - - # TBD - attr_accessor :originator_business_application_id - - # TBD - attr_accessor :originator_pseudo_aba_number - - # TBD - attr_accessor :processor_account - - # Attribute mapping from ruby-style variable name to JSON key. - def self.attribute_map - { - :'acquirer_country_code' => :'acquirerCountryCode', - :'acquiring_bin' => :'acquiringBIN', - :'allow_crypto_currency_purchase' => :'allowCryptoCurrencyPurchase', - :'financial_institution_id' => :'financialInstitutionId', - :'network_order' => :'networkOrder', - :'national_reimbursement_fee' => :'nationalReimbursementFee', - :'originator_business_application_id' => :'originatorBusinessApplicationId', - :'originator_pseudo_aba_number' => :'originatorPseudoAbaNumber', - :'processor_account' => :'processorAccount' - } - end - - # Attribute mapping from JSON key to ruby-style variable name. - def self.json_map - { - :'acquirer_country_code' => :'acquirer_country_code', - :'acquiring_bin' => :'acquiring_bin', - :'allow_crypto_currency_purchase' => :'allow_crypto_currency_purchase', - :'financial_institution_id' => :'financial_institution_id', - :'network_order' => :'network_order', - :'national_reimbursement_fee' => :'national_reimbursement_fee', - :'originator_business_application_id' => :'originator_business_application_id', - :'originator_pseudo_aba_number' => :'originator_pseudo_aba_number', - :'processor_account' => :'processor_account' - } - end - - # Attribute type mapping. - def self.swagger_types - { - :'acquirer_country_code' => :'Integer', - :'acquiring_bin' => :'Integer', - :'allow_crypto_currency_purchase' => :'BOOLEAN', - :'financial_institution_id' => :'String', - :'network_order' => :'String', - :'national_reimbursement_fee' => :'String', - :'originator_business_application_id' => :'String', - :'originator_pseudo_aba_number' => :'String', - :'processor_account' => :'Array' - } - end - - # Initializes the object - # @param [Hash] attributes Model attributes in the form of hash - def initialize(attributes = {}) - return unless attributes.is_a?(Hash) - - # convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - - if attributes.has_key?(:'acquirerCountryCode') - self.acquirer_country_code = attributes[:'acquirerCountryCode'] - end - - if attributes.has_key?(:'acquiringBIN') - self.acquiring_bin = attributes[:'acquiringBIN'] - end - - if attributes.has_key?(:'allowCryptoCurrencyPurchase') - self.allow_crypto_currency_purchase = attributes[:'allowCryptoCurrencyPurchase'] - end - - if attributes.has_key?(:'financialInstitutionId') - self.financial_institution_id = attributes[:'financialInstitutionId'] - end - - if attributes.has_key?(:'networkOrder') - self.network_order = attributes[:'networkOrder'] - end - - if attributes.has_key?(:'nationalReimbursementFee') - self.national_reimbursement_fee = attributes[:'nationalReimbursementFee'] - end - - if attributes.has_key?(:'originatorBusinessApplicationId') - self.originator_business_application_id = attributes[:'originatorBusinessApplicationId'] - end - - if attributes.has_key?(:'originatorPseudoAbaNumber') - self.originator_pseudo_aba_number = attributes[:'originatorPseudoAbaNumber'] - end - - if attributes.has_key?(:'processorAccount') - if (value = attributes[:'processorAccount']).is_a?(Array) - self.processor_account = value - end - end - end - - # Show invalid properties with the reasons. Usually used together with valid? - # @return Array for valid properties with the reasons - def list_invalid_properties - invalid_properties = Array.new - if @acquirer_country_code.nil? - invalid_properties.push('invalid value for "acquirer_country_code", acquirer_country_code cannot be nil.') - end - - if @acquiring_bin.nil? - invalid_properties.push('invalid value for "acquiring_bin", acquiring_bin cannot be nil.') - end - - if @originator_business_application_id.nil? - invalid_properties.push('invalid value for "originator_business_application_id", originator_business_application_id cannot be nil.') - end - - if @processor_account.nil? - invalid_properties.push('invalid value for "processor_account", processor_account cannot be nil.') - end - - invalid_properties - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - def valid? - return false if @acquirer_country_code.nil? - return false if @acquiring_bin.nil? - return false if @originator_business_application_id.nil? - return false if @processor_account.nil? - true - end - - # Custom attribute writer method with validation - # @param [Object] financial_institution_id Value to be assigned - def financial_institution_id=(financial_institution_id) - @financial_institution_id = financial_institution_id - end - - # Custom attribute writer method with validation - # @param [Object] network_order Value to be assigned - def network_order=(network_order) - @network_order = network_order - end - - # Custom attribute writer method with validation - # @param [Object] national_reimbursement_fee Value to be assigned - def national_reimbursement_fee=(national_reimbursement_fee) - @national_reimbursement_fee = national_reimbursement_fee - end - - # Custom attribute writer method with validation - # @param [Object] originator_business_application_id Value to be assigned - def originator_business_application_id=(originator_business_application_id) - #if originator_business_application_id.nil? - #fail ArgumentError, 'originator_business_application_id cannot be nil' - #end - - @originator_business_application_id = originator_business_application_id - end - - # Custom attribute writer method with validation - # @param [Object] originator_pseudo_aba_number Value to be assigned - def originator_pseudo_aba_number=(originator_pseudo_aba_number) - @originator_pseudo_aba_number = originator_pseudo_aba_number - end - - # Checks equality by comparing each attribute. - # @param [Object] Object to be compared - def ==(o) - return true if self.equal?(o) - self.class == o.class && - acquirer_country_code == o.acquirer_country_code && - acquiring_bin == o.acquiring_bin && - allow_crypto_currency_purchase == o.allow_crypto_currency_purchase && - financial_institution_id == o.financial_institution_id && - network_order == o.network_order && - national_reimbursement_fee == o.national_reimbursement_fee && - originator_business_application_id == o.originator_business_application_id && - originator_pseudo_aba_number == o.originator_pseudo_aba_number && - processor_account == o.processor_account - end - - # @see the `==` method - # @param [Object] Object to be compared - def eql?(o) - self == o - end - - # Calculates hash code according to all attributes. - # @return [Fixnum] Hash code - def hash - [acquirer_country_code, acquiring_bin, allow_crypto_currency_purchase, financial_institution_id, network_order, national_reimbursement_fee, originator_business_application_id, originator_pseudo_aba_number, processor_account].hash - end - - # Builds the object from hash - # @param [Hash] attributes Model attributes in the form of hash - # @return [Object] Returns the model itself - def build_from_hash(attributes) - return nil unless attributes.is_a?(Hash) - self.class.swagger_types.each_pair do |key, type| - if type =~ /\AArray<(.*)>/i - # check to ensure the input is an array given that the the attribute - # is documented as an array but the input is not - if attributes[self.class.attribute_map[key]].is_a?(Array) - self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) - end - elsif !attributes[self.class.attribute_map[key]].nil? - self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) - end # or else data not found in attributes(hash), not an issue as the data can be optional - end - - self - end - - # Deserializes the data based on type - # @param string type Data type - # @param string value Value to be deserialized - # @return [Object] Deserialized data - def _deserialize(type, value) - case type.to_sym - when :DateTime - DateTime.parse(value) - when :Date - Date.parse(value) - when :String - value.to_s - when :Integer - value.to_i - when :Float - value.to_f - when :BOOLEAN - if value.to_s =~ /\A(true|t|yes|y|1)\z/i - true - else - false - end - when :Object - # generic object (usually a Hash), return directly - value - when /\AArray<(?.+)>\z/ - inner_type = Regexp.last_match[:inner_type] - value.map { |v| _deserialize(inner_type, v) } - when /\AHash<(?.+?), (?.+)>\z/ - k_type = Regexp.last_match[:k_type] - v_type = Regexp.last_match[:v_type] - {}.tap do |hash| - value.each do |k, v| - hash[_deserialize(k_type, k)] = _deserialize(v_type, v) - end - end - else # model - temp_model = CyberSource.const_get(type).new - temp_model.build_from_hash(value) - end - end - - # Returns the string representation of the object - # @return [String] String presentation of the object - def to_s - to_hash.to_s - end - - # to_body is an alias to to_hash (backward compatibility) - # @return [Hash] Returns the object in the form of hash - def to_body - to_hash - end - - # Returns the object in the form of hash - # @return [Hash] Returns the object in the form of hash - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - next if value.nil? - hash[param] = _to_hash(value) - end - hash - end - - # Outputs non-array value in the form of hash - # For object, use to_hash. Otherwise, just return the value - # @param [Object] value Any valid value - # @return [Hash] Returns the value in the form of hash - def _to_hash(value) - if value.is_a?(Array) - value.compact.map { |v| _to_hash(v) } - elsif value.is_a?(Hash) - {}.tap do |hash| - value.each { |k, v| hash[k] = _to_hash(v) } - end - elsif value.respond_to? :to_hash - value.to_hash - else - value - end - end - end -end diff --git a/lib/cybersource_rest_client/models/payments_products_secure_acceptance.rb b/lib/cybersource_rest_client/models/payments_products_secure_acceptance.rb index 7b32a110..6d2993ff 100644 --- a/lib/cybersource_rest_client/models/payments_products_secure_acceptance.rb +++ b/lib/cybersource_rest_client/models/payments_products_secure_acceptance.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsSecureAcceptanceConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_service_fee.rb b/lib/cybersource_rest_client/models/payments_products_service_fee.rb index 4de57972..582613df 100644 --- a/lib/cybersource_rest_client/models/payments_products_service_fee.rb +++ b/lib/cybersource_rest_client/models/payments_products_service_fee.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsServiceFeeConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_tax.rb b/lib/cybersource_rest_client/models/payments_products_tax.rb index ed511de9..c6277275 100644 --- a/lib/cybersource_rest_client/models/payments_products_tax.rb +++ b/lib/cybersource_rest_client/models/payments_products_tax.rb @@ -32,7 +32,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation' + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation' } end diff --git a/lib/cybersource_rest_client/models/payments_products_virtual_terminal.rb b/lib/cybersource_rest_client/models/payments_products_virtual_terminal.rb index 8eca2e95..3ccd161b 100644 --- a/lib/cybersource_rest_client/models/payments_products_virtual_terminal.rb +++ b/lib/cybersource_rest_client/models/payments_products_virtual_terminal.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'PaymentsProductsVirtualTerminalConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/post_issuer_life_cycle_simulation_request.rb b/lib/cybersource_rest_client/models/post_issuer_life_cycle_simulation_request.rb new file mode 100644 index 00000000..12c2f654 --- /dev/null +++ b/lib/cybersource_rest_client/models/post_issuer_life_cycle_simulation_request.rb @@ -0,0 +1,211 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + # Represents the Issuer LifeCycle Event Simulation for a Tokenized Card. + class PostIssuerLifeCycleSimulationRequest + # The new state of the Tokenized Card. Possible Values: - ACTIVE - SUSPENDED - DELETED + attr_accessor :state + + attr_accessor :card + + attr_accessor :metadata + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'state' => :'state', + :'card' => :'card', + :'metadata' => :'metadata' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'state' => :'state', + :'card' => :'card', + :'metadata' => :'metadata' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'state' => :'String', + :'card' => :'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard', + :'metadata' => :'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'state') + self.state = attributes[:'state'] + end + + if attributes.has_key?(:'card') + self.card = attributes[:'card'] + end + + if attributes.has_key?(:'metadata') + self.metadata = attributes[:'metadata'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + state == o.state && + card == o.card && + metadata == o.metadata + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [state, card, metadata].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb index c82afbd8..b1029594 100644 --- a/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb @@ -28,7 +28,7 @@ class PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation # This field is returned only for **American Express Direct** and **CyberSource through VisaNet**. Returned by authorization and incremental authorization services. #### American Express Direct System trace audit number (STAN). This value identifies the transaction and is useful when investigating a chargeback dispute. #### CyberSource through VisaNet System trace number that must be printed on the customer's receipt. attr_accessor :system_trace_audit_number - # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. + # This field might contain information about a decline. attr_accessor :response_details attr_accessor :merchant_advice @@ -38,6 +38,8 @@ class PtsV2IncrementalAuthorizationPatch201ResponseProcessorInformation attr_accessor :seller_protection + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -49,7 +51,8 @@ def self.attribute_map :'response_details' => :'responseDetails', :'merchant_advice' => :'merchantAdvice', :'merchant_risk_prediction' => :'merchantRiskPrediction', - :'seller_protection' => :'sellerProtection' + :'seller_protection' => :'sellerProtection', + :'network' => :'network' } end @@ -64,7 +67,8 @@ def self.json_map :'response_details' => :'response_details', :'merchant_advice' => :'merchant_advice', :'merchant_risk_prediction' => :'merchant_risk_prediction', - :'seller_protection' => :'seller_protection' + :'seller_protection' => :'seller_protection', + :'network' => :'network' } end @@ -79,7 +83,8 @@ def self.swagger_types :'response_details' => :'String', :'merchant_advice' => :'PtsV2PaymentsPost201ResponseProcessorInformationMerchantAdvice', :'merchant_risk_prediction' => :'String', - :'seller_protection' => :'PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection' + :'seller_protection' => :'PtsV2PaymentsPost201ResponseProcessorInformationSellerProtection', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -126,6 +131,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'sellerProtection') self.seller_protection = attributes[:'sellerProtection'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -190,7 +199,8 @@ def ==(o) response_details == o.response_details && merchant_advice == o.merchant_advice && merchant_risk_prediction == o.merchant_risk_prediction && - seller_protection == o.seller_protection + seller_protection == o.seller_protection && + network == o.network end # @see the `==` method @@ -202,7 +212,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [approval_code, transaction_id, network_transaction_id, response_code, system_trace_audit_number, response_details, merchant_advice, merchant_risk_prediction, seller_protection].hash + [approval_code, transaction_id, network_transaction_id, response_code, system_trace_audit_number, response_details, merchant_advice, merchant_risk_prediction, seller_protection, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_invoice_details.rb b/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_invoice_details.rb index 1e10dd11..f0ccb464 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_invoice_details.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_invoice_details.rb @@ -13,7 +13,7 @@ module CyberSource class PtsV2PaymentsCapturesPost201ResponseOrderInformationInvoiceDetails - # Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **true** - **false** + # Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **Y** for true - **N** for false attr_accessor :level3_transmission_status # Attribute mapping from ruby-style variable name to JSON key. @@ -33,7 +33,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'level3_transmission_status' => :'BOOLEAN' + :'level3_transmission_status' => :'String' } end diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb index fac601c9..9bcde62b 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processor_information.rb @@ -31,6 +31,8 @@ class PtsV2PaymentsCapturesPost201ResponseProcessorInformation # The date and time when the transaction was last updated, in Internet date and time format. attr_accessor :update_time_utc + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -39,7 +41,8 @@ def self.attribute_map :'response_details' => :'responseDetails', :'response_code' => :'responseCode', :'provider_response' => :'providerResponse', - :'update_time_utc' => :'updateTimeUtc' + :'update_time_utc' => :'updateTimeUtc', + :'network' => :'network' } end @@ -51,7 +54,8 @@ def self.json_map :'response_details' => :'response_details', :'response_code' => :'response_code', :'provider_response' => :'provider_response', - :'update_time_utc' => :'update_time_utc' + :'update_time_utc' => :'update_time_utc', + :'network' => :'network' } end @@ -63,7 +67,8 @@ def self.swagger_types :'response_details' => :'String', :'response_code' => :'String', :'provider_response' => :'String', - :'update_time_utc' => :'String' + :'update_time_utc' => :'String', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -98,6 +103,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'updateTimeUtc') self.update_time_utc = attributes[:'updateTimeUtc'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -141,7 +150,8 @@ def ==(o) response_details == o.response_details && response_code == o.response_code && provider_response == o.provider_response && - update_time_utc == o.update_time_utc + update_time_utc == o.update_time_utc && + network == o.network end # @see the `==` method @@ -153,7 +163,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [transaction_id, network_transaction_id, response_details, response_code, provider_response, update_time_utc].hash + [transaction_id, network_transaction_id, response_details, response_code, provider_response, update_time_utc, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_payment_information_e_wallet.rb b/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_payment_information_e_wallet.rb index 921df4f2..01efc145 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_payment_information_e_wallet.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_payment_information_e_wallet.rb @@ -22,7 +22,7 @@ class PtsV2PaymentsOrderPost201ResponsePaymentInformationEWallet # Payment method for the unit purchase. Possible values: - `UNRESTRICTED (default)—this value is only available if configured by PayPal for the merchant.` - `INSTANT` attr_accessor :funding_source_sale - # The Venmo user name chosen by the user, also know as a Venmo handle. + # The Venmo user name chosen by the user, also known as a Venmo handle. attr_accessor :user_name # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_processor_information.rb index 3b8b593c..697835b9 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_order_post201_response_processor_information.rb @@ -20,7 +20,7 @@ class PtsV2PaymentsOrderPost201ResponseProcessorInformation # Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service. #### PIN debit Transaction identifier generated by the processor. Returned by PIN debit credit. #### GPX Processor transaction ID. #### Cielo For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank. #### Comercio Latino For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank. #### CyberSource through VisaNet and GPN For details about this value for CyberSource through VisaNet and GPN, see \"processorInformation.networkTransactionId\" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf) #### Moneris This value identifies the transaction on a host system. It contains the following information: - Terminal used to process the transaction - Shift during which the transaction took place - Batch number - Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. **Example** For the value 66012345001069003: - Terminal ID = 66012345 - Shift number = 001 - Batch number = 069 - Transaction number = 003 attr_accessor :transaction_id - # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. + # This field might contain information about a decline. attr_accessor :response_details # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_issuer_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_issuer_information.rb index 2b32fe39..3475a3be 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_issuer_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_issuer_information.rb @@ -16,7 +16,7 @@ class PtsV2PaymentsPost201Response1IssuerInformation # Name of the card issuer provided by the processor. attr_accessor :name - # Unique code for card issuer provided by the processor. + # Unique code for card issuer provided by the processor. attr_accessor :code # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_order_information_amount_details.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_order_information_amount_details.rb index ec43c8f2..975f5cb7 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_order_information_amount_details.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_order_information_amount_details.rb @@ -13,7 +13,7 @@ module CyberSource class PtsV2PaymentsPost201Response1OrderInformationAmountDetails - # This field will carry the remaning amount which can be refunded. + # The remaining amount which can be refunded. attr_accessor :refund_balance # Attribute mapping from ruby-style variable name to JSON key. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_processor_information.rb index dfe3087b..14e114a0 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_1_processor_information.rb @@ -19,10 +19,10 @@ class PtsV2PaymentsPost201Response1ProcessorInformation # The description for this field is not available. attr_accessor :trade_number - # This field is set to the value of failure reason returned by the processor. + # Failure reason returned by the processor. attr_accessor :raw_response - # This field is set to the value of failure reason returned by the processor in the local language of the processor. + # Failure reason returned by the processor in the local language of the processor. attr_accessor :raw_response_local # This field might contain information about a decline. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_2_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_2_processor_information.rb index c73964fb..1d6906ee 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_2_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_2_processor_information.rb @@ -19,7 +19,7 @@ class PtsV2PaymentsPost201Response2ProcessorInformation # Direct the customer to this URL to complete the payment. attr_accessor :payment_url - # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. + # This field might contain information about a decline. attr_accessor :response_details # Payment gateway/processor assigned session token. diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb index 230e2cce..26bec3ba 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb @@ -13,7 +13,7 @@ module CyberSource class PtsV2PaymentsPost201ResponseOrderInformationInvoiceDetails - # Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **true** - **false** + # Indicates whether CyberSource sent the Level III information to the processor. The possible values are: If your account is not enabled for Level III data or if you did not include the purchasing level field in your request, CyberSource does not include the Level III data in the request sent to the processor. Possible values: - **Y** for true - **N** for false attr_accessor :level3_transmission_status # Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt. This field is supported only on Cybersource through Visanet and JCN gateway. Optional field. #### Card Present processing message If you included this field in the request, the returned value is the value that you sent in the request. If you did not include this field in the request, the system generated this value for you. The difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the system generates the system trace audit number (STAN), and you must print the receipt number on the receipt; whereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt. @@ -38,7 +38,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'level3_transmission_status' => :'BOOLEAN', + :'level3_transmission_status' => :'String', :'sales_slip_number' => :'Integer' } end diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb index 9a5579ca..95986cc2 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb @@ -34,7 +34,7 @@ class PtsV2PaymentsPost201ResponseProcessorInformation # Used by Visa only and contains the response source/reason code that identifies the source of the response decision. attr_accessor :response_code_source - # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. + # This field might contain information about a decline. attr_accessor :response_details # Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode` field of the service you requested. This field is supported only for: - Japanese issuers - Domestic transactions in Japan - Comercio Latino—processor transaction ID required for troubleshooting #### Maximum length for processors - Comercio Latino: 36 - All other processors: 3 @@ -137,6 +137,8 @@ class PtsV2PaymentsPost201ResponseProcessorInformation # Mastercard is introducing the Merchant Risk Predict Service in the middle East/Africa Region. A newly launched service comprised of seven independent artificial intelligence (AI)-powered scores intended to augment existing merchant risk management practices. attr_accessor :merchant_risk_prediction + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -184,7 +186,8 @@ def self.attribute_map :'expiration_time_utc' => :'expirationTimeUtc', :'order_id' => :'orderId', :'order_status' => :'orderStatus', - :'merchant_risk_prediction' => :'merchantRiskPrediction' + :'merchant_risk_prediction' => :'merchantRiskPrediction', + :'network' => :'network' } end @@ -235,7 +238,8 @@ def self.json_map :'expiration_time_utc' => :'expiration_time_utc', :'order_id' => :'order_id', :'order_status' => :'order_status', - :'merchant_risk_prediction' => :'merchant_risk_prediction' + :'merchant_risk_prediction' => :'merchant_risk_prediction', + :'network' => :'network' } end @@ -286,7 +290,8 @@ def self.swagger_types :'expiration_time_utc' => :'String', :'order_id' => :'String', :'order_status' => :'String', - :'merchant_risk_prediction' => :'String' + :'merchant_risk_prediction' => :'String', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -477,6 +482,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'merchantRiskPrediction') self.merchant_risk_prediction = attributes[:'merchantRiskPrediction'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -709,7 +718,8 @@ def ==(o) expiration_time_utc == o.expiration_time_utc && order_id == o.order_id && order_status == o.order_status && - merchant_risk_prediction == o.merchant_risk_prediction + merchant_risk_prediction == o.merchant_risk_prediction && + network == o.network end # @see the `==` method @@ -721,7 +731,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [auth_indicator, approval_code, card_reference_data, transaction_id, network_transaction_id, response_code, response_code_source, response_details, response_category_code, forwarded_acquirer_code, settlement_date, sequence_number, avs, card_verification, merchant_advice, electronic_verification_results, ach_verification, customer, consumer_authentication_response, system_trace_audit_number, payment_account_reference_number, transaction_integrity_code, amex_verbal_auth_reference_number, master_card_service_code, master_card_service_reply_code, master_card_authentication_type, name, routing, merchant_number, retrieval_reference_number, payment_url, complete_url, signature, public_key, seller_protection, transaction_expiry_date, custom_url, scheme_assigned_id, device_url, disbursement_mode, update_time_utc, expiration_time_utc, order_id, order_status, merchant_risk_prediction].hash + [auth_indicator, approval_code, card_reference_data, transaction_id, network_transaction_id, response_code, response_code_source, response_details, response_category_code, forwarded_acquirer_code, settlement_date, sequence_number, avs, card_verification, merchant_advice, electronic_verification_results, ach_verification, customer, consumer_authentication_response, system_trace_audit_number, payment_account_reference_number, transaction_integrity_code, amex_verbal_auth_reference_number, master_card_service_code, master_card_service_reply_code, master_card_authentication_type, name, routing, merchant_number, retrieval_reference_number, payment_url, complete_url, signature, public_key, seller_protection, transaction_expiry_date, custom_url, scheme_assigned_id, device_url, disbursement_mode, update_time_utc, expiration_time_utc, order_id, order_status, merchant_risk_prediction, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb index 6f9bbadc..6ce384d2 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb @@ -39,6 +39,8 @@ class PtsV2PaymentsRefundPost201ResponseProcessorInformation # The date and time when the transaction was last updated, in Internet date and time format. attr_accessor :update_time_utc + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -50,7 +52,8 @@ def self.attribute_map :'ach_verification' => :'achVerification', :'network_transaction_id' => :'networkTransactionId', :'settlement_date' => :'settlementDate', - :'update_time_utc' => :'updateTimeUtc' + :'update_time_utc' => :'updateTimeUtc', + :'network' => :'network' } end @@ -65,7 +68,8 @@ def self.json_map :'ach_verification' => :'ach_verification', :'network_transaction_id' => :'network_transaction_id', :'settlement_date' => :'settlement_date', - :'update_time_utc' => :'update_time_utc' + :'update_time_utc' => :'update_time_utc', + :'network' => :'network' } end @@ -80,7 +84,8 @@ def self.swagger_types :'ach_verification' => :'PtsV2PaymentsPost201ResponseProcessorInformationAchVerification', :'network_transaction_id' => :'String', :'settlement_date' => :'String', - :'update_time_utc' => :'String' + :'update_time_utc' => :'String', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -127,6 +132,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'updateTimeUtc') self.update_time_utc = attributes[:'updateTimeUtc'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -191,7 +200,8 @@ def ==(o) ach_verification == o.ach_verification && network_transaction_id == o.network_transaction_id && settlement_date == o.settlement_date && - update_time_utc == o.update_time_utc + update_time_utc == o.update_time_utc && + network == o.network end # @see the `==` method @@ -203,7 +213,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [approval_code, transaction_id, forwarded_acquirer_code, merchant_number, response_code, ach_verification, network_transaction_id, settlement_date, update_time_utc].hash + [approval_code, transaction_id, forwarded_acquirer_code, merchant_number, response_code, ach_verification, network_transaction_id, settlement_date, update_time_utc, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb b/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb index 7dae757e..5541323a 100644 --- a/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_processor_information.rb @@ -34,12 +34,14 @@ class PtsV2PaymentsReversalsPost201ResponseProcessorInformation # Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource. Possible values: - `C`: Service completed successfully. - `F`: One of the following: - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or authorization reversal. - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request. - Token requestor ID is missing or formatted incorrectly. - `I`: One of the following: - Invalid token requestor ID. - Suspended or deactivated token. - Invalid token (not in mapping table). - `T`: Invalid combination of token requestor ID and token. - `U`: Expired token. - `W`: Primary account number (PAN) listed in electronic warning bulletin. **Note** This field is returned only for **CyberSource through VisaNet**. attr_accessor :master_card_service_reply_code - # This field might contain information about a decline. This field is supported only for **CyberSource through VisaNet**. + # This field might contain information about a decline. attr_accessor :response_details # Processor response to the API request. attr_accessor :provider_response + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -51,7 +53,8 @@ def self.attribute_map :'master_card_service_code' => :'masterCardServiceCode', :'master_card_service_reply_code' => :'masterCardServiceReplyCode', :'response_details' => :'responseDetails', - :'provider_response' => :'providerResponse' + :'provider_response' => :'providerResponse', + :'network' => :'network' } end @@ -66,7 +69,8 @@ def self.json_map :'master_card_service_code' => :'master_card_service_code', :'master_card_service_reply_code' => :'master_card_service_reply_code', :'response_details' => :'response_details', - :'provider_response' => :'provider_response' + :'provider_response' => :'provider_response', + :'network' => :'network' } end @@ -81,7 +85,8 @@ def self.swagger_types :'master_card_service_code' => :'String', :'master_card_service_reply_code' => :'String', :'response_details' => :'String', - :'provider_response' => :'String' + :'provider_response' => :'String', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -128,6 +133,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'providerResponse') self.provider_response = attributes[:'providerResponse'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -198,7 +207,8 @@ def ==(o) master_card_service_code == o.master_card_service_code && master_card_service_reply_code == o.master_card_service_reply_code && response_details == o.response_details && - provider_response == o.provider_response + provider_response == o.provider_response && + network == o.network end # @see the `==` method @@ -210,7 +220,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [transaction_id, response_code, network_transaction_id, response_category_code, forwarded_acquirer_code, master_card_service_code, master_card_service_reply_code, response_details, provider_response].hash + [transaction_id, response_code, network_transaction_id, response_category_code, forwarded_acquirer_code, master_card_service_code, master_card_service_reply_code, response_details, provider_response, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb b/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb index b7d4196a..197343c7 100644 --- a/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb +++ b/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb @@ -51,7 +51,7 @@ def self.swagger_types :'description' => :'String', :'usage_pattern' => :'String', :'usage_type' => :'String', - :'allow_multiple_tokens' => :'BOOLEAN' + :'allow_multiple_tokens' => :'String' } end diff --git a/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb b/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb index 630437ee..f407531e 100644 --- a/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +++ b/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb @@ -13,6 +13,9 @@ module CyberSource class Ptsv2paymentsOrderInformationAmountDetails + # The remaining amount which can be refunded. + attr_accessor :refund_balance + # Amount being charged as gift wrap fee. attr_accessor :gift_wrap_amount @@ -103,6 +106,7 @@ class Ptsv2paymentsOrderInformationAmountDetails # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'refund_balance' => :'refundBalance', :'gift_wrap_amount' => :'giftWrapAmount', :'invoice_amount' => :'invoiceAmount', :'total_amount' => :'totalAmount', @@ -140,6 +144,7 @@ def self.attribute_map # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { + :'refund_balance' => :'refund_balance', :'gift_wrap_amount' => :'gift_wrap_amount', :'invoice_amount' => :'invoice_amount', :'total_amount' => :'total_amount', @@ -177,6 +182,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { + :'refund_balance' => :'String', :'gift_wrap_amount' => :'String', :'invoice_amount' => :'String', :'total_amount' => :'String', @@ -219,6 +225,10 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + if attributes.has_key?(:'refundBalance') + self.refund_balance = attributes[:'refundBalance'] + end + if attributes.has_key?(:'giftWrapAmount') self.gift_wrap_amount = attributes[:'giftWrapAmount'] end @@ -361,6 +371,12 @@ def valid? true end + # Custom attribute writer method with validation + # @param [Object] refund_balance Value to be assigned + def refund_balance=(refund_balance) + @refund_balance = refund_balance + end + # Custom attribute writer method with validation # @param [Object] gift_wrap_amount Value to be assigned def gift_wrap_amount=(gift_wrap_amount) @@ -516,6 +532,7 @@ def anticipated_amount=(anticipated_amount) def ==(o) return true if self.equal?(o) self.class == o.class && + refund_balance == o.refund_balance && gift_wrap_amount == o.gift_wrap_amount && invoice_amount == o.invoice_amount && total_amount == o.total_amount && @@ -558,7 +575,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [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 + [refund_balance, 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 end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb b/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb index 0f038ebf..8814402b 100644 --- a/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb +++ b/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb @@ -21,12 +21,15 @@ class Ptsv2paymentsProcessorInformation attr_accessor :reversal + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'pre_approval_token' => :'preApprovalToken', :'authorization_options' => :'authorizationOptions', - :'reversal' => :'reversal' + :'reversal' => :'reversal', + :'network' => :'network' } end @@ -35,7 +38,8 @@ def self.json_map { :'pre_approval_token' => :'pre_approval_token', :'authorization_options' => :'authorization_options', - :'reversal' => :'reversal' + :'reversal' => :'reversal', + :'network' => :'network' } end @@ -44,7 +48,8 @@ def self.swagger_types { :'pre_approval_token' => :'String', :'authorization_options' => :'Ptsv2paymentsProcessorInformationAuthorizationOptions', - :'reversal' => :'Ptsv2paymentsProcessorInformationReversal' + :'reversal' => :'Ptsv2paymentsProcessorInformationReversal', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -67,6 +72,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'reversal') self.reversal = attributes[:'reversal'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -95,7 +104,8 @@ def ==(o) self.class == o.class && pre_approval_token == o.pre_approval_token && authorization_options == o.authorization_options && - reversal == o.reversal + reversal == o.reversal && + network == o.network end # @see the `==` method @@ -107,7 +117,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [pre_approval_token, authorization_options, reversal].hash + [pre_approval_token, authorization_options, reversal, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal.rb b/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal.rb index beec2846..b628933c 100644 --- a/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal.rb +++ b/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal.rb @@ -16,24 +16,29 @@ class Ptsv2paymentsProcessorInformationReversal # This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions. attr_accessor :pre_approval_token + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'pre_approval_token' => :'preApprovalToken' + :'pre_approval_token' => :'preApprovalToken', + :'network' => :'network' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'pre_approval_token' => :'pre_approval_token' + :'pre_approval_token' => :'pre_approval_token', + :'network' => :'network' } end # Attribute type mapping. def self.swagger_types { - :'pre_approval_token' => :'String' + :'pre_approval_token' => :'String', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -48,6 +53,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'preApprovalToken') self.pre_approval_token = attributes[:'preApprovalToken'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -74,7 +83,8 @@ def pre_approval_token=(pre_approval_token) def ==(o) return true if self.equal?(o) self.class == o.class && - pre_approval_token == o.pre_approval_token + pre_approval_token == o.pre_approval_token && + network == o.network end # @see the `==` method @@ -86,7 +96,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [pre_approval_token].hash + [pre_approval_token, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal_network.rb b/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal_network.rb new file mode 100644 index 00000000..5303c701 --- /dev/null +++ b/lib/cybersource_rest_client/models/ptsv2payments_processor_information_reversal_network.rb @@ -0,0 +1,196 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Ptsv2paymentsProcessorInformationReversalNetwork + # Indicates the economically related transaction id + attr_accessor :economically_related_txn_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'economically_related_txn_id' => :'economicallyRelatedTxnId' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'economically_related_txn_id' => :'economically_related_txn_id' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'economically_related_txn_id' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'economicallyRelatedTxnId') + self.economically_related_txn_id = attributes[:'economicallyRelatedTxnId'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Custom attribute writer method with validation + # @param [Object] economically_related_txn_id Value to be assigned + def economically_related_txn_id=(economically_related_txn_id) + @economically_related_txn_id = economically_related_txn_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + economically_related_txn_id == o.economically_related_txn_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [economically_related_txn_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information.rb b/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information.rb index f80208d1..4ce820d8 100644 --- a/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information.rb +++ b/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information.rb @@ -15,24 +15,29 @@ module CyberSource class Ptsv2paymentsidProcessingInformation attr_accessor :authorization_options + attr_accessor :network + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'authorization_options' => :'authorizationOptions' + :'authorization_options' => :'authorizationOptions', + :'network' => :'network' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'authorization_options' => :'authorization_options' + :'authorization_options' => :'authorization_options', + :'network' => :'network' } end # Attribute type mapping. def self.swagger_types { - :'authorization_options' => :'Ptsv2paymentsidProcessingInformationAuthorizationOptions' + :'authorization_options' => :'Ptsv2paymentsidProcessingInformationAuthorizationOptions', + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' } end @@ -47,6 +52,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'authorizationOptions') self.authorization_options = attributes[:'authorizationOptions'] end + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -67,7 +76,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - authorization_options == o.authorization_options + authorization_options == o.authorization_options && + network == o.network end # @see the `==` method @@ -79,7 +89,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [authorization_options].hash + [authorization_options, network].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/ptsv2reversals_processor_information.rb b/lib/cybersource_rest_client/models/ptsv2reversals_processor_information.rb new file mode 100644 index 00000000..ccfed531 --- /dev/null +++ b/lib/cybersource_rest_client/models/ptsv2reversals_processor_information.rb @@ -0,0 +1,189 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Ptsv2reversalsProcessorInformation + attr_accessor :network + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'network' => :'network' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'network' => :'network' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'network' => :'Ptsv2paymentsProcessorInformationReversalNetwork' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'network') + self.network = attributes[:'network'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + network == o.network + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [network].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/refund_capture_request.rb b/lib/cybersource_rest_client/models/refund_capture_request.rb index ee7b8072..89fc52e2 100644 --- a/lib/cybersource_rest_client/models/refund_capture_request.rb +++ b/lib/cybersource_rest_client/models/refund_capture_request.rb @@ -38,6 +38,8 @@ class RefundCaptureRequest attr_accessor :promotion_information + attr_accessor :processor_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -52,7 +54,8 @@ def self.attribute_map :'point_of_sale_information' => :'pointOfSaleInformation', :'merchant_defined_information' => :'merchantDefinedInformation', :'travel_information' => :'travelInformation', - :'promotion_information' => :'promotionInformation' + :'promotion_information' => :'promotionInformation', + :'processor_information' => :'processorInformation' } end @@ -70,7 +73,8 @@ def self.json_map :'point_of_sale_information' => :'point_of_sale_information', :'merchant_defined_information' => :'merchant_defined_information', :'travel_information' => :'travel_information', - :'promotion_information' => :'promotion_information' + :'promotion_information' => :'promotion_information', + :'processor_information' => :'processor_information' } end @@ -88,7 +92,8 @@ def self.swagger_types :'point_of_sale_information' => :'Ptsv2paymentsidrefundsPointOfSaleInformation', :'merchant_defined_information' => :'Array', :'travel_information' => :'Ptsv2paymentsTravelInformation', - :'promotion_information' => :'Ptsv2paymentsPromotionInformation' + :'promotion_information' => :'Ptsv2paymentsPromotionInformation', + :'processor_information' => :'Ptsv2reversalsProcessorInformation' } end @@ -149,6 +154,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'promotionInformation') self.promotion_information = attributes[:'promotionInformation'] end + + if attributes.has_key?(:'processorInformation') + self.processor_information = attributes[:'processorInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -180,7 +189,8 @@ def ==(o) point_of_sale_information == o.point_of_sale_information && merchant_defined_information == o.merchant_defined_information && travel_information == o.travel_information && - promotion_information == o.promotion_information + promotion_information == o.promotion_information && + processor_information == o.processor_information end # @see the `==` method @@ -192,7 +202,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, travel_information, promotion_information].hash + [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, travel_information, promotion_information, processor_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/refund_payment_request.rb b/lib/cybersource_rest_client/models/refund_payment_request.rb index 439f17a6..3d6cea64 100644 --- a/lib/cybersource_rest_client/models/refund_payment_request.rb +++ b/lib/cybersource_rest_client/models/refund_payment_request.rb @@ -38,6 +38,8 @@ class RefundPaymentRequest attr_accessor :promotion_information + attr_accessor :processor_information + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -52,7 +54,8 @@ def self.attribute_map :'point_of_sale_information' => :'pointOfSaleInformation', :'merchant_defined_information' => :'merchantDefinedInformation', :'travel_information' => :'travelInformation', - :'promotion_information' => :'promotionInformation' + :'promotion_information' => :'promotionInformation', + :'processor_information' => :'processorInformation' } end @@ -70,7 +73,8 @@ def self.json_map :'point_of_sale_information' => :'point_of_sale_information', :'merchant_defined_information' => :'merchant_defined_information', :'travel_information' => :'travel_information', - :'promotion_information' => :'promotion_information' + :'promotion_information' => :'promotion_information', + :'processor_information' => :'processor_information' } end @@ -88,7 +92,8 @@ def self.swagger_types :'point_of_sale_information' => :'Ptsv2paymentsidrefundsPointOfSaleInformation', :'merchant_defined_information' => :'Array', :'travel_information' => :'Ptsv2paymentsTravelInformation', - :'promotion_information' => :'Ptsv2paymentsPromotionInformation' + :'promotion_information' => :'Ptsv2paymentsPromotionInformation', + :'processor_information' => :'Ptsv2reversalsProcessorInformation' } end @@ -149,6 +154,10 @@ def initialize(attributes = {}) if attributes.has_key?(:'promotionInformation') self.promotion_information = attributes[:'promotionInformation'] end + + if attributes.has_key?(:'processorInformation') + self.processor_information = attributes[:'processorInformation'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -180,7 +189,8 @@ def ==(o) point_of_sale_information == o.point_of_sale_information && merchant_defined_information == o.merchant_defined_information && travel_information == o.travel_information && - promotion_information == o.promotion_information + promotion_information == o.promotion_information && + processor_information == o.processor_information end # @see the `==` method @@ -192,7 +202,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, travel_information, promotion_information].hash + [client_reference_information, processing_information, payment_information, order_information, buyer_information, device_information, merchant_information, aggregator_information, point_of_sale_information, merchant_defined_information, travel_information, promotion_information, processor_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb b/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb index ee8cbd89..1767d3da 100644 --- a/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb +++ b/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb @@ -15,7 +15,7 @@ module CyberSource class ReportingV3ReportDefinitionsGet200ResponseReportDefinitions attr_accessor :type - # | Id | Definition Class | | --- | --------------------------------- | | 210 | TransactionRequestClass | | 211 | PaymentBatchDetailClass | | 212 | ExceptionDetailClass | | 213 | ProcessorSettlementDetailClass | | 214 | ProcessorEventsDetailClass | | 215 | FundingDetailClass | | 216 | AgingDetailClass | | 217 | ChargebackAndRetrievalDetailClass | | 218 | DepositDetailClass | | 219 | FeeDetailClass | | 220 | InvoiceSummaryClass | | 221 | PayerAuthDetailClass | | 222 | ConversionDetailClass | | 225 | BillableTransactionsDetailClass | | 270 | JPTransactionDetailClass | | 271 | ServiceFeeDetailClass | | 310 | GatewayTransactionRequestClass | | 400 | DecisionManagerEventDetailClass | | 401 | DecisionManagerDetailClass | | 410 | FeeSummaryClass | | 420 | TaxCalculationClass | | 520 | POSTerminalExceptionClass | | 620 | SubscriptionDetailClass | + # | Id | Definition Class | | --- | --------------------------------- | | 210 | TransactionRequestClass | | 211 | PaymentBatchDetailClass | | 212 | ExceptionDetailClass | | 213 | ProcessorSettlementDetailClass | | 214 | ProcessorEventsDetailClass | | 215 | FundingDetailClass | | 216 | AgingDetailClass | | 217 | ChargebackAndRetrievalDetailClass | | 218 | DepositDetailClass | | 219 | FeeDetailClass | | 220 | InvoiceSummaryClass | | 221 | PayerAuthDetailClass | | 222 | ConversionDetailClass | | 225 | BillableTransactionsDetailClass | | 270 | JPTransactionDetailClass | | 271 | ServiceFeeDetailClass | | 310 | GatewayTransactionRequestClass | | 400 | DecisionManagerEventDetailClass | | 401 | DecisionManagerDetailClass | | 410 | FeeSummaryClass | | 420 | TaxCalculationClass | | 520 | POSTerminalExceptionClass | | 620 | SubscriptionDetailClass | | 630 | StandardBillingDataPackageClass | | 706 | StandardMonthlyFeeClass | attr_accessor :report_definition_id attr_accessor :report_defintion_name diff --git a/lib/cybersource_rest_client/models/risk_products_decision_manager.rb b/lib/cybersource_rest_client/models/risk_products_decision_manager.rb index 5c6edcec..9e61999e 100644 --- a/lib/cybersource_rest_client/models/risk_products_decision_manager.rb +++ b/lib/cybersource_rest_client/models/risk_products_decision_manager.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'RiskProductsDecisionManagerConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/risk_products_fraud_management_essentials.rb b/lib/cybersource_rest_client/models/risk_products_fraud_management_essentials.rb index 31f2ea06..81c3354a 100644 --- a/lib/cybersource_rest_client/models/risk_products_fraud_management_essentials.rb +++ b/lib/cybersource_rest_client/models/risk_products_fraud_management_essentials.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'RiskProductsFraudManagementEssentialsConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/risk_products_portfolio_risk_controls.rb b/lib/cybersource_rest_client/models/risk_products_portfolio_risk_controls.rb index 92b320d0..cc5fd5ce 100644 --- a/lib/cybersource_rest_client/models/risk_products_portfolio_risk_controls.rb +++ b/lib/cybersource_rest_client/models/risk_products_portfolio_risk_controls.rb @@ -36,7 +36,7 @@ def self.json_map # Attribute type mapping. def self.swagger_types { - :'subscription_information' => :'PaymentsProductsAlternativePaymentMethodsSubscriptionInformation', + :'subscription_information' => :'PaymentsProductsPayerAuthenticationSubscriptionInformation', :'configuration_information' => :'RiskProductsPortfolioRiskControlsConfigurationInformation' } end diff --git a/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb b/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb index 16453b72..4e2bb7a8 100644 --- a/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb +++ b/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb @@ -70,6 +70,21 @@ class TmsBinLookupPaymentAccountInformationFeatures # This field indicates if the instrument is a flex credential. Possible values: - `true` - `false` attr_accessor :flex_credential + # This field contains the Visa-assigned product identifier associated with the BIN. This field is only supported for Visa BINs. Example values: - Q4 - P - AX + attr_accessor :product_id + + # This field contains the Visa-assigned product subtype identifier associated with the BIN. This field is only supported for Visa BINs. Example values: - BB - EX - L2 - C2 + attr_accessor :product_id_subtype + + # This field indicates if the payment instrument supports 3D Secure authentication. Possible values: - `true` - `false` + attr_accessor :three_ds_support + + # This field indicates if the payment instrument is eligible for Standing Instructions (recurring payments). Possible values: - `true` - `false` + attr_accessor :si_eligible + + # This field indicates if the card is eligible for Equated Monthly Installments (EMI). Possible values: - `true` - `false` + attr_accessor :emi_eligible + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -91,7 +106,12 @@ def self.attribute_map :'account_level_management' => :'accountLevelManagement', :'online_gambling_block' => :'onlineGamblingBlock', :'auto_substantiation' => :'autoSubstantiation', - :'flex_credential' => :'flexCredential' + :'flex_credential' => :'flexCredential', + :'product_id' => :'productId', + :'product_id_subtype' => :'productIdSubtype', + :'three_ds_support' => :'threeDSSupport', + :'si_eligible' => :'siEligible', + :'emi_eligible' => :'emiEligible' } end @@ -116,7 +136,12 @@ def self.json_map :'account_level_management' => :'account_level_management', :'online_gambling_block' => :'online_gambling_block', :'auto_substantiation' => :'auto_substantiation', - :'flex_credential' => :'flex_credential' + :'flex_credential' => :'flex_credential', + :'product_id' => :'product_id', + :'product_id_subtype' => :'product_id_subtype', + :'three_ds_support' => :'three_ds_support', + :'si_eligible' => :'si_eligible', + :'emi_eligible' => :'emi_eligible' } end @@ -141,7 +166,12 @@ def self.swagger_types :'account_level_management' => :'BOOLEAN', :'online_gambling_block' => :'BOOLEAN', :'auto_substantiation' => :'BOOLEAN', - :'flex_credential' => :'BOOLEAN' + :'flex_credential' => :'BOOLEAN', + :'product_id' => :'String', + :'product_id_subtype' => :'String', + :'three_ds_support' => :'BOOLEAN', + :'si_eligible' => :'BOOLEAN', + :'emi_eligible' => :'BOOLEAN' } end @@ -228,6 +258,26 @@ def initialize(attributes = {}) if attributes.has_key?(:'flexCredential') self.flex_credential = attributes[:'flexCredential'] end + + if attributes.has_key?(:'productId') + self.product_id = attributes[:'productId'] + end + + if attributes.has_key?(:'productIdSubtype') + self.product_id_subtype = attributes[:'productIdSubtype'] + end + + if attributes.has_key?(:'threeDSSupport') + self.three_ds_support = attributes[:'threeDSSupport'] + end + + if attributes.has_key?(:'siEligible') + self.si_eligible = attributes[:'siEligible'] + end + + if attributes.has_key?(:'emiEligible') + self.emi_eligible = attributes[:'emiEligible'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -308,7 +358,12 @@ def ==(o) account_level_management == o.account_level_management && online_gambling_block == o.online_gambling_block && auto_substantiation == o.auto_substantiation && - flex_credential == o.flex_credential + flex_credential == o.flex_credential && + product_id == o.product_id && + product_id_subtype == o.product_id_subtype && + three_ds_support == o.three_ds_support && + si_eligible == o.si_eligible && + emi_eligible == o.emi_eligible end # @see the `==` method @@ -320,7 +375,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [account_funding_source, account_funding_source_sub_type, card_product, message_type, acceptance_level, card_platform, combo_card, corporate_purchase, health_card, shared_bin, pos_domestic_only, gambling_allowed, commercial_card_level2, commercial_card_level3, exempt_bin, account_level_management, online_gambling_block, auto_substantiation, flex_credential].hash + [account_funding_source, account_funding_source_sub_type, card_product, message_type, acceptance_level, card_platform, combo_card, corporate_purchase, health_card, shared_bin, pos_domestic_only, gambling_allowed, commercial_card_level2, commercial_card_level3, exempt_bin, account_level_management, online_gambling_block, auto_substantiation, flex_credential, product_id, product_id_subtype, three_ds_support, si_eligible, emi_eligible].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb b/lib/cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb new file mode 100644 index 00000000..299d1a7d --- /dev/null +++ b/lib/cybersource_rest_client/models/tms_issuerlifecycleeventsimulations_metadata_card_art_combined_asset.rb @@ -0,0 +1,190 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset + # Set to \"true\" to simulate an update to the combined card art asset associated with the Tokenized Card. + attr_accessor :update + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'update' => :'update' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'update' => :'update' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'update' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'update') + self.update = attributes[:'update'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + update == o.update + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [update].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card.rb b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card.rb new file mode 100644 index 00000000..c5906a4a --- /dev/null +++ b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card.rb @@ -0,0 +1,230 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard + # The new last 4 digits of the card number associated to the Tokenized Card. + attr_accessor :last4 + + # The new two-digit month of the card associated to the Tokenized Card. Format: `MM`. Possible Values: `01` through `12`. + attr_accessor :expiration_month + + # The new four-digit year of the card associated to the Tokenized Card. Format: `YYYY`. + attr_accessor :expiration_year + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'last4' => :'last4', + :'expiration_month' => :'expirationMonth', + :'expiration_year' => :'expirationYear' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'last4' => :'last4', + :'expiration_month' => :'expiration_month', + :'expiration_year' => :'expiration_year' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'last4' => :'String', + :'expiration_month' => :'String', + :'expiration_year' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'last4') + self.last4 = attributes[:'last4'] + end + + if attributes.has_key?(:'expirationMonth') + self.expiration_month = attributes[:'expirationMonth'] + end + + if attributes.has_key?(:'expirationYear') + self.expiration_year = attributes[:'expirationYear'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Custom attribute writer method with validation + # @param [Object] last4 Value to be assigned + def last4=(last4) + @last4 = last4 + end + + # Custom attribute writer method with validation + # @param [Object] expiration_month Value to be assigned + def expiration_month=(expiration_month) + @expiration_month = expiration_month + end + + # Custom attribute writer method with validation + # @param [Object] expiration_year Value to be assigned + def expiration_year=(expiration_year) + @expiration_year = expiration_year + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + last4 == o.last4 && + expiration_month == o.expiration_month && + expiration_year == o.expiration_year + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [last4, expiration_month, expiration_year].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata.rb b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata.rb new file mode 100644 index 00000000..7a40a57d --- /dev/null +++ b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata.rb @@ -0,0 +1,189 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata + attr_accessor :card_art + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'card_art' => :'cardArt' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'card_art' => :'card_art' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'card_art' => :'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'cardArt') + self.card_art = attributes[:'cardArt'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + card_art == o.card_art + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [card_art].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art.rb b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art.rb new file mode 100644 index 00000000..3f3c542f --- /dev/null +++ b/lib/cybersource_rest_client/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art.rb @@ -0,0 +1,189 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt + attr_accessor :combined_asset + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'combined_asset' => :'combinedAsset' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'combined_asset' => :'combined_asset' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'combined_asset' => :'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'combinedAsset') + self.combined_asset = attributes[:'combinedAsset'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + combined_asset == o.combined_asset + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [combined_asset].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb index fd1e1c95..226683ec 100644 --- a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +++ b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb @@ -31,6 +31,9 @@ class TssV2TransactionsGet200ResponseOrderInformationAmountDetails # 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. attr_accessor :settlement_currency + # The remaining amount which can be refunded. + attr_accessor :refund_balance + attr_accessor :surcharge # Attribute mapping from ruby-style variable name to JSON key. @@ -42,6 +45,7 @@ def self.attribute_map :'authorized_amount' => :'authorizedAmount', :'settlement_amount' => :'settlementAmount', :'settlement_currency' => :'settlementCurrency', + :'refund_balance' => :'refundBalance', :'surcharge' => :'surcharge' } end @@ -55,6 +59,7 @@ def self.json_map :'authorized_amount' => :'authorized_amount', :'settlement_amount' => :'settlement_amount', :'settlement_currency' => :'settlement_currency', + :'refund_balance' => :'refund_balance', :'surcharge' => :'surcharge' } end @@ -68,6 +73,7 @@ def self.swagger_types :'authorized_amount' => :'String', :'settlement_amount' => :'String', :'settlement_currency' => :'String', + :'refund_balance' => :'String', :'surcharge' => :'Ptsv2payoutsOrderInformationAmountDetailsSurcharge' } end @@ -104,6 +110,10 @@ def initialize(attributes = {}) self.settlement_currency = attributes[:'settlementCurrency'] end + if attributes.has_key?(:'refundBalance') + self.refund_balance = attributes[:'refundBalance'] + end + if attributes.has_key?(:'surcharge') self.surcharge = attributes[:'surcharge'] end @@ -158,6 +168,12 @@ def settlement_currency=(settlement_currency) @settlement_currency = settlement_currency end + # Custom attribute writer method with validation + # @param [Object] refund_balance Value to be assigned + def refund_balance=(refund_balance) + @refund_balance = refund_balance + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) @@ -169,6 +185,7 @@ def ==(o) authorized_amount == o.authorized_amount && settlement_amount == o.settlement_amount && settlement_currency == o.settlement_currency && + refund_balance == o.refund_balance && surcharge == o.surcharge end @@ -181,7 +198,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [total_amount, currency, tax_amount, authorized_amount, settlement_amount, settlement_currency, surcharge].hash + [total_amount, currency, tax_amount, authorized_amount, settlement_amount, settlement_currency, refund_balance, surcharge].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb index 7e99baee..60c4c535 100644 --- a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb +++ b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb @@ -15,6 +15,8 @@ module CyberSource class TssV2TransactionsGet200ResponsePaymentInformation attr_accessor :payment_type + attr_accessor :e_wallet + attr_accessor :customer attr_accessor :card @@ -46,6 +48,7 @@ class TssV2TransactionsGet200ResponsePaymentInformation def self.attribute_map { :'payment_type' => :'paymentType', + :'e_wallet' => :'eWallet', :'customer' => :'customer', :'card' => :'card', :'brands' => :'brands', @@ -66,6 +69,7 @@ def self.attribute_map def self.json_map { :'payment_type' => :'payment_type', + :'e_wallet' => :'e_wallet', :'customer' => :'customer', :'card' => :'card', :'brands' => :'brands', @@ -86,6 +90,7 @@ def self.json_map def self.swagger_types { :'payment_type' => :'TssV2TransactionsGet200ResponsePaymentInformationPaymentType', + :'e_wallet' => :'PtsV2PaymentsPost201Response1PaymentInformationEWallet', :'customer' => :'TssV2TransactionsGet200ResponsePaymentInformationCustomer', :'card' => :'TssV2TransactionsGet200ResponsePaymentInformationCard', :'brands' => :'Array', @@ -114,6 +119,10 @@ def initialize(attributes = {}) self.payment_type = attributes[:'paymentType'] end + if attributes.has_key?(:'eWallet') + self.e_wallet = attributes[:'eWallet'] + end + if attributes.has_key?(:'customer') self.customer = attributes[:'customer'] end @@ -188,6 +197,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && payment_type == o.payment_type && + e_wallet == o.e_wallet && customer == o.customer && card == o.card && brands == o.brands && @@ -212,7 +222,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [payment_type, customer, card, brands, features, invoice, network, issuer_information, bank, account_features, payment_instrument, instrument_identifier, shipping_address, fluid_data].hash + [payment_type, e_wallet, customer, card, brands, features, invoice, network, issuer_information, bank, account_features, payment_instrument, instrument_identifier, shipping_address, fluid_data].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb index fcf2af1a..f7e03c39 100644 --- a/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +++ b/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb @@ -44,6 +44,8 @@ class TssV2TransactionsGet200ResponseProcessorInformation attr_accessor :electronic_verification_results + attr_accessor :issuer_information + # The event status. attr_accessor :event_status @@ -56,6 +58,15 @@ class TssV2TransactionsGet200ResponseProcessorInformation # Payment Account Reference (PAR) is a non-financial reference assigned to each unique payment account and used to link a payment account to associated network tokens, i.e. the same PAR is returned for PAN-based and tokenized transactions, such as from digital wallets. PAR can be returned in authorisation responses for requests initiated with both real PANs and tokenized PANs. PAR can be used by merchants for fraud detection and regulatory compliance across different channels and digital wallets. PAR allows all participants in the payments chain to have a single, non-sensitive value assigned to a consumer. This value can be used in place of sensitive card holder identification fields, and transmitted across the payments ecosystem to facilitate card holder identification. **Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file: - Record: CP01 TCR8 - Position: 79-110 - Field: Payment Account Reference The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks. attr_accessor :payment_account_reference_number + # This field might contain information about a decline. + attr_accessor :response_details + + # Failure reason returned by the processor in the local language of the processor. + attr_accessor :raw_response_local + + # Failure reason returned by the processor. + attr_accessor :raw_response + attr_accessor :routing # Attribute mapping from ruby-style variable name to JSON key. @@ -73,10 +84,14 @@ def self.attribute_map :'card_verification' => :'cardVerification', :'ach_verification' => :'achVerification', :'electronic_verification_results' => :'electronicVerificationResults', + :'issuer_information' => :'issuerInformation', :'event_status' => :'eventStatus', :'system_trace_audit_number' => :'systemTraceAuditNumber', :'response_code_source' => :'responseCodeSource', :'payment_account_reference_number' => :'paymentAccountReferenceNumber', + :'response_details' => :'responseDetails', + :'raw_response_local' => :'rawResponseLocal', + :'raw_response' => :'rawResponse', :'routing' => :'routing' } end @@ -96,10 +111,14 @@ def self.json_map :'card_verification' => :'card_verification', :'ach_verification' => :'ach_verification', :'electronic_verification_results' => :'electronic_verification_results', + :'issuer_information' => :'issuer_information', :'event_status' => :'event_status', :'system_trace_audit_number' => :'system_trace_audit_number', :'response_code_source' => :'response_code_source', :'payment_account_reference_number' => :'payment_account_reference_number', + :'response_details' => :'response_details', + :'raw_response_local' => :'raw_response_local', + :'raw_response' => :'raw_response', :'routing' => :'routing' } end @@ -119,10 +138,14 @@ def self.swagger_types :'card_verification' => :'Riskv1decisionsProcessorInformationCardVerification', :'ach_verification' => :'PtsV2PaymentsPost201ResponseProcessorInformationAchVerification', :'electronic_verification_results' => :'TssV2TransactionsGet200ResponseProcessorInformationElectronicVerificationResults', + :'issuer_information' => :'PtsV2PaymentsPost201Response1IssuerInformation', :'event_status' => :'String', :'system_trace_audit_number' => :'String', :'response_code_source' => :'String', :'payment_account_reference_number' => :'String', + :'response_details' => :'String', + :'raw_response_local' => :'String', + :'raw_response' => :'String', :'routing' => :'PtsV2PaymentsPost201ResponseProcessorInformationRouting' } end @@ -185,6 +208,10 @@ def initialize(attributes = {}) self.electronic_verification_results = attributes[:'electronicVerificationResults'] end + if attributes.has_key?(:'issuerInformation') + self.issuer_information = attributes[:'issuerInformation'] + end + if attributes.has_key?(:'eventStatus') self.event_status = attributes[:'eventStatus'] end @@ -201,6 +228,18 @@ def initialize(attributes = {}) self.payment_account_reference_number = attributes[:'paymentAccountReferenceNumber'] end + if attributes.has_key?(:'responseDetails') + self.response_details = attributes[:'responseDetails'] + end + + if attributes.has_key?(:'rawResponseLocal') + self.raw_response_local = attributes[:'rawResponseLocal'] + end + + if attributes.has_key?(:'rawResponse') + self.raw_response = attributes[:'rawResponse'] + end + if attributes.has_key?(:'routing') self.routing = attributes[:'routing'] end @@ -261,6 +300,24 @@ def payment_account_reference_number=(payment_account_reference_number) @payment_account_reference_number = payment_account_reference_number end + # Custom attribute writer method with validation + # @param [Object] response_details Value to be assigned + def response_details=(response_details) + @response_details = response_details + end + + # Custom attribute writer method with validation + # @param [Object] raw_response_local Value to be assigned + def raw_response_local=(raw_response_local) + @raw_response_local = raw_response_local + end + + # Custom attribute writer method with validation + # @param [Object] raw_response Value to be assigned + def raw_response=(raw_response) + @raw_response = raw_response + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) @@ -278,10 +335,14 @@ def ==(o) card_verification == o.card_verification && ach_verification == o.ach_verification && electronic_verification_results == o.electronic_verification_results && + issuer_information == o.issuer_information && event_status == o.event_status && system_trace_audit_number == o.system_trace_audit_number && response_code_source == o.response_code_source && payment_account_reference_number == o.payment_account_reference_number && + response_details == o.response_details && + raw_response_local == o.raw_response_local && + raw_response == o.raw_response && routing == o.routing end @@ -294,7 +355,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [processor, multi_processor_routing, transaction_id, network_transaction_id, retrieval_reference_number, response_id, approval_code, response_code, avs, card_verification, ach_verification, electronic_verification_results, event_status, system_trace_audit_number, response_code_source, payment_account_reference_number, routing].hash + [processor, multi_processor_routing, transaction_id, network_transaction_id, retrieval_reference_number, response_id, approval_code, response_code, avs, card_verification, ach_verification, electronic_verification_results, issuer_information, event_status, system_trace_audit_number, response_code_source, payment_account_reference_number, response_details, raw_response_local, raw_response, routing].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/underwriting_configuration.rb b/lib/cybersource_rest_client/models/underwriting_configuration.rb new file mode 100644 index 00000000..56c77c40 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration.rb @@ -0,0 +1,280 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + # Underwriting configuration containing the complete VMES (Visa Merchant Evaluation Service) payload for merchant risk evaluation. + class UnderwritingConfiguration + attr_accessor :client_reference_information + + attr_accessor :merchant_application + + attr_accessor :metadata + + attr_accessor :metadata_external + + attr_accessor :organization_information + + attr_accessor :device_information + + attr_accessor :deposit_information + + attr_accessor :billing_information + + attr_accessor :sale_representative_information + + attr_accessor :file_attachment_information + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_reference_information' => :'clientReferenceInformation', + :'merchant_application' => :'merchantApplication', + :'metadata' => :'metadata', + :'metadata_external' => :'metadataExternal', + :'organization_information' => :'organizationInformation', + :'device_information' => :'deviceInformation', + :'deposit_information' => :'depositInformation', + :'billing_information' => :'billingInformation', + :'sale_representative_information' => :'saleRepresentativeInformation', + :'file_attachment_information' => :'fileAttachmentInformation' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'client_reference_information' => :'client_reference_information', + :'merchant_application' => :'merchant_application', + :'metadata' => :'metadata', + :'metadata_external' => :'metadata_external', + :'organization_information' => :'organization_information', + :'device_information' => :'device_information', + :'deposit_information' => :'deposit_information', + :'billing_information' => :'billing_information', + :'sale_representative_information' => :'sale_representative_information', + :'file_attachment_information' => :'file_attachment_information' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'client_reference_information' => :'UnderwritingConfigurationClientReferenceInformation', + :'merchant_application' => :'UnderwritingConfigurationMerchantApplication', + :'metadata' => :'Object', + :'metadata_external' => :'Object', + :'organization_information' => :'UnderwritingConfigurationOrganizationInformation', + :'device_information' => :'UnderwritingConfigurationDeviceInformation', + :'deposit_information' => :'UnderwritingConfigurationDepositInformation', + :'billing_information' => :'UnderwritingConfigurationBillingInformation', + :'sale_representative_information' => :'UnderwritingConfigurationSaleRepresentativeInformation', + :'file_attachment_information' => :'UnderwritingConfigurationFileAttachmentInformation' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'clientReferenceInformation') + self.client_reference_information = attributes[:'clientReferenceInformation'] + end + + if attributes.has_key?(:'merchantApplication') + self.merchant_application = attributes[:'merchantApplication'] + end + + if attributes.has_key?(:'metadata') + self.metadata = attributes[:'metadata'] + end + + if attributes.has_key?(:'metadataExternal') + self.metadata_external = attributes[:'metadataExternal'] + end + + if attributes.has_key?(:'organizationInformation') + self.organization_information = attributes[:'organizationInformation'] + end + + if attributes.has_key?(:'deviceInformation') + self.device_information = attributes[:'deviceInformation'] + end + + if attributes.has_key?(:'depositInformation') + self.deposit_information = attributes[:'depositInformation'] + end + + if attributes.has_key?(:'billingInformation') + self.billing_information = attributes[:'billingInformation'] + end + + if attributes.has_key?(:'saleRepresentativeInformation') + self.sale_representative_information = attributes[:'saleRepresentativeInformation'] + end + + if attributes.has_key?(:'fileAttachmentInformation') + self.file_attachment_information = attributes[:'fileAttachmentInformation'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_reference_information == o.client_reference_information && + merchant_application == o.merchant_application && + metadata == o.metadata && + metadata_external == o.metadata_external && + organization_information == o.organization_information && + device_information == o.device_information && + deposit_information == o.deposit_information && + billing_information == o.billing_information && + sale_representative_information == o.sale_representative_information && + file_attachment_information == o.file_attachment_information + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [client_reference_information, merchant_application, metadata, metadata_external, organization_information, device_information, deposit_information, billing_information, sale_representative_information, file_attachment_information].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/inline_response_200_9__links.rb b/lib/cybersource_rest_client/models/underwriting_configuration_billing_information.rb similarity index 90% rename from lib/cybersource_rest_client/models/inline_response_200_9__links.rb rename to lib/cybersource_rest_client/models/underwriting_configuration_billing_information.rb index eb05bb75..3d3520bc 100644 --- a/lib/cybersource_rest_client/models/inline_response_200_9__links.rb +++ b/lib/cybersource_rest_client/models/underwriting_configuration_billing_information.rb @@ -12,33 +12,27 @@ require 'date' module CyberSource - class InlineResponse2009Links - # Valid Values: * self * first * last * prev * next - attr_accessor :rel - - attr_accessor :href + class UnderwritingConfigurationBillingInformation + attr_accessor :bank_account_information # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'rel' => :'rel', - :'href' => :'href' + :'bank_account_information' => :'bankAccountInformation' } end # Attribute mapping from JSON key to ruby-style variable name. def self.json_map { - :'rel' => :'rel', - :'href' => :'href' + :'bank_account_information' => :'bank_account_information' } end # Attribute type mapping. def self.swagger_types { - :'rel' => :'String', - :'href' => :'String' + :'bank_account_information' => :'UnderwritingConfigurationBillingInformationBankAccountInformation' } end @@ -50,12 +44,8 @@ def initialize(attributes = {}) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } - if attributes.has_key?(:'rel') - self.rel = attributes[:'rel'] - end - - if attributes.has_key?(:'href') - self.href = attributes[:'href'] + if attributes.has_key?(:'bankAccountInformation') + self.bank_account_information = attributes[:'bankAccountInformation'] end end @@ -77,8 +67,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - rel == o.rel && - href == o.href + bank_account_information == o.bank_account_information end # @see the `==` method @@ -90,7 +79,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [rel, href].hash + [bank_account_information].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_billing_information_bank_account_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_billing_information_bank_account_information.rb new file mode 100644 index 00000000..734663f0 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_billing_information_bank_account_information.rb @@ -0,0 +1,285 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationBillingInformationBankAccountInformation + # Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :bank_account_country + + # Name on the checking account + attr_accessor :account_holder_name + + # Type of Account Possible Values: - CHECKING - SAVINGS - CORPORATECHECKING - CORPORATESAVINGS + attr_accessor :account_type + + # Routing Number, IBAN, Swift/BIC, etc + attr_accessor :account_routing_number + + # Account Number + attr_accessor :account_number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'bank_account_country' => :'bankAccountCountry', + :'account_holder_name' => :'accountHolderName', + :'account_type' => :'accountType', + :'account_routing_number' => :'accountRoutingNumber', + :'account_number' => :'accountNumber' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'bank_account_country' => :'bank_account_country', + :'account_holder_name' => :'account_holder_name', + :'account_type' => :'account_type', + :'account_routing_number' => :'account_routing_number', + :'account_number' => :'account_number' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'bank_account_country' => :'String', + :'account_holder_name' => :'String', + :'account_type' => :'String', + :'account_routing_number' => :'String', + :'account_number' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'bankAccountCountry') + self.bank_account_country = attributes[:'bankAccountCountry'] + end + + if attributes.has_key?(:'accountHolderName') + self.account_holder_name = attributes[:'accountHolderName'] + end + + if attributes.has_key?(:'accountType') + self.account_type = attributes[:'accountType'] + end + + if attributes.has_key?(:'accountRoutingNumber') + self.account_routing_number = attributes[:'accountRoutingNumber'] + end + + if attributes.has_key?(:'accountNumber') + self.account_number = attributes[:'accountNumber'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@bank_account_country.nil? && @bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "bank_account_country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@account_routing_number.nil? && @account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #invalid_properties.push('invalid value for "account_routing_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.') + #end + + #if !@account_number.nil? && @account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #invalid_properties.push('invalid value for "account_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@bank_account_country.nil? && @bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@account_routing_number.nil? && @account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #return false if !@account_number.nil? && @account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] bank_account_country Value to be assigned + def bank_account_country=(bank_account_country) + #if !bank_account_country.nil? && bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "bank_account_country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @bank_account_country = bank_account_country + end + + # Custom attribute writer method with validation + # @param [Object] account_holder_name Value to be assigned + def account_holder_name=(account_holder_name) + @account_holder_name = account_holder_name + end + + # Custom attribute writer method with validation + # @param [Object] account_routing_number Value to be assigned + def account_routing_number=(account_routing_number) + #if !account_routing_number.nil? && account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #fail ArgumentError, 'invalid value for "account_routing_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.' + #end + + @account_routing_number = account_routing_number + end + + # Custom attribute writer method with validation + # @param [Object] account_number Value to be assigned + def account_number=(account_number) + #if !account_number.nil? && account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #fail ArgumentError, 'invalid value for "account_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.' + #end + + @account_number = account_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + bank_account_country == o.bank_account_country && + account_holder_name == o.account_holder_name && + account_type == o.account_type && + account_routing_number == o.account_routing_number && + account_number == o.account_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [bank_account_country, account_holder_name, account_type, account_routing_number, account_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription.rb b/lib/cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription.rb new file mode 100644 index 00000000..81606b31 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription.rb @@ -0,0 +1,213 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription + # Name of the product, service, or subscription. + attr_accessor :product_service_name + + # Percentage of business revenue from this product or service. + attr_accessor :product_service_percentage + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'product_service_name' => :'productServiceName', + :'product_service_percentage' => :'productServicePercentage' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'product_service_name' => :'product_service_name', + :'product_service_percentage' => :'product_service_percentage' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'product_service_name' => :'String', + :'product_service_percentage' => :'Float' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'productServiceName') + self.product_service_name = attributes[:'productServiceName'] + end + + if attributes.has_key?(:'productServicePercentage') + self.product_service_percentage = attributes[:'productServicePercentage'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Custom attribute writer method with validation + # @param [Object] product_service_name Value to be assigned + def product_service_name=(product_service_name) + @product_service_name = product_service_name + end + + # Custom attribute writer method with validation + # @param [Object] product_service_percentage Value to be assigned + def product_service_percentage=(product_service_percentage) + @product_service_percentage = product_service_percentage + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + product_service_name == o.product_service_name && + product_service_percentage == o.product_service_percentage + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [product_service_name, product_service_percentage].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_client_reference_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_client_reference_information.rb new file mode 100644 index 00000000..0bb59a7e --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_client_reference_information.rb @@ -0,0 +1,231 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationClientReferenceInformation + # client-generated request reference or tracking number. It is recommended that you send a unique value for each request so that you can perform meaningful searches for the request. + attr_accessor :client_request_id + + # The name of the application (such as Boarding Workflow or Anet Boarding) that the client uses to send a request to merchant evaluation service. + attr_accessor :application_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_request_id' => :'clientRequestId', + :'application_name' => :'applicationName' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'client_request_id' => :'client_request_id', + :'application_name' => :'application_name' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'client_request_id' => :'String', + :'application_name' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'clientRequestId') + self.client_request_id = attributes[:'clientRequestId'] + end + + if attributes.has_key?(:'applicationName') + self.application_name = attributes[:'applicationName'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@client_request_id.nil? && @client_request_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #invalid_properties.push('invalid value for "client_request_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.') + #end + + #if !@application_name.nil? && @application_name !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #invalid_properties.push('invalid value for "application_name", must conform to the pattern /^[0-9a-zA-Z_]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@client_request_id.nil? && @client_request_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #return false if !@application_name.nil? && @application_name !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] client_request_id Value to be assigned + def client_request_id=(client_request_id) + #if !client_request_id.nil? && client_request_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #fail ArgumentError, 'invalid value for "client_request_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.' + #end + + @client_request_id = client_request_id + end + + # Custom attribute writer method with validation + # @param [Object] application_name Value to be assigned + def application_name=(application_name) + #if !application_name.nil? && application_name !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #fail ArgumentError, 'invalid value for "application_name", must conform to the pattern /^[0-9a-zA-Z_]+$/.' + #end + + @application_name = application_name + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_request_id == o.client_request_id && + application_name == o.application_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [client_request_id, application_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_deposit_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_deposit_information.rb new file mode 100644 index 00000000..e5ed3b33 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_deposit_information.rb @@ -0,0 +1,285 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationDepositInformation + # Country of the Bank Account. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :bank_account_country + + # Name on the Bank Account + attr_accessor :account_holder_name + + # Type of Account Possible Values: - CHECKING - SAVINGS - CORPORATECHECKING - CORPORATESAVINGS + attr_accessor :account_type + + # Routing Number, IBAN, Swift/BIC, etc + attr_accessor :account_routing_number + + # Account Number + attr_accessor :account_number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'bank_account_country' => :'bankAccountCountry', + :'account_holder_name' => :'accountHolderName', + :'account_type' => :'accountType', + :'account_routing_number' => :'accountRoutingNumber', + :'account_number' => :'accountNumber' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'bank_account_country' => :'bank_account_country', + :'account_holder_name' => :'account_holder_name', + :'account_type' => :'account_type', + :'account_routing_number' => :'account_routing_number', + :'account_number' => :'account_number' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'bank_account_country' => :'String', + :'account_holder_name' => :'String', + :'account_type' => :'String', + :'account_routing_number' => :'String', + :'account_number' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'bankAccountCountry') + self.bank_account_country = attributes[:'bankAccountCountry'] + end + + if attributes.has_key?(:'accountHolderName') + self.account_holder_name = attributes[:'accountHolderName'] + end + + if attributes.has_key?(:'accountType') + self.account_type = attributes[:'accountType'] + end + + if attributes.has_key?(:'accountRoutingNumber') + self.account_routing_number = attributes[:'accountRoutingNumber'] + end + + if attributes.has_key?(:'accountNumber') + self.account_number = attributes[:'accountNumber'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@bank_account_country.nil? && @bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "bank_account_country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@account_routing_number.nil? && @account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #invalid_properties.push('invalid value for "account_routing_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.') + #end + + #if !@account_number.nil? && @account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #invalid_properties.push('invalid value for "account_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@bank_account_country.nil? && @bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@account_routing_number.nil? && @account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #return false if !@account_number.nil? && @account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] bank_account_country Value to be assigned + def bank_account_country=(bank_account_country) + #if !bank_account_country.nil? && bank_account_country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "bank_account_country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @bank_account_country = bank_account_country + end + + # Custom attribute writer method with validation + # @param [Object] account_holder_name Value to be assigned + def account_holder_name=(account_holder_name) + @account_holder_name = account_holder_name + end + + # Custom attribute writer method with validation + # @param [Object] account_routing_number Value to be assigned + def account_routing_number=(account_routing_number) + #if !account_routing_number.nil? && account_routing_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #fail ArgumentError, 'invalid value for "account_routing_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.' + #end + + @account_routing_number = account_routing_number + end + + # Custom attribute writer method with validation + # @param [Object] account_number Value to be assigned + def account_number=(account_number) + #if !account_number.nil? && account_number !~ Regexp.new(/^[0-9a-zA-Z\\+\\-]+$/) + #fail ArgumentError, 'invalid value for "account_number", must conform to the pattern /^[0-9a-zA-Z\\+\\-]+$/.' + #end + + @account_number = account_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + bank_account_country == o.bank_account_country && + account_holder_name == o.account_holder_name && + account_type == o.account_type && + account_routing_number == o.account_routing_number && + account_number == o.account_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [bank_account_country, account_holder_name, account_type, account_routing_number, account_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_device_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_device_information.rb new file mode 100644 index 00000000..43b464cf --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_device_information.rb @@ -0,0 +1,212 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationDeviceInformation + # IP Address of the user that filled in the Merchant Application + attr_accessor :ip_address + + # Info about the user that filled in the Merchant Application + attr_accessor :fingerprint_session_id + + # Info about the user that filled in the Merchant Application + attr_accessor :user_agent + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ip_address' => :'ipAddress', + :'fingerprint_session_id' => :'fingerprintSessionId', + :'user_agent' => :'userAgent' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'ip_address' => :'ip_address', + :'fingerprint_session_id' => :'fingerprint_session_id', + :'user_agent' => :'user_agent' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'ip_address' => :'String', + :'fingerprint_session_id' => :'String', + :'user_agent' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'ipAddress') + self.ip_address = attributes[:'ipAddress'] + end + + if attributes.has_key?(:'fingerprintSessionId') + self.fingerprint_session_id = attributes[:'fingerprintSessionId'] + end + + if attributes.has_key?(:'userAgent') + self.user_agent = attributes[:'userAgent'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ip_address == o.ip_address && + fingerprint_session_id == o.fingerprint_session_id && + user_agent == o.user_agent + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [ip_address, fingerprint_session_id, user_agent].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_file_attachment_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_file_attachment_information.rb new file mode 100644 index 00000000..bb033231 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_file_attachment_information.rb @@ -0,0 +1,190 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationFileAttachmentInformation + # The unique identifier for the file group + attr_accessor :file_group_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'file_group_id' => :'fileGroupId' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'file_group_id' => :'file_group_id' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'file_group_id' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'fileGroupId') + self.file_group_id = attributes[:'fileGroupId'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + file_group_id == o.file_group_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [file_group_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application.rb b/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application.rb new file mode 100644 index 00000000..7219cf25 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application.rb @@ -0,0 +1,256 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationMerchantApplication + attr_accessor :application_id + + attr_accessor :application_status + + # The product(s) that are being underwritten + attr_accessor :products + + # Driver Campaign ID, identifies where the application came from + attr_accessor :campaign_id + + # Offer CampaignID, used by Sales + attr_accessor :oc_id + + # ResellerID, used by Sales + attr_accessor :reseller_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application_id' => :'applicationId', + :'application_status' => :'applicationStatus', + :'products' => :'products', + :'campaign_id' => :'campaignId', + :'oc_id' => :'ocId', + :'reseller_id' => :'resellerId' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'application_id' => :'application_id', + :'application_status' => :'application_status', + :'products' => :'products', + :'campaign_id' => :'campaign_id', + :'oc_id' => :'oc_id', + :'reseller_id' => :'reseller_id' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'application_id' => :'String', + :'application_status' => :'String', + :'products' => :'Array', + :'campaign_id' => :'String', + :'oc_id' => :'String', + :'reseller_id' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'applicationId') + self.application_id = attributes[:'applicationId'] + end + + if attributes.has_key?(:'applicationStatus') + self.application_status = attributes[:'applicationStatus'] + end + + if attributes.has_key?(:'products') + if (value = attributes[:'products']).is_a?(Array) + self.products = value + end + end + + if attributes.has_key?(:'campaignId') + self.campaign_id = attributes[:'campaignId'] + end + + if attributes.has_key?(:'ocId') + self.oc_id = attributes[:'ocId'] + end + + if attributes.has_key?(:'resellerId') + self.reseller_id = attributes[:'resellerId'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @products.nil? + invalid_properties.push('invalid value for "products", products cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @products.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] reseller_id Value to be assigned + def reseller_id=(reseller_id) + @reseller_id = reseller_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application_id == o.application_id && + application_status == o.application_status && + products == o.products && + campaign_id == o.campaign_id && + oc_id == o.oc_id && + reseller_id == o.reseller_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [application_id, application_status, products, campaign_id, oc_id, reseller_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application_products.rb b/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application_products.rb new file mode 100644 index 00000000..a2bde476 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_merchant_application_products.rb @@ -0,0 +1,251 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationMerchantApplicationProducts + # Product Name [PRODUCT1, PRODUCT2, PRODUCT3] + attr_accessor :product_short_name + + # Override Acquirer Value + attr_accessor :preferred_acquirer + + # Product status [] + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'product_short_name' => :'productShortName', + :'preferred_acquirer' => :'preferredAcquirer', + :'status' => :'status' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'product_short_name' => :'product_short_name', + :'preferred_acquirer' => :'preferred_acquirer', + :'status' => :'status' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'product_short_name' => :'String', + :'preferred_acquirer' => :'String', + :'status' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'productShortName') + self.product_short_name = attributes[:'productShortName'] + end + + if attributes.has_key?(:'preferredAcquirer') + self.preferred_acquirer = attributes[:'preferredAcquirer'] + end + + if attributes.has_key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @product_short_name.nil? + invalid_properties.push('invalid value for "product_short_name", product_short_name cannot be nil.') + end + + #if @product_short_name !~ Regexp.new(/^[a-zA-Z0-9-]{1,30}$/) + #invalid_properties.push('invalid value for "product_short_name", must conform to the pattern /^[a-zA-Z0-9-]{1,30}$/.') + #end + + #if !@preferred_acquirer.nil? && @preferred_acquirer !~ Regexp.new(/^[a-zA-Z0-9-_]$/) + #invalid_properties.push('invalid value for "preferred_acquirer", must conform to the pattern /^[a-zA-Z0-9-_]$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @product_short_name.nil? + #return false if @product_short_name !~ Regexp.new(/^[a-zA-Z0-9-]{1,30}$/) + #return false if !@preferred_acquirer.nil? && @preferred_acquirer !~ Regexp.new(/^[a-zA-Z0-9-_]$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] product_short_name Value to be assigned + def product_short_name=(product_short_name) + #if product_short_name.nil? + #fail ArgumentError, 'product_short_name cannot be nil' + #end + + #if product_short_name !~ Regexp.new(/^[a-zA-Z0-9-]{1,30}$/) + #fail ArgumentError, 'invalid value for "product_short_name", must conform to the pattern /^[a-zA-Z0-9-]{1,30}$/.' + #end + + @product_short_name = product_short_name + end + + # Custom attribute writer method with validation + # @param [Object] preferred_acquirer Value to be assigned + def preferred_acquirer=(preferred_acquirer) + #if !preferred_acquirer.nil? && preferred_acquirer !~ Regexp.new(/^[a-zA-Z0-9-_]$/) + #fail ArgumentError, 'invalid value for "preferred_acquirer", must conform to the pattern /^[a-zA-Z0-9-_]$/.' + #end + + @preferred_acquirer = preferred_acquirer + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + product_short_name == o.product_short_name && + preferred_acquirer == o.preferred_acquirer && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [product_short_name, preferred_acquirer, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information.rb new file mode 100644 index 00000000..4f018239 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information.rb @@ -0,0 +1,258 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformation + # Parent Organization ID for the application + attr_accessor :parent_organization_id + + # Organization ID for the application + attr_accessor :organization_id + + # Boarding Package ID for the application + attr_accessor :boarding_package_id + + attr_accessor :business_information + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'parent_organization_id' => :'parentOrganizationId', + :'organization_id' => :'organizationId', + :'boarding_package_id' => :'boardingPackageId', + :'business_information' => :'businessInformation' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'parent_organization_id' => :'parent_organization_id', + :'organization_id' => :'organization_id', + :'boarding_package_id' => :'boarding_package_id', + :'business_information' => :'business_information' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'parent_organization_id' => :'String', + :'organization_id' => :'String', + :'boarding_package_id' => :'String', + :'business_information' => :'UnderwritingConfigurationOrganizationInformationBusinessInformation' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'parentOrganizationId') + self.parent_organization_id = attributes[:'parentOrganizationId'] + end + + if attributes.has_key?(:'organizationId') + self.organization_id = attributes[:'organizationId'] + end + + if attributes.has_key?(:'boardingPackageId') + self.boarding_package_id = attributes[:'boardingPackageId'] + end + + if attributes.has_key?(:'businessInformation') + self.business_information = attributes[:'businessInformation'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@parent_organization_id.nil? && @parent_organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #invalid_properties.push('invalid value for "parent_organization_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.') + #end + + #if !@organization_id.nil? && @organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #invalid_properties.push('invalid value for "organization_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@parent_organization_id.nil? && @parent_organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #return false if !@organization_id.nil? && @organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] parent_organization_id Value to be assigned + def parent_organization_id=(parent_organization_id) + #if !parent_organization_id.nil? && parent_organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #fail ArgumentError, 'invalid value for "parent_organization_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.' + #end + + @parent_organization_id = parent_organization_id + end + + # Custom attribute writer method with validation + # @param [Object] organization_id Value to be assigned + def organization_id=(organization_id) + #if !organization_id.nil? && organization_id !~ Regexp.new(/^[0-9a-zA-Z_]+$/) + #fail ArgumentError, 'invalid value for "organization_id", must conform to the pattern /^[0-9a-zA-Z_]+$/.' + #end + + @organization_id = organization_id + end + + # Custom attribute writer method with validation + # @param [Object] boarding_package_id Value to be assigned + def boarding_package_id=(boarding_package_id) + @boarding_package_id = boarding_package_id + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + parent_organization_id == o.parent_organization_id && + organization_id == o.organization_id && + boarding_package_id == o.boarding_package_id && + business_information == o.business_information + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [parent_organization_id, organization_id, boarding_package_id, business_information].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information.rb new file mode 100644 index 00000000..1a9c1e98 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information.rb @@ -0,0 +1,677 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformation + # Tax ID for the business + attr_accessor :business_identifier + + # Country where the business is registered. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :country_registration + + # The legally registered name of the business + attr_accessor :legal_name + + # The DBA of the business. + attr_accessor :doing_business_as + + # Short description of the Business + attr_accessor :business_description + + # Registration ID for Enterprise Merchant + attr_accessor :registration_number + + # Which stock exchange is the company trading in? + attr_accessor :stock_exchange + + # Stock Symbol on the exchange + attr_accessor :ticker_symbol + + # When did Business start. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 + attr_accessor :start_date + + # Industry standard Merchant Category Code (MCC) + attr_accessor :merchant_category_code + + # MCC Description + attr_accessor :mcc_description + + # Website for the Business + attr_accessor :website_url + + # Business type Possible values: - PARTNERSHIP - SOLE_PROPRIETORSHIP - CORPORATION - LLC - NON_PROFIT - TRUST + attr_accessor :business_type + + attr_accessor :local_mcc + + # Country of the Business phone number. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :country_phone_number + + # Business Phone Number + attr_accessor :phone_number + + # Business Email Address + attr_accessor :email + + # What your company does and how you market your service + attr_accessor :what_your_company_does + + attr_accessor :address + + attr_accessor :trading_address + + attr_accessor :business_contact + + attr_accessor :business_details + + attr_accessor :owner_information + + attr_accessor :director_information + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'business_identifier' => :'businessIdentifier', + :'country_registration' => :'countryRegistration', + :'legal_name' => :'legalName', + :'doing_business_as' => :'doingBusinessAs', + :'business_description' => :'businessDescription', + :'registration_number' => :'registrationNumber', + :'stock_exchange' => :'stockExchange', + :'ticker_symbol' => :'tickerSymbol', + :'start_date' => :'startDate', + :'merchant_category_code' => :'merchantCategoryCode', + :'mcc_description' => :'mccDescription', + :'website_url' => :'websiteURL', + :'business_type' => :'businessType', + :'local_mcc' => :'localMCC', + :'country_phone_number' => :'countryPhoneNumber', + :'phone_number' => :'phoneNumber', + :'email' => :'email', + :'what_your_company_does' => :'whatYourCompanyDoes', + :'address' => :'address', + :'trading_address' => :'tradingAddress', + :'business_contact' => :'businessContact', + :'business_details' => :'businessDetails', + :'owner_information' => :'ownerInformation', + :'director_information' => :'directorInformation' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'business_identifier' => :'business_identifier', + :'country_registration' => :'country_registration', + :'legal_name' => :'legal_name', + :'doing_business_as' => :'doing_business_as', + :'business_description' => :'business_description', + :'registration_number' => :'registration_number', + :'stock_exchange' => :'stock_exchange', + :'ticker_symbol' => :'ticker_symbol', + :'start_date' => :'start_date', + :'merchant_category_code' => :'merchant_category_code', + :'mcc_description' => :'mcc_description', + :'website_url' => :'website_url', + :'business_type' => :'business_type', + :'local_mcc' => :'local_mcc', + :'country_phone_number' => :'country_phone_number', + :'phone_number' => :'phone_number', + :'email' => :'email', + :'what_your_company_does' => :'what_your_company_does', + :'address' => :'address', + :'trading_address' => :'trading_address', + :'business_contact' => :'business_contact', + :'business_details' => :'business_details', + :'owner_information' => :'owner_information', + :'director_information' => :'director_information' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'business_identifier' => :'String', + :'country_registration' => :'String', + :'legal_name' => :'String', + :'doing_business_as' => :'String', + :'business_description' => :'String', + :'registration_number' => :'String', + :'stock_exchange' => :'String', + :'ticker_symbol' => :'String', + :'start_date' => :'Date', + :'merchant_category_code' => :'String', + :'mcc_description' => :'String', + :'website_url' => :'String', + :'business_type' => :'String', + :'local_mcc' => :'Array', + :'country_phone_number' => :'String', + :'phone_number' => :'String', + :'email' => :'String', + :'what_your_company_does' => :'String', + :'address' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress', + :'trading_address' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress', + :'business_contact' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact', + :'business_details' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails', + :'owner_information' => :'Array', + :'director_information' => :'Array' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'businessIdentifier') + self.business_identifier = attributes[:'businessIdentifier'] + end + + if attributes.has_key?(:'countryRegistration') + self.country_registration = attributes[:'countryRegistration'] + end + + if attributes.has_key?(:'legalName') + self.legal_name = attributes[:'legalName'] + end + + if attributes.has_key?(:'doingBusinessAs') + self.doing_business_as = attributes[:'doingBusinessAs'] + end + + if attributes.has_key?(:'businessDescription') + self.business_description = attributes[:'businessDescription'] + end + + if attributes.has_key?(:'registrationNumber') + self.registration_number = attributes[:'registrationNumber'] + end + + if attributes.has_key?(:'stockExchange') + self.stock_exchange = attributes[:'stockExchange'] + end + + if attributes.has_key?(:'tickerSymbol') + self.ticker_symbol = attributes[:'tickerSymbol'] + end + + if attributes.has_key?(:'startDate') + self.start_date = attributes[:'startDate'] + end + + if attributes.has_key?(:'merchantCategoryCode') + self.merchant_category_code = attributes[:'merchantCategoryCode'] + end + + if attributes.has_key?(:'mccDescription') + self.mcc_description = attributes[:'mccDescription'] + end + + if attributes.has_key?(:'websiteURL') + self.website_url = attributes[:'websiteURL'] + end + + if attributes.has_key?(:'businessType') + self.business_type = attributes[:'businessType'] + end + + if attributes.has_key?(:'localMCC') + if (value = attributes[:'localMCC']).is_a?(Array) + self.local_mcc = value + end + end + + if attributes.has_key?(:'countryPhoneNumber') + self.country_phone_number = attributes[:'countryPhoneNumber'] + end + + if attributes.has_key?(:'phoneNumber') + self.phone_number = attributes[:'phoneNumber'] + end + + if attributes.has_key?(:'email') + self.email = attributes[:'email'] + end + + if attributes.has_key?(:'whatYourCompanyDoes') + self.what_your_company_does = attributes[:'whatYourCompanyDoes'] + end + + if attributes.has_key?(:'address') + self.address = attributes[:'address'] + end + + if attributes.has_key?(:'tradingAddress') + self.trading_address = attributes[:'tradingAddress'] + end + + if attributes.has_key?(:'businessContact') + self.business_contact = attributes[:'businessContact'] + end + + if attributes.has_key?(:'businessDetails') + self.business_details = attributes[:'businessDetails'] + end + + if attributes.has_key?(:'ownerInformation') + if (value = attributes[:'ownerInformation']).is_a?(Array) + self.owner_information = value + end + end + + if attributes.has_key?(:'directorInformation') + if (value = attributes[:'directorInformation']).is_a?(Array) + self.director_information = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @business_identifier.nil? + invalid_properties.push('invalid value for "business_identifier", business_identifier cannot be nil.') + end + + #if @business_identifier !~ Regexp.new(/^[a-zA-Z0-9]*$/) + #invalid_properties.push('invalid value for "business_identifier", must conform to the pattern /^[a-zA-Z0-9]*$/.') + #end + + if @country_registration.nil? + invalid_properties.push('invalid value for "country_registration", country_registration cannot be nil.') + end + + #if @country_registration !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country_registration", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @legal_name.nil? + invalid_properties.push('invalid value for "legal_name", legal_name cannot be nil.') + end + + if @doing_business_as.nil? + invalid_properties.push('invalid value for "doing_business_as", doing_business_as cannot be nil.') + end + + if @business_description.nil? + invalid_properties.push('invalid value for "business_description", business_description cannot be nil.') + end + + #if !@ticker_symbol.nil? && @ticker_symbol !~ Regexp.new(/^[a-zA-Z0-9_.]*$/) + #invalid_properties.push('invalid value for "ticker_symbol", must conform to the pattern /^[a-zA-Z0-9_.]*$/.') + #end + + if @start_date.nil? + invalid_properties.push('invalid value for "start_date", start_date cannot be nil.') + end + + if @merchant_category_code.nil? + invalid_properties.push('invalid value for "merchant_category_code", merchant_category_code cannot be nil.') + end + + #if @merchant_category_code !~ Regexp.new(/^\\d{3,4}$/) + #invalid_properties.push('invalid value for "merchant_category_code", must conform to the pattern /^\\d{3,4}$/.') + #end + + if @business_type.nil? + invalid_properties.push('invalid value for "business_type", business_type cannot be nil.') + end + + if @country_phone_number.nil? + invalid_properties.push('invalid value for "country_phone_number", country_phone_number cannot be nil.') + end + + #if @country_phone_number !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country_phone_number", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @phone_number.nil? + invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.') + end + + #if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #invalid_properties.push('invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.') + #end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @business_identifier.nil? + #return false if @business_identifier !~ Regexp.new(/^[a-zA-Z0-9]*$/) + return false if @country_registration.nil? + #return false if @country_registration !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @legal_name.nil? + return false if @doing_business_as.nil? + return false if @business_description.nil? + #return false if !@ticker_symbol.nil? && @ticker_symbol !~ Regexp.new(/^[a-zA-Z0-9_.]*$/) + return false if @start_date.nil? + return false if @merchant_category_code.nil? + #return false if @merchant_category_code !~ Regexp.new(/^\\d{3,4}$/) + return false if @business_type.nil? + return false if @country_phone_number.nil? + #return false if @country_phone_number !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @phone_number.nil? + #return false if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] business_identifier Value to be assigned + def business_identifier=(business_identifier) + #if business_identifier.nil? + #fail ArgumentError, 'business_identifier cannot be nil' + #end + + #if business_identifier !~ Regexp.new(/^[a-zA-Z0-9]*$/) + #fail ArgumentError, 'invalid value for "business_identifier", must conform to the pattern /^[a-zA-Z0-9]*$/.' + #end + + @business_identifier = business_identifier + end + + # Custom attribute writer method with validation + # @param [Object] country_registration Value to be assigned + def country_registration=(country_registration) + #if country_registration.nil? + #fail ArgumentError, 'country_registration cannot be nil' + #end + + #if country_registration !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country_registration", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country_registration = country_registration + end + + # Custom attribute writer method with validation + # @param [Object] legal_name Value to be assigned + def legal_name=(legal_name) + #if legal_name.nil? + #fail ArgumentError, 'legal_name cannot be nil' + #end + + @legal_name = legal_name + end + + # Custom attribute writer method with validation + # @param [Object] doing_business_as Value to be assigned + def doing_business_as=(doing_business_as) + #if doing_business_as.nil? + #fail ArgumentError, 'doing_business_as cannot be nil' + #end + + @doing_business_as = doing_business_as + end + + # Custom attribute writer method with validation + # @param [Object] business_description Value to be assigned + def business_description=(business_description) + #if business_description.nil? + #fail ArgumentError, 'business_description cannot be nil' + #end + + @business_description = business_description + end + + # Custom attribute writer method with validation + # @param [Object] registration_number Value to be assigned + def registration_number=(registration_number) + @registration_number = registration_number + end + + # Custom attribute writer method with validation + # @param [Object] stock_exchange Value to be assigned + def stock_exchange=(stock_exchange) + @stock_exchange = stock_exchange + end + + # Custom attribute writer method with validation + # @param [Object] ticker_symbol Value to be assigned + def ticker_symbol=(ticker_symbol) + #if !ticker_symbol.nil? && ticker_symbol !~ Regexp.new(/^[a-zA-Z0-9_.]*$/) + #fail ArgumentError, 'invalid value for "ticker_symbol", must conform to the pattern /^[a-zA-Z0-9_.]*$/.' + #end + + @ticker_symbol = ticker_symbol + end + + # Custom attribute writer method with validation + # @param [Object] merchant_category_code Value to be assigned + def merchant_category_code=(merchant_category_code) + #if merchant_category_code.nil? + #fail ArgumentError, 'merchant_category_code cannot be nil' + #end + + #if merchant_category_code !~ Regexp.new(/^\\d{3,4}$/) + #fail ArgumentError, 'invalid value for "merchant_category_code", must conform to the pattern /^\\d{3,4}$/.' + #end + + @merchant_category_code = merchant_category_code + end + + # Custom attribute writer method with validation + # @param [Object] mcc_description Value to be assigned + def mcc_description=(mcc_description) + @mcc_description = mcc_description + end + + # Custom attribute writer method with validation + # @param [Object] website_url Value to be assigned + def website_url=(website_url) + @website_url = website_url + end + + # Custom attribute writer method with validation + # @param [Object] country_phone_number Value to be assigned + def country_phone_number=(country_phone_number) + #if country_phone_number.nil? + #fail ArgumentError, 'country_phone_number cannot be nil' + #end + + #if country_phone_number !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country_phone_number", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country_phone_number = country_phone_number + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + #if phone_number.nil? + #fail ArgumentError, 'phone_number cannot be nil' + #end + + #if phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #fail ArgumentError, 'invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.' + #end + + @phone_number = phone_number + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + #if email.nil? + #fail ArgumentError, 'email cannot be nil' + #end + + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] what_your_company_does Value to be assigned + def what_your_company_does=(what_your_company_does) + @what_your_company_does = what_your_company_does + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + business_identifier == o.business_identifier && + country_registration == o.country_registration && + legal_name == o.legal_name && + doing_business_as == o.doing_business_as && + business_description == o.business_description && + registration_number == o.registration_number && + stock_exchange == o.stock_exchange && + ticker_symbol == o.ticker_symbol && + start_date == o.start_date && + merchant_category_code == o.merchant_category_code && + mcc_description == o.mcc_description && + website_url == o.website_url && + business_type == o.business_type && + local_mcc == o.local_mcc && + country_phone_number == o.country_phone_number && + phone_number == o.phone_number && + email == o.email && + what_your_company_does == o.what_your_company_does && + address == o.address && + trading_address == o.trading_address && + business_contact == o.business_contact && + business_details == o.business_details && + owner_information == o.owner_information && + director_information == o.director_information + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [business_identifier, country_registration, legal_name, doing_business_as, business_description, registration_number, stock_exchange, ticker_symbol, start_date, merchant_category_code, mcc_description, website_url, business_type, local_mcc, country_phone_number, phone_number, email, what_your_company_does, address, trading_address, business_contact, business_details, owner_information, director_information].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address.rb new file mode 100644 index 00000000..789af64b --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address.rb @@ -0,0 +1,397 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationAddress + # Country where the business is located. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :country + + # Business street address + attr_accessor :address1 + + # Business street address continued + attr_accessor :address2 + + # Building Name + attr_accessor :building_name + + # City of the billing address + attr_accessor :locality + + # Business state (US) or province (Canada, others). Required for US and Canada. + attr_accessor :administrative_area + + # Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada. + attr_accessor :postal_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'buildingName', + :'locality' => :'locality', + :'administrative_area' => :'administrativeArea', + :'postal_code' => :'postalCode' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'building_name', + :'locality' => :'locality', + :'administrative_area' => :'administrative_area', + :'postal_code' => :'postal_code' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'country' => :'String', + :'address1' => :'String', + :'address2' => :'String', + :'building_name' => :'String', + :'locality' => :'String', + :'administrative_area' => :'String', + :'postal_code' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.has_key?(:'address1') + self.address1 = attributes[:'address1'] + end + + if attributes.has_key?(:'address2') + self.address2 = attributes[:'address2'] + end + + if attributes.has_key?(:'buildingName') + self.building_name = attributes[:'buildingName'] + end + + if attributes.has_key?(:'locality') + self.locality = attributes[:'locality'] + end + + if attributes.has_key?(:'administrativeArea') + self.administrative_area = attributes[:'administrativeArea'] + end + + if attributes.has_key?(:'postalCode') + self.postal_code = attributes[:'postalCode'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @country.nil? + invalid_properties.push('invalid value for "country", country cannot be nil.') + end + + #if @country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @address1.nil? + invalid_properties.push('invalid value for "address1", address1 cannot be nil.') + end + + #if @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + if @locality.nil? + invalid_properties.push('invalid value for "locality", locality cannot be nil.') + end + + #if @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + if @administrative_area.nil? + invalid_properties.push('invalid value for "administrative_area", administrative_area cannot be nil.') + end + + #if @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + if @postal_code.nil? + invalid_properties.push('invalid value for "postal_code", postal_code cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @country.nil? + #return false if @country !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @address1.nil? + #return false if @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + return false if @locality.nil? + #return false if @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + return false if @administrative_area.nil? + #return false if @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + return false if @postal_code.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + #if country.nil? + #fail ArgumentError, 'country cannot be nil' + #end + + #if country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country = country + end + + # Custom attribute writer method with validation + # @param [Object] address1 Value to be assigned + def address1=(address1) + #if address1.nil? + #fail ArgumentError, 'address1 cannot be nil' + #end + + #if address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address1 = address1 + end + + # Custom attribute writer method with validation + # @param [Object] address2 Value to be assigned + def address2=(address2) + #if !address2.nil? && address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address2 = address2 + end + + # Custom attribute writer method with validation + # @param [Object] building_name Value to be assigned + def building_name=(building_name) + #if !building_name.nil? && building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @building_name = building_name + end + + # Custom attribute writer method with validation + # @param [Object] locality Value to be assigned + def locality=(locality) + #if locality.nil? + #fail ArgumentError, 'locality cannot be nil' + #end + + #if locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @locality = locality + end + + # Custom attribute writer method with validation + # @param [Object] administrative_area Value to be assigned + def administrative_area=(administrative_area) + #if administrative_area.nil? + #fail ArgumentError, 'administrative_area cannot be nil' + #end + + #if administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @administrative_area = administrative_area + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + #if postal_code.nil? + #fail ArgumentError, 'postal_code cannot be nil' + #end + + @postal_code = postal_code + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country == o.country && + address1 == o.address1 && + address2 == o.address2 && + building_name == o.building_name && + locality == o.locality && + administrative_area == o.administrative_area && + postal_code == o.postal_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [country, address1, address2, building_name, locality, administrative_area, postal_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_1.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_1.rb new file mode 100644 index 00000000..4b81a11a --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_1.rb @@ -0,0 +1,388 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1 + # Country where the owner resides. Two character country code. + attr_accessor :country + + # Owner's street address. + attr_accessor :address1 + + # Owner's street address Continued + attr_accessor :address2 + + # Building Name + attr_accessor :building_name + + # Owner's city + attr_accessor :locality + + # Owner's state (US) or province (Canada, others) + attr_accessor :administrative_area + + # Owner's zip code (US) or postal code (Canada) + attr_accessor :postal_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'buildingName', + :'locality' => :'locality', + :'administrative_area' => :'administrativeArea', + :'postal_code' => :'postalCode' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'building_name', + :'locality' => :'locality', + :'administrative_area' => :'administrative_area', + :'postal_code' => :'postal_code' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'country' => :'String', + :'address1' => :'String', + :'address2' => :'String', + :'building_name' => :'String', + :'locality' => :'String', + :'administrative_area' => :'String', + :'postal_code' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.has_key?(:'address1') + self.address1 = attributes[:'address1'] + end + + if attributes.has_key?(:'address2') + self.address2 = attributes[:'address2'] + end + + if attributes.has_key?(:'buildingName') + self.building_name = attributes[:'buildingName'] + end + + if attributes.has_key?(:'locality') + self.locality = attributes[:'locality'] + end + + if attributes.has_key?(:'administrativeArea') + self.administrative_area = attributes[:'administrativeArea'] + end + + if attributes.has_key?(:'postalCode') + self.postal_code = attributes[:'postalCode'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @country.nil? + invalid_properties.push('invalid value for "country", country cannot be nil.') + end + + #if @country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @address1.nil? + invalid_properties.push('invalid value for "address1", address1 cannot be nil.') + end + + #if @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + if @locality.nil? + invalid_properties.push('invalid value for "locality", locality cannot be nil.') + end + + #if @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + if @administrative_area.nil? + invalid_properties.push('invalid value for "administrative_area", administrative_area cannot be nil.') + end + + if @postal_code.nil? + invalid_properties.push('invalid value for "postal_code", postal_code cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @country.nil? + #return false if @country !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @address1.nil? + #return false if @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + return false if @locality.nil? + #return false if @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + return false if @administrative_area.nil? + return false if @postal_code.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + #if country.nil? + #fail ArgumentError, 'country cannot be nil' + #end + + #if country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country = country + end + + # Custom attribute writer method with validation + # @param [Object] address1 Value to be assigned + def address1=(address1) + #if address1.nil? + #fail ArgumentError, 'address1 cannot be nil' + #end + + #if address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address1 = address1 + end + + # Custom attribute writer method with validation + # @param [Object] address2 Value to be assigned + def address2=(address2) + #if !address2.nil? && address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address2 = address2 + end + + # Custom attribute writer method with validation + # @param [Object] building_name Value to be assigned + def building_name=(building_name) + #if !building_name.nil? && building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @building_name = building_name + end + + # Custom attribute writer method with validation + # @param [Object] locality Value to be assigned + def locality=(locality) + #if locality.nil? + #fail ArgumentError, 'locality cannot be nil' + #end + + #if locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @locality = locality + end + + # Custom attribute writer method with validation + # @param [Object] administrative_area Value to be assigned + def administrative_area=(administrative_area) + #if administrative_area.nil? + #fail ArgumentError, 'administrative_area cannot be nil' + #end + + @administrative_area = administrative_area + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + #if postal_code.nil? + #fail ArgumentError, 'postal_code cannot be nil' + #end + + @postal_code = postal_code + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country == o.country && + address1 == o.address1 && + address2 == o.address2 && + building_name == o.building_name && + locality == o.locality && + administrative_area == o.administrative_area && + postal_code == o.postal_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [country, address1, address2, building_name, locality, administrative_area, postal_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2.rb new file mode 100644 index 00000000..3b24cf94 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2.rb @@ -0,0 +1,352 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2 + # Country where the Director resides. Two character country code. + attr_accessor :country + + # Director's street address. + attr_accessor :address1 + + # Director's street address Continued + attr_accessor :address2 + + # Building Name + attr_accessor :building_name + + # Director's city + attr_accessor :locality + + # Director's state (US) or province (Canada, others) + attr_accessor :administrative_area + + # Director's zip code (US) or postal code (Canada) + attr_accessor :postal_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'buildingName', + :'locality' => :'locality', + :'administrative_area' => :'administrativeArea', + :'postal_code' => :'postalCode' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'building_name', + :'locality' => :'locality', + :'administrative_area' => :'administrative_area', + :'postal_code' => :'postal_code' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'country' => :'String', + :'address1' => :'String', + :'address2' => :'String', + :'building_name' => :'String', + :'locality' => :'String', + :'administrative_area' => :'String', + :'postal_code' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.has_key?(:'address1') + self.address1 = attributes[:'address1'] + end + + if attributes.has_key?(:'address2') + self.address2 = attributes[:'address2'] + end + + if attributes.has_key?(:'buildingName') + self.building_name = attributes[:'buildingName'] + end + + if attributes.has_key?(:'locality') + self.locality = attributes[:'locality'] + end + + if attributes.has_key?(:'administrativeArea') + self.administrative_area = attributes[:'administrativeArea'] + end + + if attributes.has_key?(:'postalCode') + self.postal_code = attributes[:'postalCode'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@country.nil? && @country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@address1.nil? && @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@locality.nil? && @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + #if !@administrative_area.nil? && @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@country.nil? && @country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@address1.nil? && @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@locality.nil? && @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #return false if !@administrative_area.nil? && @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + #if !country.nil? && country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country = country + end + + # Custom attribute writer method with validation + # @param [Object] address1 Value to be assigned + def address1=(address1) + #if !address1.nil? && address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address1 = address1 + end + + # Custom attribute writer method with validation + # @param [Object] address2 Value to be assigned + def address2=(address2) + #if !address2.nil? && address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address2 = address2 + end + + # Custom attribute writer method with validation + # @param [Object] building_name Value to be assigned + def building_name=(building_name) + #if !building_name.nil? && building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @building_name = building_name + end + + # Custom attribute writer method with validation + # @param [Object] locality Value to be assigned + def locality=(locality) + #if !locality.nil? && locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @locality = locality + end + + # Custom attribute writer method with validation + # @param [Object] administrative_area Value to be assigned + def administrative_area=(administrative_area) + #if !administrative_area.nil? && administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @administrative_area = administrative_area + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + @postal_code = postal_code + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country == o.country && + address1 == o.address1 && + address2 == o.address2 && + building_name == o.building_name && + locality == o.locality && + administrative_area == o.administrative_area && + postal_code == o.postal_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [country, address1, address2, building_name, locality, administrative_area, postal_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact.rb new file mode 100644 index 00000000..753aae7d --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact.rb @@ -0,0 +1,309 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact + # Contact Person First Name + attr_accessor :first_name + + # Contact Person Middle Name + attr_accessor :middle_name + + # Contact Person Last Name + attr_accessor :last_name + + # Contact Person Phone Number + attr_accessor :phone_number + + # Contact Persona Email + attr_accessor :email + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'firstName', + :'middle_name' => :'middleName', + :'last_name' => :'lastName', + :'phone_number' => :'phoneNumber', + :'email' => :'email' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'first_name' => :'first_name', + :'middle_name' => :'middle_name', + :'last_name' => :'last_name', + :'phone_number' => :'phone_number', + :'email' => :'email' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'first_name' => :'String', + :'middle_name' => :'String', + :'last_name' => :'String', + :'phone_number' => :'String', + :'email' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'firstName') + self.first_name = attributes[:'firstName'] + end + + if attributes.has_key?(:'middleName') + self.middle_name = attributes[:'middleName'] + end + + if attributes.has_key?(:'lastName') + self.last_name = attributes[:'lastName'] + end + + if attributes.has_key?(:'phoneNumber') + self.phone_number = attributes[:'phoneNumber'] + end + + if attributes.has_key?(:'email') + self.email = attributes[:'email'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @first_name.nil? + invalid_properties.push('invalid value for "first_name", first_name cannot be nil.') + end + + if @last_name.nil? + invalid_properties.push('invalid value for "last_name", last_name cannot be nil.') + end + + if @phone_number.nil? + invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.') + end + + #if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #invalid_properties.push('invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.') + #end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @first_name.nil? + return false if @last_name.nil? + return false if @phone_number.nil? + #return false if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + #if first_name.nil? + #fail ArgumentError, 'first_name cannot be nil' + #end + + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] middle_name Value to be assigned + def middle_name=(middle_name) + @middle_name = middle_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + #if last_name.nil? + #fail ArgumentError, 'last_name cannot be nil' + #end + + @last_name = last_name + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + #if phone_number.nil? + #fail ArgumentError, 'phone_number cannot be nil' + #end + + #if phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #fail ArgumentError, 'invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.' + #end + + @phone_number = phone_number + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + #if email.nil? + #fail ArgumentError, 'email cannot be nil' + #end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + middle_name == o.middle_name && + last_name == o.last_name && + phone_number == o.phone_number && + email == o.email + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [first_name, middle_name, last_name, phone_number, email].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details.rb new file mode 100644 index 00000000..a0a3c333 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details.rb @@ -0,0 +1,555 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails + # Who is the business interacting with? Business to Business, Business to Consumer, Both Possible values: - B2B - B2C - Both + attr_accessor :customer_type + + # % Split + attr_accessor :percentage_split_by_b2_b + + # % Split + attr_accessor :percentage_split_by_b2_c + + # Merchant Facing: Face to Face, Card Not Present, Both Possible values: - F2F - CNP - Both + attr_accessor :interaction_types + + # % Split + attr_accessor :percentage_split_by_f2_f + + # % Split + attr_accessor :percentage_split_by_cnp + + # When is the customer charged? Possible values: - OneTimeBeforeServiceDelivery - OneTimeAfterServiceDelivery - Other + attr_accessor :when_is_customer_charged + + attr_accessor :when_is_customer_charged_description + + # Does Merchant Offer Subscriptions? + attr_accessor :offer_subscriptions + + # % of business is monthly subscriptions + attr_accessor :monthly_subscription_percent + + # % of business is quarterly subscriptions + attr_accessor :quarterly_subscription_percent + + # % of business is semi-annual subscriptions + attr_accessor :semiannual_subscription_percent + + # % of business is annual subscriptions + attr_accessor :annual_subscription_percent + + # Processing Currency. ISO 4217, 3 characters. Possible values: - USD - CAD - EUR - GBP - CHF + attr_accessor :currency_type + + # Merchant's estimated monthly sales + attr_accessor :estimated_monthly_sales + + # Merchant's average order amount + attr_accessor :average_order_amount + + # Merchant's largest expected order amount + attr_accessor :largest_expected_order_amount + + # Primary purpose of account usage Possible values: - Paying for goods / services - Repatriating overseas earnings - Intercompany transfers - Collecting funds from clients - Liquidity / FX - Payment to an individual - Investment activity - Property purchase/sale - Other + attr_accessor :primary_account_usage + + # Source of Funds Possible values: - Business revenue - External or shareholder investment - Loan, advance or other borrowing - Donations or grants - Inter-company transfers - Proceeds of sales of assests - Other + attr_accessor :source_of_funds + + # Will you recieve money from 3rd parties into your account? + attr_accessor :receive_money3rd_parties + + # Roughly how often do you expect to send or receive transactions? Possible values: - One-off or infrequently - 1-20 per month - 20-50 per month - 50-100 per month - 100+ per month + attr_accessor :receive_transaction_frequency + + # What is your estimated total monthly spend? Possible values: - <$10,000 - $10,000 - $50,000 - $50,000 - $100,000 - $100,000 - $500,000 - $500,000+ + attr_accessor :estimated_monthly_spend + + attr_accessor :country_transactions + + attr_accessor :currencies_in + + attr_accessor :currencies_out + + attr_accessor :product_services_subscription + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'customer_type' => :'customerType', + :'percentage_split_by_b2_b' => :'percentageSplitByB2B', + :'percentage_split_by_b2_c' => :'percentageSplitByB2C', + :'interaction_types' => :'interactionTypes', + :'percentage_split_by_f2_f' => :'percentageSplitByF2F', + :'percentage_split_by_cnp' => :'percentageSplitByCNP', + :'when_is_customer_charged' => :'whenIsCustomerCharged', + :'when_is_customer_charged_description' => :'whenIsCustomerChargedDescription', + :'offer_subscriptions' => :'offerSubscriptions', + :'monthly_subscription_percent' => :'monthlySubscriptionPercent', + :'quarterly_subscription_percent' => :'quarterlySubscriptionPercent', + :'semiannual_subscription_percent' => :'semiannualSubscriptionPercent', + :'annual_subscription_percent' => :'annualSubscriptionPercent', + :'currency_type' => :'currencyType', + :'estimated_monthly_sales' => :'estimatedMonthlySales', + :'average_order_amount' => :'averageOrderAmount', + :'largest_expected_order_amount' => :'largestExpectedOrderAmount', + :'primary_account_usage' => :'primaryAccountUsage', + :'source_of_funds' => :'sourceOfFunds', + :'receive_money3rd_parties' => :'receiveMoney3rdParties', + :'receive_transaction_frequency' => :'receiveTransactionFrequency', + :'estimated_monthly_spend' => :'estimatedMonthlySpend', + :'country_transactions' => :'countryTransactions', + :'currencies_in' => :'currenciesIn', + :'currencies_out' => :'currenciesOut', + :'product_services_subscription' => :'productServicesSubscription' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'customer_type' => :'customer_type', + :'percentage_split_by_b2_b' => :'percentage_split_by_b2_b', + :'percentage_split_by_b2_c' => :'percentage_split_by_b2_c', + :'interaction_types' => :'interaction_types', + :'percentage_split_by_f2_f' => :'percentage_split_by_f2_f', + :'percentage_split_by_cnp' => :'percentage_split_by_cnp', + :'when_is_customer_charged' => :'when_is_customer_charged', + :'when_is_customer_charged_description' => :'when_is_customer_charged_description', + :'offer_subscriptions' => :'offer_subscriptions', + :'monthly_subscription_percent' => :'monthly_subscription_percent', + :'quarterly_subscription_percent' => :'quarterly_subscription_percent', + :'semiannual_subscription_percent' => :'semiannual_subscription_percent', + :'annual_subscription_percent' => :'annual_subscription_percent', + :'currency_type' => :'currency_type', + :'estimated_monthly_sales' => :'estimated_monthly_sales', + :'average_order_amount' => :'average_order_amount', + :'largest_expected_order_amount' => :'largest_expected_order_amount', + :'primary_account_usage' => :'primary_account_usage', + :'source_of_funds' => :'source_of_funds', + :'receive_money3rd_parties' => :'receive_money3rd_parties', + :'receive_transaction_frequency' => :'receive_transaction_frequency', + :'estimated_monthly_spend' => :'estimated_monthly_spend', + :'country_transactions' => :'country_transactions', + :'currencies_in' => :'currencies_in', + :'currencies_out' => :'currencies_out', + :'product_services_subscription' => :'product_services_subscription' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'customer_type' => :'String', + :'percentage_split_by_b2_b' => :'Float', + :'percentage_split_by_b2_c' => :'Float', + :'interaction_types' => :'String', + :'percentage_split_by_f2_f' => :'Float', + :'percentage_split_by_cnp' => :'Float', + :'when_is_customer_charged' => :'String', + :'when_is_customer_charged_description' => :'String', + :'offer_subscriptions' => :'BOOLEAN', + :'monthly_subscription_percent' => :'Float', + :'quarterly_subscription_percent' => :'Float', + :'semiannual_subscription_percent' => :'Float', + :'annual_subscription_percent' => :'Float', + :'currency_type' => :'String', + :'estimated_monthly_sales' => :'Float', + :'average_order_amount' => :'Float', + :'largest_expected_order_amount' => :'Float', + :'primary_account_usage' => :'String', + :'source_of_funds' => :'String', + :'receive_money3rd_parties' => :'BOOLEAN', + :'receive_transaction_frequency' => :'String', + :'estimated_monthly_spend' => :'String', + :'country_transactions' => :'Array', + :'currencies_in' => :'Array', + :'currencies_out' => :'Array', + :'product_services_subscription' => :'Array' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'customerType') + self.customer_type = attributes[:'customerType'] + end + + if attributes.has_key?(:'percentageSplitByB2B') + self.percentage_split_by_b2_b = attributes[:'percentageSplitByB2B'] + end + + if attributes.has_key?(:'percentageSplitByB2C') + self.percentage_split_by_b2_c = attributes[:'percentageSplitByB2C'] + end + + if attributes.has_key?(:'interactionTypes') + self.interaction_types = attributes[:'interactionTypes'] + end + + if attributes.has_key?(:'percentageSplitByF2F') + self.percentage_split_by_f2_f = attributes[:'percentageSplitByF2F'] + end + + if attributes.has_key?(:'percentageSplitByCNP') + self.percentage_split_by_cnp = attributes[:'percentageSplitByCNP'] + end + + if attributes.has_key?(:'whenIsCustomerCharged') + self.when_is_customer_charged = attributes[:'whenIsCustomerCharged'] + end + + if attributes.has_key?(:'whenIsCustomerChargedDescription') + self.when_is_customer_charged_description = attributes[:'whenIsCustomerChargedDescription'] + end + + if attributes.has_key?(:'offerSubscriptions') + self.offer_subscriptions = attributes[:'offerSubscriptions'] + end + + if attributes.has_key?(:'monthlySubscriptionPercent') + self.monthly_subscription_percent = attributes[:'monthlySubscriptionPercent'] + end + + if attributes.has_key?(:'quarterlySubscriptionPercent') + self.quarterly_subscription_percent = attributes[:'quarterlySubscriptionPercent'] + end + + if attributes.has_key?(:'semiannualSubscriptionPercent') + self.semiannual_subscription_percent = attributes[:'semiannualSubscriptionPercent'] + end + + if attributes.has_key?(:'annualSubscriptionPercent') + self.annual_subscription_percent = attributes[:'annualSubscriptionPercent'] + end + + if attributes.has_key?(:'currencyType') + self.currency_type = attributes[:'currencyType'] + end + + if attributes.has_key?(:'estimatedMonthlySales') + self.estimated_monthly_sales = attributes[:'estimatedMonthlySales'] + end + + if attributes.has_key?(:'averageOrderAmount') + self.average_order_amount = attributes[:'averageOrderAmount'] + end + + if attributes.has_key?(:'largestExpectedOrderAmount') + self.largest_expected_order_amount = attributes[:'largestExpectedOrderAmount'] + end + + if attributes.has_key?(:'primaryAccountUsage') + self.primary_account_usage = attributes[:'primaryAccountUsage'] + end + + if attributes.has_key?(:'sourceOfFunds') + self.source_of_funds = attributes[:'sourceOfFunds'] + end + + if attributes.has_key?(:'receiveMoney3rdParties') + self.receive_money3rd_parties = attributes[:'receiveMoney3rdParties'] + end + + if attributes.has_key?(:'receiveTransactionFrequency') + self.receive_transaction_frequency = attributes[:'receiveTransactionFrequency'] + end + + if attributes.has_key?(:'estimatedMonthlySpend') + self.estimated_monthly_spend = attributes[:'estimatedMonthlySpend'] + end + + if attributes.has_key?(:'countryTransactions') + if (value = attributes[:'countryTransactions']).is_a?(Array) + self.country_transactions = value + end + end + + if attributes.has_key?(:'currenciesIn') + if (value = attributes[:'currenciesIn']).is_a?(Array) + self.currencies_in = value + end + end + + if attributes.has_key?(:'currenciesOut') + if (value = attributes[:'currenciesOut']).is_a?(Array) + self.currencies_out = value + end + end + + if attributes.has_key?(:'productServicesSubscription') + if (value = attributes[:'productServicesSubscription']).is_a?(Array) + self.product_services_subscription = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @interaction_types.nil? + invalid_properties.push('invalid value for "interaction_types", interaction_types cannot be nil.') + end + + if @percentage_split_by_f2_f.nil? + invalid_properties.push('invalid value for "percentage_split_by_f2_f", percentage_split_by_f2_f cannot be nil.') + end + + if @percentage_split_by_cnp.nil? + invalid_properties.push('invalid value for "percentage_split_by_cnp", percentage_split_by_cnp cannot be nil.') + end + + if @when_is_customer_charged.nil? + invalid_properties.push('invalid value for "when_is_customer_charged", when_is_customer_charged cannot be nil.') + end + + if @offer_subscriptions.nil? + invalid_properties.push('invalid value for "offer_subscriptions", offer_subscriptions cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @interaction_types.nil? + return false if @percentage_split_by_f2_f.nil? + return false if @percentage_split_by_cnp.nil? + return false if @when_is_customer_charged.nil? + return false if @offer_subscriptions.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] percentage_split_by_b2_b Value to be assigned + def percentage_split_by_b2_b=(percentage_split_by_b2_b) + @percentage_split_by_b2_b = percentage_split_by_b2_b + end + + # Custom attribute writer method with validation + # @param [Object] percentage_split_by_b2_c Value to be assigned + def percentage_split_by_b2_c=(percentage_split_by_b2_c) + @percentage_split_by_b2_c = percentage_split_by_b2_c + end + + # Custom attribute writer method with validation + # @param [Object] percentage_split_by_f2_f Value to be assigned + def percentage_split_by_f2_f=(percentage_split_by_f2_f) + #if percentage_split_by_f2_f.nil? + #fail ArgumentError, 'percentage_split_by_f2_f cannot be nil' + #end + + @percentage_split_by_f2_f = percentage_split_by_f2_f + end + + # Custom attribute writer method with validation + # @param [Object] percentage_split_by_cnp Value to be assigned + def percentage_split_by_cnp=(percentage_split_by_cnp) + #if percentage_split_by_cnp.nil? + #fail ArgumentError, 'percentage_split_by_cnp cannot be nil' + #end + + @percentage_split_by_cnp = percentage_split_by_cnp + end + + # Custom attribute writer method with validation + # @param [Object] when_is_customer_charged_description Value to be assigned + def when_is_customer_charged_description=(when_is_customer_charged_description) + @when_is_customer_charged_description = when_is_customer_charged_description + end + + # Custom attribute writer method with validation + # @param [Object] monthly_subscription_percent Value to be assigned + def monthly_subscription_percent=(monthly_subscription_percent) + @monthly_subscription_percent = monthly_subscription_percent + end + + # Custom attribute writer method with validation + # @param [Object] quarterly_subscription_percent Value to be assigned + def quarterly_subscription_percent=(quarterly_subscription_percent) + @quarterly_subscription_percent = quarterly_subscription_percent + end + + # Custom attribute writer method with validation + # @param [Object] semiannual_subscription_percent Value to be assigned + def semiannual_subscription_percent=(semiannual_subscription_percent) + @semiannual_subscription_percent = semiannual_subscription_percent + end + + # Custom attribute writer method with validation + # @param [Object] annual_subscription_percent Value to be assigned + def annual_subscription_percent=(annual_subscription_percent) + @annual_subscription_percent = annual_subscription_percent + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + customer_type == o.customer_type && + percentage_split_by_b2_b == o.percentage_split_by_b2_b && + percentage_split_by_b2_c == o.percentage_split_by_b2_c && + interaction_types == o.interaction_types && + percentage_split_by_f2_f == o.percentage_split_by_f2_f && + percentage_split_by_cnp == o.percentage_split_by_cnp && + when_is_customer_charged == o.when_is_customer_charged && + when_is_customer_charged_description == o.when_is_customer_charged_description && + offer_subscriptions == o.offer_subscriptions && + monthly_subscription_percent == o.monthly_subscription_percent && + quarterly_subscription_percent == o.quarterly_subscription_percent && + semiannual_subscription_percent == o.semiannual_subscription_percent && + annual_subscription_percent == o.annual_subscription_percent && + currency_type == o.currency_type && + estimated_monthly_sales == o.estimated_monthly_sales && + average_order_amount == o.average_order_amount && + largest_expected_order_amount == o.largest_expected_order_amount && + primary_account_usage == o.primary_account_usage && + source_of_funds == o.source_of_funds && + receive_money3rd_parties == o.receive_money3rd_parties && + receive_transaction_frequency == o.receive_transaction_frequency && + estimated_monthly_spend == o.estimated_monthly_spend && + country_transactions == o.country_transactions && + currencies_in == o.currencies_in && + currencies_out == o.currencies_out && + product_services_subscription == o.product_services_subscription + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [customer_type, percentage_split_by_b2_b, percentage_split_by_b2_c, interaction_types, percentage_split_by_f2_f, percentage_split_by_cnp, when_is_customer_charged, when_is_customer_charged_description, offer_subscriptions, monthly_subscription_percent, quarterly_subscription_percent, semiannual_subscription_percent, annual_subscription_percent, currency_type, estimated_monthly_sales, average_order_amount, largest_expected_order_amount, primary_account_usage, source_of_funds, receive_money3rd_parties, receive_transaction_frequency, estimated_monthly_spend, country_transactions, currencies_in, currencies_out, product_services_subscription].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information.rb new file mode 100644 index 00000000..579e984a --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information.rb @@ -0,0 +1,380 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation + # Director's first name + attr_accessor :first_name + + # Director's middle name + attr_accessor :middle_name + + # Director's last name + attr_accessor :last_name + + # Director's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 + attr_accessor :birth_date + + # Email address for Director + attr_accessor :email + + # Owner's phone number + attr_accessor :phone_number + + # Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :nationality + + # Identification value from ID document + attr_accessor :national_id + + # Country of the ID document. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :id_country + + # Passport Number + attr_accessor :passport_number + + attr_accessor :address + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'firstName', + :'middle_name' => :'middleName', + :'last_name' => :'lastName', + :'birth_date' => :'birthDate', + :'email' => :'email', + :'phone_number' => :'phoneNumber', + :'nationality' => :'nationality', + :'national_id' => :'nationalId', + :'id_country' => :'idCountry', + :'passport_number' => :'passportNumber', + :'address' => :'address' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'first_name' => :'first_name', + :'middle_name' => :'middle_name', + :'last_name' => :'last_name', + :'birth_date' => :'birth_date', + :'email' => :'email', + :'phone_number' => :'phone_number', + :'nationality' => :'nationality', + :'national_id' => :'national_id', + :'id_country' => :'id_country', + :'passport_number' => :'passport_number', + :'address' => :'address' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'first_name' => :'String', + :'middle_name' => :'String', + :'last_name' => :'String', + :'birth_date' => :'Date', + :'email' => :'String', + :'phone_number' => :'String', + :'nationality' => :'String', + :'national_id' => :'String', + :'id_country' => :'String', + :'passport_number' => :'String', + :'address' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'firstName') + self.first_name = attributes[:'firstName'] + end + + if attributes.has_key?(:'middleName') + self.middle_name = attributes[:'middleName'] + end + + if attributes.has_key?(:'lastName') + self.last_name = attributes[:'lastName'] + end + + if attributes.has_key?(:'birthDate') + self.birth_date = attributes[:'birthDate'] + end + + if attributes.has_key?(:'email') + self.email = attributes[:'email'] + end + + if attributes.has_key?(:'phoneNumber') + self.phone_number = attributes[:'phoneNumber'] + end + + if attributes.has_key?(:'nationality') + self.nationality = attributes[:'nationality'] + end + + if attributes.has_key?(:'nationalId') + self.national_id = attributes[:'nationalId'] + end + + if attributes.has_key?(:'idCountry') + self.id_country = attributes[:'idCountry'] + end + + if attributes.has_key?(:'passportNumber') + self.passport_number = attributes[:'passportNumber'] + end + + if attributes.has_key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@phone_number.nil? && @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #invalid_properties.push('invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.') + #end + + #if !@nationality.nil? && @nationality !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "nationality", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@id_country.nil? && @id_country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "id_country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@phone_number.nil? && @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #return false if !@nationality.nil? && @nationality !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@id_country.nil? && @id_country !~ Regexp.new(/^[a-zA-Z]*$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] middle_name Value to be assigned + def middle_name=(middle_name) + @middle_name = middle_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + @last_name = last_name + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + @email = email + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + #if !phone_number.nil? && phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #fail ArgumentError, 'invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.' + #end + + @phone_number = phone_number + end + + # Custom attribute writer method with validation + # @param [Object] nationality Value to be assigned + def nationality=(nationality) + #if !nationality.nil? && nationality !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "nationality", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @nationality = nationality + end + + # Custom attribute writer method with validation + # @param [Object] national_id Value to be assigned + def national_id=(national_id) + @national_id = national_id + end + + # Custom attribute writer method with validation + # @param [Object] id_country Value to be assigned + def id_country=(id_country) + #if !id_country.nil? && id_country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "id_country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @id_country = id_country + end + + # Custom attribute writer method with validation + # @param [Object] passport_number Value to be assigned + def passport_number=(passport_number) + @passport_number = passport_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + middle_name == o.middle_name && + last_name == o.last_name && + birth_date == o.birth_date && + email == o.email && + phone_number == o.phone_number && + nationality == o.nationality && + national_id == o.national_id && + id_country == o.id_country && + passport_number == o.passport_number && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [first_name, middle_name, last_name, birth_date, email, phone_number, nationality, national_id, id_country, passport_number, address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information.rb new file mode 100644 index 00000000..b8db7946 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information.rb @@ -0,0 +1,611 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation + # Owner's first name + attr_accessor :first_name + + # Owner's middle name + attr_accessor :middle_name + + # Owner's last name + attr_accessor :last_name + + # Owner's date of birth. Format: YYYY-MM-DD Example 2016-08-11 equals August 11, 2016 + attr_accessor :birth_date + + # Primary Owner or Non-Primary Owner + attr_accessor :is_primary + + # If not an owner, is the user a Control Person + attr_accessor :has_significant_responsibility + + # Is the owner a Director as well? + attr_accessor :owner_director + + # Identification value from ID document + attr_accessor :national_id + + # Country of the ID document. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :id_country + + # Passport Number + attr_accessor :passport_number + + # Passport Country. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :passport_country + + # Owner's Job Title + attr_accessor :job_title + + # Percentage of the company that owner owns + attr_accessor :ownership_percentage + + # Country of origin for the owner. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :nationality + + # Indicates if due diligence checks should be run for this owner + attr_accessor :due_diligence_required + + # Phone number country. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :phone_number_country_code + + # Owner's phone number + attr_accessor :phone_number + + # Email address for Owner + attr_accessor :email + + attr_accessor :address + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_name' => :'firstName', + :'middle_name' => :'middleName', + :'last_name' => :'lastName', + :'birth_date' => :'birthDate', + :'is_primary' => :'isPrimary', + :'has_significant_responsibility' => :'hasSignificantResponsibility', + :'owner_director' => :'ownerDirector', + :'national_id' => :'nationalId', + :'id_country' => :'idCountry', + :'passport_number' => :'passportNumber', + :'passport_country' => :'passportCountry', + :'job_title' => :'jobTitle', + :'ownership_percentage' => :'ownershipPercentage', + :'nationality' => :'nationality', + :'due_diligence_required' => :'dueDiligenceRequired', + :'phone_number_country_code' => :'phoneNumberCountryCode', + :'phone_number' => :'phoneNumber', + :'email' => :'email', + :'address' => :'address' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'first_name' => :'first_name', + :'middle_name' => :'middle_name', + :'last_name' => :'last_name', + :'birth_date' => :'birth_date', + :'is_primary' => :'is_primary', + :'has_significant_responsibility' => :'has_significant_responsibility', + :'owner_director' => :'owner_director', + :'national_id' => :'national_id', + :'id_country' => :'id_country', + :'passport_number' => :'passport_number', + :'passport_country' => :'passport_country', + :'job_title' => :'job_title', + :'ownership_percentage' => :'ownership_percentage', + :'nationality' => :'nationality', + :'due_diligence_required' => :'due_diligence_required', + :'phone_number_country_code' => :'phone_number_country_code', + :'phone_number' => :'phone_number', + :'email' => :'email', + :'address' => :'address' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'first_name' => :'String', + :'middle_name' => :'String', + :'last_name' => :'String', + :'birth_date' => :'Date', + :'is_primary' => :'BOOLEAN', + :'has_significant_responsibility' => :'BOOLEAN', + :'owner_director' => :'BOOLEAN', + :'national_id' => :'String', + :'id_country' => :'String', + :'passport_number' => :'String', + :'passport_country' => :'String', + :'job_title' => :'String', + :'ownership_percentage' => :'Float', + :'nationality' => :'String', + :'due_diligence_required' => :'BOOLEAN', + :'phone_number_country_code' => :'String', + :'phone_number' => :'String', + :'email' => :'String', + :'address' => :'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'firstName') + self.first_name = attributes[:'firstName'] + end + + if attributes.has_key?(:'middleName') + self.middle_name = attributes[:'middleName'] + end + + if attributes.has_key?(:'lastName') + self.last_name = attributes[:'lastName'] + end + + if attributes.has_key?(:'birthDate') + self.birth_date = attributes[:'birthDate'] + end + + if attributes.has_key?(:'isPrimary') + self.is_primary = attributes[:'isPrimary'] + end + + if attributes.has_key?(:'hasSignificantResponsibility') + self.has_significant_responsibility = attributes[:'hasSignificantResponsibility'] + end + + if attributes.has_key?(:'ownerDirector') + self.owner_director = attributes[:'ownerDirector'] + end + + if attributes.has_key?(:'nationalId') + self.national_id = attributes[:'nationalId'] + end + + if attributes.has_key?(:'idCountry') + self.id_country = attributes[:'idCountry'] + end + + if attributes.has_key?(:'passportNumber') + self.passport_number = attributes[:'passportNumber'] + end + + if attributes.has_key?(:'passportCountry') + self.passport_country = attributes[:'passportCountry'] + end + + if attributes.has_key?(:'jobTitle') + self.job_title = attributes[:'jobTitle'] + end + + if attributes.has_key?(:'ownershipPercentage') + self.ownership_percentage = attributes[:'ownershipPercentage'] + end + + if attributes.has_key?(:'nationality') + self.nationality = attributes[:'nationality'] + end + + if attributes.has_key?(:'dueDiligenceRequired') + self.due_diligence_required = attributes[:'dueDiligenceRequired'] + end + + if attributes.has_key?(:'phoneNumberCountryCode') + self.phone_number_country_code = attributes[:'phoneNumberCountryCode'] + end + + if attributes.has_key?(:'phoneNumber') + self.phone_number = attributes[:'phoneNumber'] + end + + if attributes.has_key?(:'email') + self.email = attributes[:'email'] + end + + if attributes.has_key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @first_name.nil? + invalid_properties.push('invalid value for "first_name", first_name cannot be nil.') + end + + if @last_name.nil? + invalid_properties.push('invalid value for "last_name", last_name cannot be nil.') + end + + if @birth_date.nil? + invalid_properties.push('invalid value for "birth_date", birth_date cannot be nil.') + end + + if @is_primary.nil? + invalid_properties.push('invalid value for "is_primary", is_primary cannot be nil.') + end + + if @has_significant_responsibility.nil? + invalid_properties.push('invalid value for "has_significant_responsibility", has_significant_responsibility cannot be nil.') + end + + if @national_id.nil? + invalid_properties.push('invalid value for "national_id", national_id cannot be nil.') + end + + #if !@id_country.nil? && @id_country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "id_country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@passport_country.nil? && @passport_country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "passport_country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@job_title.nil? && @job_title !~ Regexp.new(/^[À-ÖØ-öø-ǿa-zA-Z0-9().\\-_#,;\/@$:!% ]{1,}$/) + #invalid_properties.push('invalid value for "job_title", must conform to the pattern /^[À-ÖØ-öø-ǿa-zA-Z0-9().\\-_#,;\/@$:!% ]{1,}$/.') + #end + + if @ownership_percentage.nil? + invalid_properties.push('invalid value for "ownership_percentage", ownership_percentage cannot be nil.') + end + + if @nationality.nil? + invalid_properties.push('invalid value for "nationality", nationality cannot be nil.') + end + + #if @nationality !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "nationality", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @due_diligence_required.nil? + invalid_properties.push('invalid value for "due_diligence_required", due_diligence_required cannot be nil.') + end + + if @phone_number_country_code.nil? + invalid_properties.push('invalid value for "phone_number_country_code", phone_number_country_code cannot be nil.') + end + + #if @phone_number_country_code !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "phone_number_country_code", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + if @phone_number.nil? + invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.') + end + + #if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #invalid_properties.push('invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.') + #end + + if @email.nil? + invalid_properties.push('invalid value for "email", email cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @first_name.nil? + return false if @last_name.nil? + return false if @birth_date.nil? + return false if @is_primary.nil? + return false if @has_significant_responsibility.nil? + return false if @national_id.nil? + #return false if !@id_country.nil? && @id_country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@passport_country.nil? && @passport_country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@job_title.nil? && @job_title !~ Regexp.new(/^[À-ÖØ-öø-ǿa-zA-Z0-9().\\-_#,;\/@$:!% ]{1,}$/) + return false if @ownership_percentage.nil? + return false if @nationality.nil? + #return false if @nationality !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @due_diligence_required.nil? + return false if @phone_number_country_code.nil? + #return false if @phone_number_country_code !~ Regexp.new(/^[a-zA-Z]*$/) + return false if @phone_number.nil? + #return false if @phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + return false if @email.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] first_name Value to be assigned + def first_name=(first_name) + #if first_name.nil? + #fail ArgumentError, 'first_name cannot be nil' + #end + + @first_name = first_name + end + + # Custom attribute writer method with validation + # @param [Object] middle_name Value to be assigned + def middle_name=(middle_name) + @middle_name = middle_name + end + + # Custom attribute writer method with validation + # @param [Object] last_name Value to be assigned + def last_name=(last_name) + #if last_name.nil? + #fail ArgumentError, 'last_name cannot be nil' + #end + + @last_name = last_name + end + + # Custom attribute writer method with validation + # @param [Object] national_id Value to be assigned + def national_id=(national_id) + #if national_id.nil? + #fail ArgumentError, 'national_id cannot be nil' + #end + + @national_id = national_id + end + + # Custom attribute writer method with validation + # @param [Object] id_country Value to be assigned + def id_country=(id_country) + #if !id_country.nil? && id_country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "id_country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @id_country = id_country + end + + # Custom attribute writer method with validation + # @param [Object] passport_number Value to be assigned + def passport_number=(passport_number) + @passport_number = passport_number + end + + # Custom attribute writer method with validation + # @param [Object] passport_country Value to be assigned + def passport_country=(passport_country) + #if !passport_country.nil? && passport_country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "passport_country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @passport_country = passport_country + end + + # Custom attribute writer method with validation + # @param [Object] job_title Value to be assigned + def job_title=(job_title) + #if !job_title.nil? && job_title !~ Regexp.new(/^[À-ÖØ-öø-ǿa-zA-Z0-9().\\-_#,;\/@$:!% ]{1,}$/) + #fail ArgumentError, 'invalid value for "job_title", must conform to the pattern /^[À-ÖØ-öø-ǿa-zA-Z0-9().\\-_#,;\/@$:!% ]{1,}$/.' + #end + + @job_title = job_title + end + + # Custom attribute writer method with validation + # @param [Object] ownership_percentage Value to be assigned + def ownership_percentage=(ownership_percentage) + #if ownership_percentage.nil? + #fail ArgumentError, 'ownership_percentage cannot be nil' + #end + + @ownership_percentage = ownership_percentage + end + + # Custom attribute writer method with validation + # @param [Object] nationality Value to be assigned + def nationality=(nationality) + #if nationality.nil? + #fail ArgumentError, 'nationality cannot be nil' + #end + + #if nationality !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "nationality", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @nationality = nationality + end + + # Custom attribute writer method with validation + # @param [Object] phone_number_country_code Value to be assigned + def phone_number_country_code=(phone_number_country_code) + #if phone_number_country_code.nil? + #fail ArgumentError, 'phone_number_country_code cannot be nil' + #end + + #if phone_number_country_code !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "phone_number_country_code", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @phone_number_country_code = phone_number_country_code + end + + # Custom attribute writer method with validation + # @param [Object] phone_number Value to be assigned + def phone_number=(phone_number) + #if phone_number.nil? + #fail ArgumentError, 'phone_number cannot be nil' + #end + + #if phone_number !~ Regexp.new(/^[0-9a-zA-Z\\\\+\\\\-]+$/) + #fail ArgumentError, 'invalid value for "phone_number", must conform to the pattern /^[0-9a-zA-Z\\\\+\\\\-]+$/.' + #end + + @phone_number = phone_number + end + + # Custom attribute writer method with validation + # @param [Object] email Value to be assigned + def email=(email) + #if email.nil? + #fail ArgumentError, 'email cannot be nil' + #end + + @email = email + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_name == o.first_name && + middle_name == o.middle_name && + last_name == o.last_name && + birth_date == o.birth_date && + is_primary == o.is_primary && + has_significant_responsibility == o.has_significant_responsibility && + owner_director == o.owner_director && + national_id == o.national_id && + id_country == o.id_country && + passport_number == o.passport_number && + passport_country == o.passport_country && + job_title == o.job_title && + ownership_percentage == o.ownership_percentage && + nationality == o.nationality && + due_diligence_required == o.due_diligence_required && + phone_number_country_code == o.phone_number_country_code && + phone_number == o.phone_number && + email == o.email && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [first_name, middle_name, last_name, birth_date, is_primary, has_significant_responsibility, owner_director, national_id, id_country, passport_number, passport_country, job_title, ownership_percentage, nationality, due_diligence_required, phone_number_country_code, phone_number, email, address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address.rb b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address.rb new file mode 100644 index 00000000..3a865f2b --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address.rb @@ -0,0 +1,352 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress + # Country where the business is located. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :country + + # Business street address + attr_accessor :address1 + + # Business street address continued + attr_accessor :address2 + + # Building Name + attr_accessor :building_name + + # City of the billing address + attr_accessor :locality + + # Business state (US) or province (Canada, others). Required for US and Canada. + attr_accessor :administrative_area + + # Business zip code (US) or postal code (Canada). The postal code must consist of 5 to 9 digits. Required for United States and Canada. + attr_accessor :postal_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'buildingName', + :'locality' => :'locality', + :'administrative_area' => :'administrativeArea', + :'postal_code' => :'postalCode' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'country' => :'country', + :'address1' => :'address1', + :'address2' => :'address2', + :'building_name' => :'building_name', + :'locality' => :'locality', + :'administrative_area' => :'administrative_area', + :'postal_code' => :'postal_code' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'country' => :'String', + :'address1' => :'String', + :'address2' => :'String', + :'building_name' => :'String', + :'locality' => :'String', + :'administrative_area' => :'String', + :'postal_code' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'country') + self.country = attributes[:'country'] + end + + if attributes.has_key?(:'address1') + self.address1 = attributes[:'address1'] + end + + if attributes.has_key?(:'address2') + self.address2 = attributes[:'address2'] + end + + if attributes.has_key?(:'buildingName') + self.building_name = attributes[:'buildingName'] + end + + if attributes.has_key?(:'locality') + self.locality = attributes[:'locality'] + end + + if attributes.has_key?(:'administrativeArea') + self.administrative_area = attributes[:'administrativeArea'] + end + + if attributes.has_key?(:'postalCode') + self.postal_code = attributes[:'postalCode'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + #if !@country.nil? && @country !~ Regexp.new(/^[a-zA-Z]*$/) + #invalid_properties.push('invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.') + #end + + #if !@address1.nil? && @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.') + #end + + #if !@locality.nil? && @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + #if !@administrative_area.nil? && @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #invalid_properties.push('invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.') + #end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + #return false if !@country.nil? && @country !~ Regexp.new(/^[a-zA-Z]*$/) + #return false if !@address1.nil? && @address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@address2.nil? && @address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@building_name.nil? && @building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #return false if !@locality.nil? && @locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #return false if !@administrative_area.nil? && @administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + true + end + + # Custom attribute writer method with validation + # @param [Object] country Value to be assigned + def country=(country) + #if !country.nil? && country !~ Regexp.new(/^[a-zA-Z]*$/) + #fail ArgumentError, 'invalid value for "country", must conform to the pattern /^[a-zA-Z]*$/.' + #end + + @country = country + end + + # Custom attribute writer method with validation + # @param [Object] address1 Value to be assigned + def address1=(address1) + #if !address1.nil? && address1 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address1", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address1 = address1 + end + + # Custom attribute writer method with validation + # @param [Object] address2 Value to be assigned + def address2=(address2) + #if !address2.nil? && address2 !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "address2", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @address2 = address2 + end + + # Custom attribute writer method with validation + # @param [Object] building_name Value to be assigned + def building_name=(building_name) + #if !building_name.nil? && building_name !~ Regexp.new(/^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "building_name", must conform to the pattern /^[0-9a-zA-Z _\\-\\#\\u00A1-\\uFFFF]+$/.' + #end + + @building_name = building_name + end + + # Custom attribute writer method with validation + # @param [Object] locality Value to be assigned + def locality=(locality) + #if !locality.nil? && locality !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "locality", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @locality = locality + end + + # Custom attribute writer method with validation + # @param [Object] administrative_area Value to be assigned + def administrative_area=(administrative_area) + #if !administrative_area.nil? && administrative_area !~ Regexp.new(/^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/) + #fail ArgumentError, 'invalid value for "administrative_area", must conform to the pattern /^[0-9a-zA-Z _\\-\\u00A1-\\uFFFF]+$/.' + #end + + @administrative_area = administrative_area + end + + # Custom attribute writer method with validation + # @param [Object] postal_code Value to be assigned + def postal_code=(postal_code) + @postal_code = postal_code + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + country == o.country && + address1 == o.address1 && + address2 == o.address2 && + building_name == o.building_name && + locality == o.locality && + administrative_area == o.administrative_area && + postal_code == o.postal_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [country, address1, address2, building_name, locality, administrative_area, postal_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/underwriting_configuration_sale_representative_information.rb b/lib/cybersource_rest_client/models/underwriting_configuration_sale_representative_information.rb new file mode 100644 index 00000000..b99bb190 --- /dev/null +++ b/lib/cybersource_rest_client/models/underwriting_configuration_sale_representative_information.rb @@ -0,0 +1,335 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class UnderwritingConfigurationSaleRepresentativeInformation + # Sales rep Identifier + attr_accessor :sales_rep_id + + # Sales rep First Name + attr_accessor :sales_rep_first_name + + # Sales Rep Last Name + attr_accessor :sales_rep_last_name + + # Sales Rep eMail + attr_accessor :sales_rep_email + + # Sales Rep Phone Number Country. Two character country code, ISO 3166-1 alpha-2. + attr_accessor :sales_rep_numeric_phone_number_country_code + + # Sales Rep Phone + attr_accessor :sales_rep_phone_number + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'sales_rep_id' => :'salesRepId', + :'sales_rep_first_name' => :'salesRepFirstName', + :'sales_rep_last_name' => :'salesRepLastName', + :'sales_rep_email' => :'salesRepEmail', + :'sales_rep_numeric_phone_number_country_code' => :'salesRepNumericPhoneNumberCountryCode', + :'sales_rep_phone_number' => :'salesRepPhoneNumber' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'sales_rep_id' => :'sales_rep_id', + :'sales_rep_first_name' => :'sales_rep_first_name', + :'sales_rep_last_name' => :'sales_rep_last_name', + :'sales_rep_email' => :'sales_rep_email', + :'sales_rep_numeric_phone_number_country_code' => :'sales_rep_numeric_phone_number_country_code', + :'sales_rep_phone_number' => :'sales_rep_phone_number' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'sales_rep_id' => :'String', + :'sales_rep_first_name' => :'String', + :'sales_rep_last_name' => :'String', + :'sales_rep_email' => :'String', + :'sales_rep_numeric_phone_number_country_code' => :'String', + :'sales_rep_phone_number' => :'String' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'salesRepId') + self.sales_rep_id = attributes[:'salesRepId'] + end + + if attributes.has_key?(:'salesRepFirstName') + self.sales_rep_first_name = attributes[:'salesRepFirstName'] + end + + if attributes.has_key?(:'salesRepLastName') + self.sales_rep_last_name = attributes[:'salesRepLastName'] + end + + if attributes.has_key?(:'salesRepEmail') + self.sales_rep_email = attributes[:'salesRepEmail'] + end + + if attributes.has_key?(:'salesRepNumericPhoneNumberCountryCode') + self.sales_rep_numeric_phone_number_country_code = attributes[:'salesRepNumericPhoneNumberCountryCode'] + end + + if attributes.has_key?(:'salesRepPhoneNumber') + self.sales_rep_phone_number = attributes[:'salesRepPhoneNumber'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @sales_rep_id.nil? + invalid_properties.push('invalid value for "sales_rep_id", sales_rep_id cannot be nil.') + end + + if @sales_rep_first_name.nil? + invalid_properties.push('invalid value for "sales_rep_first_name", sales_rep_first_name cannot be nil.') + end + + if @sales_rep_last_name.nil? + invalid_properties.push('invalid value for "sales_rep_last_name", sales_rep_last_name cannot be nil.') + end + + if @sales_rep_email.nil? + invalid_properties.push('invalid value for "sales_rep_email", sales_rep_email cannot be nil.') + end + + if @sales_rep_numeric_phone_number_country_code.nil? + invalid_properties.push('invalid value for "sales_rep_numeric_phone_number_country_code", sales_rep_numeric_phone_number_country_code cannot be nil.') + end + + if @sales_rep_phone_number.nil? + invalid_properties.push('invalid value for "sales_rep_phone_number", sales_rep_phone_number cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @sales_rep_id.nil? + return false if @sales_rep_first_name.nil? + return false if @sales_rep_last_name.nil? + return false if @sales_rep_email.nil? + return false if @sales_rep_numeric_phone_number_country_code.nil? + return false if @sales_rep_phone_number.nil? + true + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_id Value to be assigned + def sales_rep_id=(sales_rep_id) + #if sales_rep_id.nil? + #fail ArgumentError, 'sales_rep_id cannot be nil' + #end + + @sales_rep_id = sales_rep_id + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_first_name Value to be assigned + def sales_rep_first_name=(sales_rep_first_name) + #if sales_rep_first_name.nil? + #fail ArgumentError, 'sales_rep_first_name cannot be nil' + #end + + @sales_rep_first_name = sales_rep_first_name + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_last_name Value to be assigned + def sales_rep_last_name=(sales_rep_last_name) + #if sales_rep_last_name.nil? + #fail ArgumentError, 'sales_rep_last_name cannot be nil' + #end + + @sales_rep_last_name = sales_rep_last_name + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_email Value to be assigned + def sales_rep_email=(sales_rep_email) + #if sales_rep_email.nil? + #fail ArgumentError, 'sales_rep_email cannot be nil' + #end + + @sales_rep_email = sales_rep_email + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_numeric_phone_number_country_code Value to be assigned + def sales_rep_numeric_phone_number_country_code=(sales_rep_numeric_phone_number_country_code) + #if sales_rep_numeric_phone_number_country_code.nil? + #fail ArgumentError, 'sales_rep_numeric_phone_number_country_code cannot be nil' + #end + + @sales_rep_numeric_phone_number_country_code = sales_rep_numeric_phone_number_country_code + end + + # Custom attribute writer method with validation + # @param [Object] sales_rep_phone_number Value to be assigned + def sales_rep_phone_number=(sales_rep_phone_number) + #if sales_rep_phone_number.nil? + #fail ArgumentError, 'sales_rep_phone_number cannot be nil' + #end + + @sales_rep_phone_number = sales_rep_phone_number + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + sales_rep_id == o.sales_rep_id && + sales_rep_first_name == o.sales_rep_first_name && + sales_rep_last_name == o.sales_rep_last_name && + sales_rep_email == o.sales_rep_email && + sales_rep_numeric_phone_number_country_code == o.sales_rep_numeric_phone_number_country_code && + sales_rep_phone_number == o.sales_rep_phone_number + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [sales_rep_id, sales_rep_first_name, sales_rep_last_name, sales_rep_email, sales_rep_numeric_phone_number_country_code, sales_rep_phone_number].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/cybersource_rest_client/models/update_invoice_request.rb b/lib/cybersource_rest_client/models/update_invoice_request.rb index 443a2e19..f1829233 100644 --- a/lib/cybersource_rest_client/models/update_invoice_request.rb +++ b/lib/cybersource_rest_client/models/update_invoice_request.rb @@ -21,13 +21,16 @@ class UpdateInvoiceRequest attr_accessor :order_information + attr_accessor :merchant_defined_field_values + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'customer_information' => :'customerInformation', :'processing_information' => :'processingInformation', :'invoice_information' => :'invoiceInformation', - :'order_information' => :'orderInformation' + :'order_information' => :'orderInformation', + :'merchant_defined_field_values' => :'merchantDefinedFieldValues' } end @@ -37,7 +40,8 @@ def self.json_map :'customer_information' => :'customer_information', :'processing_information' => :'processing_information', :'invoice_information' => :'invoice_information', - :'order_information' => :'order_information' + :'order_information' => :'order_information', + :'merchant_defined_field_values' => :'merchant_defined_field_values' } end @@ -47,7 +51,8 @@ def self.swagger_types :'customer_information' => :'Invoicingv2invoicesCustomerInformation', :'processing_information' => :'Invoicingv2invoicesProcessingInformation', :'invoice_information' => :'Invoicingv2invoicesidInvoiceInformation', - :'order_information' => :'Invoicingv2invoicesOrderInformation' + :'order_information' => :'Invoicingv2invoicesOrderInformation', + :'merchant_defined_field_values' => :'Array' } end @@ -74,6 +79,12 @@ def initialize(attributes = {}) if attributes.has_key?(:'orderInformation') self.order_information = attributes[:'orderInformation'] end + + if attributes.has_key?(:'merchantDefinedFieldValues') + if (value = attributes[:'merchantDefinedFieldValues']).is_a?(Array) + self.merchant_defined_field_values = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -107,7 +118,8 @@ def ==(o) customer_information == o.customer_information && processing_information == o.processing_information && invoice_information == o.invoice_information && - order_information == o.order_information + order_information == o.order_information && + merchant_defined_field_values == o.merchant_defined_field_values end # @see the `==` method @@ -119,7 +131,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash - [customer_information, processing_information, invoice_information, order_information].hash + [customer_information, processing_information, invoice_information, order_information, merchant_defined_field_values].hash end # Builds the object from hash diff --git a/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb b/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb index e5793aa6..56462e54 100644 --- a/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb +++ b/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate.rb @@ -40,7 +40,6 @@ class Upv1capturecontextsCaptureMandate # Configure Unified Checkout to display combo card at checkout.
A combo debit/credit card is a single card that functions both as a Debit/Credit card. Unified Checkout / Click to Pay Drop-in UI allows the Cardholder to choose whether they would like the transaction to be paid for using either debit or credit card. **Important:** This is applicable to Visa cards only. Possible values: - True - False

**Use Cases:** **Offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to true. - When set to true, Combo Card selection is shown at checkout

**Do not offer Combo Card at Checkout:** - Include the captureMandate.comboCard field in the capture context request and set it to false OR omit the field from the capture context request. - The Combo Card selection is not shown at checkout. attr_accessor :combo_card - # Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas Físicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False

This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.

**Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered. attr_accessor :cpf # Attribute mapping from ruby-style variable name to JSON key. @@ -87,7 +86,7 @@ def self.swagger_types :'show_confirmation_step' => :'BOOLEAN', :'request_save_card' => :'BOOLEAN', :'combo_card' => :'BOOLEAN', - :'cpf' => :'BOOLEAN' + :'cpf' => :'Upv1capturecontextsCaptureMandateCPF' } end diff --git a/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate_cpf.rb b/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate_cpf.rb new file mode 100644 index 00000000..030033b1 --- /dev/null +++ b/lib/cybersource_rest_client/models/upv1capturecontexts_capture_mandate_cpf.rb @@ -0,0 +1,190 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'date' + +module CyberSource + class Upv1capturecontextsCaptureMandateCPF + # Configure Unified Checkout to display and capture the CPF number (Cadastro de Pessoas Físicas). The CPF number is a unique 11-digit identifier issued to Brazilian citizens and residents for tax purposes. Possible values: - True - False

This field is optional. If set to true the field is required. If set to false the field is optional. If the field is not included in the capture context then it is not captured.

**Important:** - If PANENTRY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout regardless of what card number is entered. - If CLICKTOPAY is specified in the allowedPaymentTypes field, the CPF number will be displayed in Unified Checkout only when a Visa Click To Pay card is entered. + attr_accessor :required + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'required' => :'required' + } + end + + # Attribute mapping from JSON key to ruby-style variable name. + def self.json_map + { + :'required' => :'required' + } + end + + # Attribute type mapping. + def self.swagger_types + { + :'required' => :'BOOLEAN' + } + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + return unless attributes.is_a?(Hash) + + # convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } + + if attributes.has_key?(:'required') + self.required = attributes[:'required'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + required == o.required + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Fixnum] Hash code + def hash + [required].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + self.class.swagger_types.each_pair do |key, type| + if type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end # or else data not found in attributes(hash), not an issue as the data can be optional + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :DateTime + DateTime.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :BOOLEAN + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + temp_model = CyberSource.const_get(type).new + temp_model.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + next if value.nil? + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/spec/api/bank_account_validation_api_spec.rb b/spec/api/bank_account_validation_api_spec.rb new file mode 100644 index 00000000..7b8f4d19 --- /dev/null +++ b/spec/api/bank_account_validation_api_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' + +# Unit tests for CyberSource::BankAccountValidationApi +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'BankAccountValidationApi' do + before do + # run before each test + @instance = CyberSource::BankAccountValidationApi.new + end + + after do + # run after each test + end + + describe 'test an instance of BankAccountValidationApi' do + it 'should create an instance of BankAccountValidationApi' do + expect(@instance).to be_instance_of(CyberSource::BankAccountValidationApi) + end + end + + # unit tests for bank_account_validation_request + # Visa Bank Account Validation Service + # The Visa Bank Account Validation Service is a new standalone product designed to validate customer's routing and bank account number combination for ACH transactions. Merchant's can use this standalone product to validate their customer's account prior to processing an ACH transaction against the customer's account to comply with Nacha's account validation mandate for Web-debit transactions. + # @param account_validations_request + # @param [Hash] opts the optional parameters + # @return [InlineResponse20013] + describe 'bank_account_validation_request test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/api/batches_api_spec.rb b/spec/api/batches_api_spec.rb index 78be3c3d..b7209d4f 100644 --- a/spec/api/batches_api_spec.rb +++ b/spec/api/batches_api_spec.rb @@ -36,7 +36,7 @@ # **Get Batch Report**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) - Source record information including token ids, masked card number, expiration dates & card type. - Response record information including response code, reason, token ids, masked card number, expiration dates & card type. # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [InlineResponse20011] + # @return [InlineResponse20012] describe 'get_batch_report test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers @@ -48,7 +48,7 @@ # **Get Batch Status**<br>This resource accepts a batch id and returns: - The batch status. - The total number of accepted, rejected, updated records. - The total number of card association responses. - The billable quantities of: - New Account Numbers (NAN) - New Expiry Dates (NED) - Account Closures (ACL) - Contact Card Holders (CCH) # @param batch_id Unique identification number assigned to the submitted request. # @param [Hash] opts the optional parameters - # @return [InlineResponse20010] + # @return [InlineResponse20011] describe 'get_batch_status test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers @@ -63,7 +63,7 @@ # @option opts [Integer] :limit The maximum number that can be returned in the array starting from the offset record in zero-based dataset. # @option opts [String] :from_date ISO-8601 format: yyyyMMddTHHmmssZ # @option opts [String] :to_date ISO-8601 format: yyyyMMddTHHmmssZ - # @return [InlineResponse2009] + # @return [InlineResponse20010] describe 'get_batches_list test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/create_new_webhooks_api_spec.rb b/spec/api/create_new_webhooks_api_spec.rb index 3293f73c..cd9ed0a1 100644 --- a/spec/api/create_new_webhooks_api_spec.rb +++ b/spec/api/create_new_webhooks_api_spec.rb @@ -36,7 +36,7 @@ # Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks. # @param organization_id The Organization Identifier. # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Array] describe 'find_products_to_subscribe test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/device_de_association_api_spec.rb b/spec/api/device_de_association_api_spec.rb index 0ca9c0af..20b668ec 100644 --- a/spec/api/device_de_association_api_spec.rb +++ b/spec/api/device_de_association_api_spec.rb @@ -48,7 +48,7 @@ # A device will be de-associated from its current organization and moved up in the hierarchy. The device's new position will be determined by a specified destination, either an account or a portfolio. If no destination is provided, the device will default to the currently logged-in user. # @param device_de_associate_v3_request deviceId that has to be de-associated to the destination organizationId. # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Array] describe 'post_de_associate_v3_terminal test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/device_search_api_spec.rb b/spec/api/device_search_api_spec.rb index 019ef72c..ebf43a7d 100644 --- a/spec/api/device_search_api_spec.rb +++ b/spec/api/device_search_api_spec.rb @@ -36,7 +36,7 @@ # Retrieves list of terminals in paginated format. # @param post_device_search_request # @param [Hash] opts the optional parameters - # @return [InlineResponse2006] + # @return [InlineResponse2007] describe 'post_search_query test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers @@ -48,7 +48,7 @@ # Search for devices matching a given search query. The search query supports serialNumber, readerId, terminalId, status, statusChangeReason or organizationId Matching results are paginated. # @param post_device_search_request_v3 # @param [Hash] opts the optional parameters - # @return [InlineResponse2008] + # @return [InlineResponse2009] describe 'post_search_query_v3 test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/manage_webhooks_api_spec.rb b/spec/api/manage_webhooks_api_spec.rb index d2f634a6..a1c350c6 100644 --- a/spec/api/manage_webhooks_api_spec.rb +++ b/spec/api/manage_webhooks_api_spec.rb @@ -62,7 +62,7 @@ # @param [Hash] opts the optional parameters # @option opts [String] :product_id The Product Identifier. # @option opts [String] :event_type The Event Type. - # @return [Array] + # @return [Array] describe 'get_webhook_subscriptions_by_org test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers @@ -87,7 +87,7 @@ # @param webhook_id The Webhook Identifier. # @param [Hash] opts the optional parameters # @option opts [UpdateWebhook] :update_webhook The webhook payload or changes to apply. - # @return [InlineResponse2005] + # @return [InlineResponse2006] describe 'notification_subscriptions_v2_webhooks_webhook_id_patch test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/merchant_boarding_api_spec.rb b/spec/api/merchant_boarding_api_spec.rb index 8139891f..4c653e10 100644 --- a/spec/api/merchant_boarding_api_spec.rb +++ b/spec/api/merchant_boarding_api_spec.rb @@ -36,7 +36,7 @@ # This end point will get all information of a boarding registration # @param registration_id Identifies the boarding registration to be updated # @param [Hash] opts the optional parameters - # @return [InlineResponse2002] + # @return [InlineResponse2003] describe 'get_registration test' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/api/merchant_defined_fields_api_spec.rb b/spec/api/merchant_defined_fields_api_spec.rb new file mode 100644 index 00000000..72b32dca --- /dev/null +++ b/spec/api/merchant_defined_fields_api_spec.rb @@ -0,0 +1,82 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' + +# Unit tests for CyberSource::MerchantDefinedFieldsApi +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'MerchantDefinedFieldsApi' do + before do + # run before each test + @instance = CyberSource::MerchantDefinedFieldsApi.new + end + + after do + # run after each test + end + + describe 'test an instance of MerchantDefinedFieldsApi' do + it 'should create an instance of MerchantDefinedFieldsApi' do + expect(@instance).to be_instance_of(CyberSource::MerchantDefinedFieldsApi) + end + end + + # unit tests for create_merchant_defined_field_definition + # Create merchant defined field for a given reference type + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param merchant_defined_field_definition_request + # @param [Hash] opts the optional parameters + # @return [Array] + describe 'create_merchant_defined_field_definition test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + # unit tests for get_merchant_defined_fields_definitions + # Get all merchant defined fields for a given reference type + # @param reference_type The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation + # @param [Hash] opts the optional parameters + # @return [Array] + describe 'get_merchant_defined_fields_definitions test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + # unit tests for invoicing_v2_reference_type_merchant_defined_fields_id_delete + # Delete a MerchantDefinedField by ID + # @param reference_type + # @param id + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'invoicing_v2_reference_type_merchant_defined_fields_id_delete test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + # unit tests for invoicing_v2_reference_type_merchant_defined_fields_id_put + # Update a MerchantDefinedField by ID + # @param reference_type + # @param id + # @param merchant_defined_field_core + # @param [Hash] opts the optional parameters + # @return [Array] + describe 'invoicing_v2_reference_type_merchant_defined_fields_id_put test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/api/tokenized_card_api_spec.rb b/spec/api/tokenized_card_api_spec.rb index 9ecb461e..a2f844c3 100644 --- a/spec/api/tokenized_card_api_spec.rb +++ b/spec/api/tokenized_card_api_spec.rb @@ -57,6 +57,20 @@ end end + # unit tests for post_issuer_life_cycle_simulation + # Simulate Issuer Life Cycle Management Events + # **Lifecycle Management Events**<br>Simulates an issuer life cycle manegement event for updates on the tokenized card. The events that can be simulated are: - Token status changes (e.g. active, suspended, deleted) - Updates to the underlying card, including card art changes, expiration date changes, and card number suffix. **Note:** This is only available in CAS environment. + # @param profile_id The Id of a profile containing user specific TMS configuration. + # @param tokenized_card_id The Id of a tokenized card. + # @param post_issuer_life_cycle_simulation_request + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'post_issuer_life_cycle_simulation test' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + # unit tests for post_tokenized_card # Create a Tokenized Card # | | | | | --- | --- | --- | |**Tokenized cards**<br>A Tokenized card represents a network token. Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires. diff --git a/spec/models/account_validations_request_spec.rb b/spec/models/account_validations_request_spec.rb new file mode 100644 index 00000000..af74e979 --- /dev/null +++ b/spec/models/account_validations_request_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::AccountValidationsRequest +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'AccountValidationsRequest' do + before do + # run before each test + @instance = CyberSource::AccountValidationsRequest.new + end + + after do + # run after each test + end + + describe 'test an instance of AccountValidationsRequest' do + it 'should create an instance of AccountValidationsRequest' do + expect(@instance).to be_instance_of(CyberSource::AccountValidationsRequest) + end + end + describe 'test attribute "client_reference_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "processing_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "payment_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/bavsv1accountvalidations_client_reference_information_spec.rb b/spec/models/bavsv1accountvalidations_client_reference_information_spec.rb new file mode 100644 index 00000000..8d062a4d --- /dev/null +++ b/spec/models/bavsv1accountvalidations_client_reference_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Bavsv1accountvalidationsClientReferenceInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Bavsv1accountvalidationsClientReferenceInformation' do + before do + # run before each test + @instance = CyberSource::Bavsv1accountvalidationsClientReferenceInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of Bavsv1accountvalidationsClientReferenceInformation' do + it 'should create an instance of Bavsv1accountvalidationsClientReferenceInformation' do + expect(@instance).to be_instance_of(CyberSource::Bavsv1accountvalidationsClientReferenceInformation) + end + end + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/bavsv1accountvalidations_payment_information_bank_account_spec.rb b/spec/models/bavsv1accountvalidations_payment_information_bank_account_spec.rb new file mode 100644 index 00000000..db33a106 --- /dev/null +++ b/spec/models/bavsv1accountvalidations_payment_information_bank_account_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Bavsv1accountvalidationsPaymentInformationBankAccount +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Bavsv1accountvalidationsPaymentInformationBankAccount' do + before do + # run before each test + @instance = CyberSource::Bavsv1accountvalidationsPaymentInformationBankAccount.new + end + + after do + # run after each test + end + + describe 'test an instance of Bavsv1accountvalidationsPaymentInformationBankAccount' do + it 'should create an instance of Bavsv1accountvalidationsPaymentInformationBankAccount' do + expect(@instance).to be_instance_of(CyberSource::Bavsv1accountvalidationsPaymentInformationBankAccount) + end + end + describe 'test attribute "number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/bavsv1accountvalidations_payment_information_bank_spec.rb b/spec/models/bavsv1accountvalidations_payment_information_bank_spec.rb new file mode 100644 index 00000000..5581a0d9 --- /dev/null +++ b/spec/models/bavsv1accountvalidations_payment_information_bank_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Bavsv1accountvalidationsPaymentInformationBank +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Bavsv1accountvalidationsPaymentInformationBank' do + before do + # run before each test + @instance = CyberSource::Bavsv1accountvalidationsPaymentInformationBank.new + end + + after do + # run after each test + end + + describe 'test an instance of Bavsv1accountvalidationsPaymentInformationBank' do + it 'should create an instance of Bavsv1accountvalidationsPaymentInformationBank' do + expect(@instance).to be_instance_of(CyberSource::Bavsv1accountvalidationsPaymentInformationBank) + end + end + describe 'test attribute "routing_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/bavsv1accountvalidations_payment_information_spec.rb b/spec/models/bavsv1accountvalidations_payment_information_spec.rb new file mode 100644 index 00000000..88b39ca8 --- /dev/null +++ b/spec/models/bavsv1accountvalidations_payment_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Bavsv1accountvalidationsPaymentInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Bavsv1accountvalidationsPaymentInformation' do + before do + # run before each test + @instance = CyberSource::Bavsv1accountvalidationsPaymentInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of Bavsv1accountvalidationsPaymentInformation' do + it 'should create an instance of Bavsv1accountvalidationsPaymentInformation' do + expect(@instance).to be_instance_of(CyberSource::Bavsv1accountvalidationsPaymentInformation) + end + end + describe 'test attribute "bank"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/bavsv1accountvalidations_processing_information_spec.rb b/spec/models/bavsv1accountvalidations_processing_information_spec.rb new file mode 100644 index 00000000..11a9c6e2 --- /dev/null +++ b/spec/models/bavsv1accountvalidations_processing_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Bavsv1accountvalidationsProcessingInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Bavsv1accountvalidationsProcessingInformation' do + before do + # run before each test + @instance = CyberSource::Bavsv1accountvalidationsProcessingInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of Bavsv1accountvalidationsProcessingInformation' do + it 'should create an instance of Bavsv1accountvalidationsProcessingInformation' do + expect(@instance).to be_instance_of(CyberSource::Bavsv1accountvalidationsProcessingInformation) + end + end + describe 'test attribute "validation_level"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/capture_payment_request_spec.rb b/spec/models/capture_payment_request_spec.rb index 9afbdbdb..5cd376a2 100644 --- a/spec/models/capture_payment_request_spec.rb +++ b/spec/models/capture_payment_request_spec.rb @@ -115,4 +115,10 @@ end end + describe 'test attribute "processor_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/card_processing_config_common_acquirers_spec.rb b/spec/models/card_processing_config_common_acquirers_spec.rb new file mode 100644 index 00000000..49a0052a --- /dev/null +++ b/spec/models/card_processing_config_common_acquirers_spec.rb @@ -0,0 +1,106 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::CardProcessingConfigCommonAcquirers +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'CardProcessingConfigCommonAcquirers' do + before do + # run before each test + @instance = CyberSource::CardProcessingConfigCommonAcquirers.new + end + + after do + # run after each test + end + + describe 'test an instance of CardProcessingConfigCommonAcquirers' do + it 'should create an instance of CardProcessingConfigCommonAcquirers' do + expect(@instance).to be_instance_of(CyberSource::CardProcessingConfigCommonAcquirers) + end + end + describe 'test attribute "institution_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "interbank_card_association_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "discover_institution_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "country_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "file_destination_bin"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_verification_value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "terminal_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "allow_multiple_bills"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "enable_transaction_reference_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "payment_types"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "currencies"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/card_processing_config_common_processors_spec.rb b/spec/models/card_processing_config_common_processors_spec.rb index 89835ffa..ac7aa547 100644 --- a/spec/models/card_processing_config_common_processors_spec.rb +++ b/spec/models/card_processing_config_common_processors_spec.rb @@ -61,6 +61,12 @@ end end + describe 'test attribute "acquirers"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "merchant_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/create_credit_request_spec.rb b/spec/models/create_credit_request_spec.rb index 9618f870..50b5c2e5 100644 --- a/spec/models/create_credit_request_spec.rb +++ b/spec/models/create_credit_request_spec.rb @@ -127,4 +127,10 @@ end end + describe 'test attribute "processor_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/create_invoice_request_spec.rb b/spec/models/create_invoice_request_spec.rb index e9686066..14e6b937 100644 --- a/spec/models/create_invoice_request_spec.rb +++ b/spec/models/create_invoice_request_spec.rb @@ -61,4 +61,10 @@ end end + describe 'test attribute "merchant_defined_field_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/inline_response_200_9__embedded__links_reports_spec.rb b/spec/models/inline_response_200_10__embedded__links_reports_spec.rb similarity index 68% rename from spec/models/inline_response_200_9__embedded__links_reports_spec.rb rename to spec/models/inline_response_200_10__embedded__links_reports_spec.rb index 31aa42fa..d4248103 100644 --- a/spec/models/inline_response_200_9__embedded__links_reports_spec.rb +++ b/spec/models/inline_response_200_10__embedded__links_reports_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009EmbeddedLinksReports +# Unit tests for CyberSource::InlineResponse20010EmbeddedLinksReports # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009EmbeddedLinksReports' do +describe 'InlineResponse20010EmbeddedLinksReports' do before do # run before each test - @instance = CyberSource::InlineResponse2009EmbeddedLinksReports.new + @instance = CyberSource::InlineResponse20010EmbeddedLinksReports.new end after do # run after each test end - describe 'test an instance of InlineResponse2009EmbeddedLinksReports' do - it 'should create an instance of InlineResponse2009EmbeddedLinksReports' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009EmbeddedLinksReports) + describe 'test an instance of InlineResponse20010EmbeddedLinksReports' do + it 'should create an instance of InlineResponse20010EmbeddedLinksReports' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20010EmbeddedLinksReports) end end describe 'test attribute "href"' do diff --git a/spec/models/inline_response_200_9__embedded__links_spec.rb b/spec/models/inline_response_200_10__embedded__links_spec.rb similarity index 70% rename from spec/models/inline_response_200_9__embedded__links_spec.rb rename to spec/models/inline_response_200_10__embedded__links_spec.rb index a9e64e33..885bcd80 100644 --- a/spec/models/inline_response_200_9__embedded__links_spec.rb +++ b/spec/models/inline_response_200_10__embedded__links_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009EmbeddedLinks +# Unit tests for CyberSource::InlineResponse20010EmbeddedLinks # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009EmbeddedLinks' do +describe 'InlineResponse20010EmbeddedLinks' do before do # run before each test - @instance = CyberSource::InlineResponse2009EmbeddedLinks.new + @instance = CyberSource::InlineResponse20010EmbeddedLinks.new end after do # run after each test end - describe 'test an instance of InlineResponse2009EmbeddedLinks' do - it 'should create an instance of InlineResponse2009EmbeddedLinks' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009EmbeddedLinks) + describe 'test an instance of InlineResponse20010EmbeddedLinks' do + it 'should create an instance of InlineResponse20010EmbeddedLinks' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20010EmbeddedLinks) end end describe 'test attribute "reports"' do diff --git a/spec/models/inline_response_200_9__embedded_batches_spec.rb b/spec/models/inline_response_200_10__embedded_batches_spec.rb similarity index 87% rename from spec/models/inline_response_200_9__embedded_batches_spec.rb rename to spec/models/inline_response_200_10__embedded_batches_spec.rb index a71bcd25..ec9cf51d 100644 --- a/spec/models/inline_response_200_9__embedded_batches_spec.rb +++ b/spec/models/inline_response_200_10__embedded_batches_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009EmbeddedBatches +# Unit tests for CyberSource::InlineResponse20010EmbeddedBatches # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009EmbeddedBatches' do +describe 'InlineResponse20010EmbeddedBatches' do before do # run before each test - @instance = CyberSource::InlineResponse2009EmbeddedBatches.new + @instance = CyberSource::InlineResponse20010EmbeddedBatches.new end after do # run after each test end - describe 'test an instance of InlineResponse2009EmbeddedBatches' do - it 'should create an instance of InlineResponse2009EmbeddedBatches' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009EmbeddedBatches) + describe 'test an instance of InlineResponse20010EmbeddedBatches' do + it 'should create an instance of InlineResponse20010EmbeddedBatches' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20010EmbeddedBatches) end end describe 'test attribute "_links"' do diff --git a/spec/models/inline_response_200_9__embedded_spec.rb b/spec/models/inline_response_200_10__embedded_spec.rb similarity index 72% rename from spec/models/inline_response_200_9__embedded_spec.rb rename to spec/models/inline_response_200_10__embedded_spec.rb index 96865aad..3dde0c65 100644 --- a/spec/models/inline_response_200_9__embedded_spec.rb +++ b/spec/models/inline_response_200_10__embedded_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009Embedded +# Unit tests for CyberSource::InlineResponse20010Embedded # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009Embedded' do +describe 'InlineResponse20010Embedded' do before do # run before each test - @instance = CyberSource::InlineResponse2009Embedded.new + @instance = CyberSource::InlineResponse20010Embedded.new end after do # run after each test end - describe 'test an instance of InlineResponse2009Embedded' do - it 'should create an instance of InlineResponse2009Embedded' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009Embedded) + describe 'test an instance of InlineResponse20010Embedded' do + it 'should create an instance of InlineResponse20010Embedded' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20010Embedded) end end describe 'test attribute "batches"' do diff --git a/spec/models/inline_response_200_9__embedded_totals_spec.rb b/spec/models/inline_response_200_10__embedded_totals_spec.rb similarity index 82% rename from spec/models/inline_response_200_9__embedded_totals_spec.rb rename to spec/models/inline_response_200_10__embedded_totals_spec.rb index d2cdf63d..06d484b9 100644 --- a/spec/models/inline_response_200_9__embedded_totals_spec.rb +++ b/spec/models/inline_response_200_10__embedded_totals_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009EmbeddedTotals +# Unit tests for CyberSource::InlineResponse20010EmbeddedTotals # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009EmbeddedTotals' do +describe 'InlineResponse20010EmbeddedTotals' do before do # run before each test - @instance = CyberSource::InlineResponse2009EmbeddedTotals.new + @instance = CyberSource::InlineResponse20010EmbeddedTotals.new end after do # run after each test end - describe 'test an instance of InlineResponse2009EmbeddedTotals' do - it 'should create an instance of InlineResponse2009EmbeddedTotals' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009EmbeddedTotals) + describe 'test an instance of InlineResponse20010EmbeddedTotals' do + it 'should create an instance of InlineResponse20010EmbeddedTotals' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20010EmbeddedTotals) end end describe 'test attribute "accepted_records"' do diff --git a/spec/models/inline_response_200_10__links_spec.rb b/spec/models/inline_response_200_10__links_spec.rb index b11a4d12..c50da283 100644 --- a/spec/models/inline_response_200_10__links_spec.rb +++ b/spec/models/inline_response_200_10__links_spec.rb @@ -31,13 +31,13 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse20010Links) end end - describe 'test attribute "_self"' do + describe 'test attribute "rel"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "report"' do + describe 'test attribute "href"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_10_spec.rb b/spec/models/inline_response_200_10_spec.rb index 43233a67..5fc26cd2 100644 --- a/spec/models/inline_response_200_10_spec.rb +++ b/spec/models/inline_response_200_10_spec.rb @@ -37,55 +37,37 @@ end end - describe 'test attribute "batch_id"' do + describe 'test attribute "object"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "batch_created_date"' do + describe 'test attribute "offset"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "batch_source"' do + describe 'test attribute "limit"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "merchant_reference"' do + describe 'test attribute "count"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "batch_ca_endpoints"' do + describe 'test attribute "total"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "status"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "totals"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "billing"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "description"' do + describe 'test attribute "_embedded"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_10__links_report_spec.rb b/spec/models/inline_response_200_11__links_report_spec.rb similarity index 72% rename from spec/models/inline_response_200_10__links_report_spec.rb rename to spec/models/inline_response_200_11__links_report_spec.rb index b9ab99ca..2eebd361 100644 --- a/spec/models/inline_response_200_10__links_report_spec.rb +++ b/spec/models/inline_response_200_11__links_report_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20010LinksReport +# Unit tests for CyberSource::InlineResponse20011LinksReport # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20010LinksReport' do +describe 'InlineResponse20011LinksReport' do before do # run before each test - @instance = CyberSource::InlineResponse20010LinksReport.new + @instance = CyberSource::InlineResponse20011LinksReport.new end after do # run after each test end - describe 'test an instance of InlineResponse20010LinksReport' do - it 'should create an instance of InlineResponse20010LinksReport' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20010LinksReport) + describe 'test an instance of InlineResponse20011LinksReport' do + it 'should create an instance of InlineResponse20011LinksReport' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20011LinksReport) end end describe 'test attribute "href"' do diff --git a/spec/models/inline_response_200_9__links_spec.rb b/spec/models/inline_response_200_11__links_spec.rb similarity index 71% rename from spec/models/inline_response_200_9__links_spec.rb rename to spec/models/inline_response_200_11__links_spec.rb index 7407905e..7727f88d 100644 --- a/spec/models/inline_response_200_9__links_spec.rb +++ b/spec/models/inline_response_200_11__links_spec.rb @@ -13,31 +13,31 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2009Links +# Unit tests for CyberSource::InlineResponse20011Links # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2009Links' do +describe 'InlineResponse20011Links' do before do # run before each test - @instance = CyberSource::InlineResponse2009Links.new + @instance = CyberSource::InlineResponse20011Links.new end after do # run after each test end - describe 'test an instance of InlineResponse2009Links' do - it 'should create an instance of InlineResponse2009Links' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2009Links) + describe 'test an instance of InlineResponse20011Links' do + it 'should create an instance of InlineResponse20011Links' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20011Links) end end - describe 'test attribute "rel"' do + describe 'test attribute "_self"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "href"' do + describe 'test attribute "report"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_10_billing_spec.rb b/spec/models/inline_response_200_11_billing_spec.rb similarity index 81% rename from spec/models/inline_response_200_10_billing_spec.rb rename to spec/models/inline_response_200_11_billing_spec.rb index 6ecbdc36..f0a42981 100644 --- a/spec/models/inline_response_200_10_billing_spec.rb +++ b/spec/models/inline_response_200_11_billing_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20010Billing +# Unit tests for CyberSource::InlineResponse20011Billing # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20010Billing' do +describe 'InlineResponse20011Billing' do before do # run before each test - @instance = CyberSource::InlineResponse20010Billing.new + @instance = CyberSource::InlineResponse20011Billing.new end after do # run after each test end - describe 'test an instance of InlineResponse20010Billing' do - it 'should create an instance of InlineResponse20010Billing' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20010Billing) + describe 'test an instance of InlineResponse20011Billing' do + it 'should create an instance of InlineResponse20011Billing' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20011Billing) end end describe 'test attribute "nan"' do diff --git a/spec/models/inline_response_200_11_spec.rb b/spec/models/inline_response_200_11_spec.rb index 7e576465..43d8d715 100644 --- a/spec/models/inline_response_200_11_spec.rb +++ b/spec/models/inline_response_200_11_spec.rb @@ -31,19 +31,19 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse20011) end end - describe 'test attribute "version"' do + describe 'test attribute "_links"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "report_created_date"' do + describe 'test attribute "batch_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "batch_id"' do + describe 'test attribute "batch_created_date"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end @@ -55,19 +55,19 @@ end end - describe 'test attribute "batch_ca_endpoints"' do + describe 'test attribute "merchant_reference"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "batch_created_date"' do + describe 'test attribute "batch_ca_endpoints"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "merchant_reference"' do + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end @@ -85,7 +85,7 @@ end end - describe 'test attribute "records"' do + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_11_records_spec.rb b/spec/models/inline_response_200_12_records_spec.rb similarity index 79% rename from spec/models/inline_response_200_11_records_spec.rb rename to spec/models/inline_response_200_12_records_spec.rb index 1fd2c7b1..b7cbcce5 100644 --- a/spec/models/inline_response_200_11_records_spec.rb +++ b/spec/models/inline_response_200_12_records_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20011Records +# Unit tests for CyberSource::InlineResponse20012Records # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20011Records' do +describe 'InlineResponse20012Records' do before do # run before each test - @instance = CyberSource::InlineResponse20011Records.new + @instance = CyberSource::InlineResponse20012Records.new end after do # run after each test end - describe 'test an instance of InlineResponse20011Records' do - it 'should create an instance of InlineResponse20011Records' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20011Records) + describe 'test an instance of InlineResponse20012Records' do + it 'should create an instance of InlineResponse20012Records' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20012Records) end end describe 'test attribute "id"' do diff --git a/spec/models/inline_response_200_11_response_record_additional_updates_spec.rb b/spec/models/inline_response_200_12_response_record_additional_updates_spec.rb similarity index 82% rename from spec/models/inline_response_200_11_response_record_additional_updates_spec.rb rename to spec/models/inline_response_200_12_response_record_additional_updates_spec.rb index 9c50620a..e5888e12 100644 --- a/spec/models/inline_response_200_11_response_record_additional_updates_spec.rb +++ b/spec/models/inline_response_200_12_response_record_additional_updates_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20011ResponseRecordAdditionalUpdates +# Unit tests for CyberSource::InlineResponse20012ResponseRecordAdditionalUpdates # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20011ResponseRecordAdditionalUpdates' do +describe 'InlineResponse20012ResponseRecordAdditionalUpdates' do before do # run before each test - @instance = CyberSource::InlineResponse20011ResponseRecordAdditionalUpdates.new + @instance = CyberSource::InlineResponse20012ResponseRecordAdditionalUpdates.new end after do # run after each test end - describe 'test an instance of InlineResponse20011ResponseRecordAdditionalUpdates' do - it 'should create an instance of InlineResponse20011ResponseRecordAdditionalUpdates' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20011ResponseRecordAdditionalUpdates) + describe 'test an instance of InlineResponse20012ResponseRecordAdditionalUpdates' do + it 'should create an instance of InlineResponse20012ResponseRecordAdditionalUpdates' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20012ResponseRecordAdditionalUpdates) end end describe 'test attribute "customer_id"' do diff --git a/spec/models/inline_response_200_11_response_record_spec.rb b/spec/models/inline_response_200_12_response_record_spec.rb similarity index 88% rename from spec/models/inline_response_200_11_response_record_spec.rb rename to spec/models/inline_response_200_12_response_record_spec.rb index 36f828bc..b25c114f 100644 --- a/spec/models/inline_response_200_11_response_record_spec.rb +++ b/spec/models/inline_response_200_12_response_record_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20011ResponseRecord +# Unit tests for CyberSource::InlineResponse20012ResponseRecord # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20011ResponseRecord' do +describe 'InlineResponse20012ResponseRecord' do before do # run before each test - @instance = CyberSource::InlineResponse20011ResponseRecord.new + @instance = CyberSource::InlineResponse20012ResponseRecord.new end after do # run after each test end - describe 'test an instance of InlineResponse20011ResponseRecord' do - it 'should create an instance of InlineResponse20011ResponseRecord' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20011ResponseRecord) + describe 'test an instance of InlineResponse20012ResponseRecord' do + it 'should create an instance of InlineResponse20012ResponseRecord' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20012ResponseRecord) end end describe 'test attribute "response"' do diff --git a/spec/models/inline_response_200_11_source_record_spec.rb b/spec/models/inline_response_200_12_source_record_spec.rb similarity index 87% rename from spec/models/inline_response_200_11_source_record_spec.rb rename to spec/models/inline_response_200_12_source_record_spec.rb index 6909fee0..63c93291 100644 --- a/spec/models/inline_response_200_11_source_record_spec.rb +++ b/spec/models/inline_response_200_12_source_record_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse20011SourceRecord +# Unit tests for CyberSource::InlineResponse20012SourceRecord # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse20011SourceRecord' do +describe 'InlineResponse20012SourceRecord' do before do # run before each test - @instance = CyberSource::InlineResponse20011SourceRecord.new + @instance = CyberSource::InlineResponse20012SourceRecord.new end after do # run after each test end - describe 'test an instance of InlineResponse20011SourceRecord' do - it 'should create an instance of InlineResponse20011SourceRecord' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse20011SourceRecord) + describe 'test an instance of InlineResponse20012SourceRecord' do + it 'should create an instance of InlineResponse20012SourceRecord' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20012SourceRecord) end end describe 'test attribute "token"' do diff --git a/spec/models/inline_response_200_12_spec.rb b/spec/models/inline_response_200_12_spec.rb new file mode 100644 index 00000000..bf8fb09c --- /dev/null +++ b/spec/models/inline_response_200_12_spec.rb @@ -0,0 +1,94 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse20012 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse20012' do + before do + # run before each test + @instance = CyberSource::InlineResponse20012.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse20012' do + it 'should create an instance of InlineResponse20012' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20012) + end + end + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "report_created_date"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "batch_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "batch_source"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "batch_ca_endpoints"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "batch_created_date"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_reference"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "totals"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "billing"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "records"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_200_13_spec.rb b/spec/models/inline_response_200_13_spec.rb new file mode 100644 index 00000000..6ced67b3 --- /dev/null +++ b/spec/models/inline_response_200_13_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse20013 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse20013' do + before do + # run before each test + @instance = CyberSource::InlineResponse20013.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse20013' do + it 'should create an instance of InlineResponse20013' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse20013) + end + end + describe 'test attribute "client_reference_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "request_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "bank_account_validation"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_200_2_spec.rb b/spec/models/inline_response_200_2_spec.rb index e73389db..d76fa8c7 100644 --- a/spec/models/inline_response_200_2_spec.rb +++ b/spec/models/inline_response_200_2_spec.rb @@ -31,43 +31,73 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2002) end end - describe 'test attribute "registration_information"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "integration_information"' do + describe 'test attribute "field_type"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "organization_information"' do + describe 'test attribute "label"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "product_information"' do + describe 'test attribute "customer_visible"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "product_information_setups"' do + describe 'test attribute "text_min_length"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "document_information"' do + describe 'test attribute "text_max_length"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "details"' do + describe 'test attribute "possible_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_default_value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reference_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "read_only"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_defined_data_index"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_2_integration_information_spec.rb b/spec/models/inline_response_200_3_integration_information_spec.rb similarity index 75% rename from spec/models/inline_response_200_2_integration_information_spec.rb rename to spec/models/inline_response_200_3_integration_information_spec.rb index 3e3a2865..1c6b8da1 100644 --- a/spec/models/inline_response_200_2_integration_information_spec.rb +++ b/spec/models/inline_response_200_3_integration_information_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2002IntegrationInformation +# Unit tests for CyberSource::InlineResponse2003IntegrationInformation # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2002IntegrationInformation' do +describe 'InlineResponse2003IntegrationInformation' do before do # run before each test - @instance = CyberSource::InlineResponse2002IntegrationInformation.new + @instance = CyberSource::InlineResponse2003IntegrationInformation.new end after do # run after each test end - describe 'test an instance of InlineResponse2002IntegrationInformation' do - it 'should create an instance of InlineResponse2002IntegrationInformation' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2002IntegrationInformation) + describe 'test an instance of InlineResponse2003IntegrationInformation' do + it 'should create an instance of InlineResponse2003IntegrationInformation' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse2003IntegrationInformation) end end describe 'test attribute "oauth2"' do diff --git a/spec/models/inline_response_200_2_integration_information_tenant_configurations_spec.rb b/spec/models/inline_response_200_3_integration_information_tenant_configurations_spec.rb similarity index 82% rename from spec/models/inline_response_200_2_integration_information_tenant_configurations_spec.rb rename to spec/models/inline_response_200_3_integration_information_tenant_configurations_spec.rb index 00bfe0a1..2348efa8 100644 --- a/spec/models/inline_response_200_2_integration_information_tenant_configurations_spec.rb +++ b/spec/models/inline_response_200_3_integration_information_tenant_configurations_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2002IntegrationInformationTenantConfigurations +# Unit tests for CyberSource::InlineResponse2003IntegrationInformationTenantConfigurations # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2002IntegrationInformationTenantConfigurations' do +describe 'InlineResponse2003IntegrationInformationTenantConfigurations' do before do # run before each test - @instance = CyberSource::InlineResponse2002IntegrationInformationTenantConfigurations.new + @instance = CyberSource::InlineResponse2003IntegrationInformationTenantConfigurations.new end after do # run after each test end - describe 'test an instance of InlineResponse2002IntegrationInformationTenantConfigurations' do - it 'should create an instance of InlineResponse2002IntegrationInformationTenantConfigurations' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2002IntegrationInformationTenantConfigurations) + describe 'test an instance of InlineResponse2003IntegrationInformationTenantConfigurations' do + it 'should create an instance of InlineResponse2003IntegrationInformationTenantConfigurations' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse2003IntegrationInformationTenantConfigurations) end end describe 'test attribute "solution_id"' do diff --git a/spec/models/inline_response_200_3_spec.rb b/spec/models/inline_response_200_3_spec.rb index 8230cca2..18a990c0 100644 --- a/spec/models/inline_response_200_3_spec.rb +++ b/spec/models/inline_response_200_3_spec.rb @@ -31,19 +31,43 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2003) end end - describe 'test attribute "product_id"' do + describe 'test attribute "registration_information"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "product_name"' do + describe 'test attribute "integration_information"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "event_types"' do + describe 'test attribute "organization_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "product_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "product_information_setups"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "document_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "details"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_4_spec.rb b/spec/models/inline_response_200_4_spec.rb index 2f232fd6..bda00598 100644 --- a/spec/models/inline_response_200_4_spec.rb +++ b/spec/models/inline_response_200_4_spec.rb @@ -31,73 +31,19 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2004) end end - describe 'test attribute "webhook_id"' do + describe 'test attribute "product_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "organization_id"' do + describe 'test attribute "product_name"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "products"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "webhook_url"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "health_check_url"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "status"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "name"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "description"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "retry_policy"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "security_policy"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "created_on"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "notification_scope"' do + describe 'test attribute "event_types"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_5_spec.rb b/spec/models/inline_response_200_5_spec.rb index 74c975ac..4b4e84bb 100644 --- a/spec/models/inline_response_200_5_spec.rb +++ b/spec/models/inline_response_200_5_spec.rb @@ -97,12 +97,6 @@ end end - describe 'test attribute "updated_on"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - describe 'test attribute "notification_scope"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/inline_response_200_6_spec.rb b/spec/models/inline_response_200_6_spec.rb index e5eef428..737ad6d6 100644 --- a/spec/models/inline_response_200_6_spec.rb +++ b/spec/models/inline_response_200_6_spec.rb @@ -31,37 +31,79 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2006) end end - describe 'test attribute "total_count"' do + describe 'test attribute "webhook_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "offset"' do + describe 'test attribute "organization_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "limit"' do + describe 'test attribute "products"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "sort"' do + describe 'test attribute "webhook_url"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "count"' do + describe 'test attribute "health_check_url"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "devices"' do + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "retry_policy"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "security_policy"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "created_on"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "updated_on"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "notification_scope"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_6_devices_spec.rb b/spec/models/inline_response_200_7_devices_spec.rb similarity index 88% rename from spec/models/inline_response_200_6_devices_spec.rb rename to spec/models/inline_response_200_7_devices_spec.rb index b66fd1c4..8e13081f 100644 --- a/spec/models/inline_response_200_6_devices_spec.rb +++ b/spec/models/inline_response_200_7_devices_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2006Devices +# Unit tests for CyberSource::InlineResponse2007Devices # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2006Devices' do +describe 'InlineResponse2007Devices' do before do # run before each test - @instance = CyberSource::InlineResponse2006Devices.new + @instance = CyberSource::InlineResponse2007Devices.new end after do # run after each test end - describe 'test an instance of InlineResponse2006Devices' do - it 'should create an instance of InlineResponse2006Devices' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2006Devices) + describe 'test an instance of InlineResponse2007Devices' do + it 'should create an instance of InlineResponse2007Devices' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse2007Devices) end end describe 'test attribute "reader_id"' do diff --git a/spec/models/inline_response_200_7_spec.rb b/spec/models/inline_response_200_7_spec.rb index bb3fb1df..366f53d4 100644 --- a/spec/models/inline_response_200_7_spec.rb +++ b/spec/models/inline_response_200_7_spec.rb @@ -31,7 +31,31 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2007) end end - describe 'test attribute "status"' do + describe 'test attribute "total_count"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "offset"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "limit"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sort"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "count"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_8_spec.rb b/spec/models/inline_response_200_8_spec.rb index f10989d0..d721b1b7 100644 --- a/spec/models/inline_response_200_8_spec.rb +++ b/spec/models/inline_response_200_8_spec.rb @@ -31,31 +31,7 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2008) end end - describe 'test attribute "total_count"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "offset"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "limit"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "sort"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "count"' do + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_200_8_devices_spec.rb b/spec/models/inline_response_200_9_devices_spec.rb similarity index 90% rename from spec/models/inline_response_200_8_devices_spec.rb rename to spec/models/inline_response_200_9_devices_spec.rb index f160f391..23973db6 100644 --- a/spec/models/inline_response_200_8_devices_spec.rb +++ b/spec/models/inline_response_200_9_devices_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2008Devices +# Unit tests for CyberSource::InlineResponse2009Devices # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2008Devices' do +describe 'InlineResponse2009Devices' do before do # run before each test - @instance = CyberSource::InlineResponse2008Devices.new + @instance = CyberSource::InlineResponse2009Devices.new end after do # run after each test end - describe 'test an instance of InlineResponse2008Devices' do - it 'should create an instance of InlineResponse2008Devices' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2008Devices) + describe 'test an instance of InlineResponse2009Devices' do + it 'should create an instance of InlineResponse2009Devices' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse2009Devices) end end describe 'test attribute "reader_id"' do diff --git a/spec/models/inline_response_200_8_payment_processor_to_terminal_map_spec.rb b/spec/models/inline_response_200_9_payment_processor_to_terminal_map_spec.rb similarity index 75% rename from spec/models/inline_response_200_8_payment_processor_to_terminal_map_spec.rb rename to spec/models/inline_response_200_9_payment_processor_to_terminal_map_spec.rb index e1f8a3d5..a4e28ca1 100644 --- a/spec/models/inline_response_200_8_payment_processor_to_terminal_map_spec.rb +++ b/spec/models/inline_response_200_9_payment_processor_to_terminal_map_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse2008PaymentProcessorToTerminalMap +# Unit tests for CyberSource::InlineResponse2009PaymentProcessorToTerminalMap # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse2008PaymentProcessorToTerminalMap' do +describe 'InlineResponse2009PaymentProcessorToTerminalMap' do before do # run before each test - @instance = CyberSource::InlineResponse2008PaymentProcessorToTerminalMap.new + @instance = CyberSource::InlineResponse2009PaymentProcessorToTerminalMap.new end after do # run after each test end - describe 'test an instance of InlineResponse2008PaymentProcessorToTerminalMap' do - it 'should create an instance of InlineResponse2008PaymentProcessorToTerminalMap' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse2008PaymentProcessorToTerminalMap) + describe 'test an instance of InlineResponse2009PaymentProcessorToTerminalMap' do + it 'should create an instance of InlineResponse2009PaymentProcessorToTerminalMap' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse2009PaymentProcessorToTerminalMap) end end describe 'test attribute "processor"' do diff --git a/spec/models/inline_response_200_9_spec.rb b/spec/models/inline_response_200_9_spec.rb index 2c6247a2..70d7ec3d 100644 --- a/spec/models/inline_response_200_9_spec.rb +++ b/spec/models/inline_response_200_9_spec.rb @@ -31,13 +31,7 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse2009) end end - describe 'test attribute "_links"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "object"' do + describe 'test attribute "total_count"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end @@ -55,19 +49,19 @@ end end - describe 'test attribute "count"' do + describe 'test attribute "sort"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "total"' do + describe 'test attribute "count"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "_embedded"' do + describe 'test attribute "devices"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_404_2_details_spec.rb b/spec/models/inline_response_400_9_details_spec.rb similarity index 77% rename from spec/models/inline_response_404_2_details_spec.rb rename to spec/models/inline_response_400_9_details_spec.rb index 66360af9..b0e0c668 100644 --- a/spec/models/inline_response_404_2_details_spec.rb +++ b/spec/models/inline_response_400_9_details_spec.rb @@ -13,22 +13,22 @@ require 'json' require 'date' -# Unit tests for CyberSource::InlineResponse4042Details +# Unit tests for CyberSource::InlineResponse4009Details # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'InlineResponse4042Details' do +describe 'InlineResponse4009Details' do before do # run before each test - @instance = CyberSource::InlineResponse4042Details.new + @instance = CyberSource::InlineResponse4009Details.new end after do # run after each test end - describe 'test an instance of InlineResponse4042Details' do - it 'should create an instance of InlineResponse4042Details' do - expect(@instance).to be_instance_of(CyberSource::InlineResponse4042Details) + describe 'test an instance of InlineResponse4009Details' do + it 'should create an instance of InlineResponse4009Details' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4009Details) end end describe 'test attribute "field"' do diff --git a/spec/models/inline_response_400_9_spec.rb b/spec/models/inline_response_400_9_spec.rb new file mode 100644 index 00000000..b198b696 --- /dev/null +++ b/spec/models/inline_response_400_9_spec.rb @@ -0,0 +1,64 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4009 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4009' do + before do + # run before each test + @instance = CyberSource::InlineResponse4009.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4009' do + it 'should create an instance of InlineResponse4009' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4009) + end + end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "details"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_403_3_spec.rb b/spec/models/inline_response_403_3_spec.rb new file mode 100644 index 00000000..a05b8d80 --- /dev/null +++ b/spec/models/inline_response_403_3_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4033 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4033' do + before do + # run before each test + @instance = CyberSource::InlineResponse4033.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4033' do + it 'should create an instance of InlineResponse4033' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4033) + end + end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_404_1_details_spec.rb b/spec/models/inline_response_404_1_details_spec.rb new file mode 100644 index 00000000..8cf9c235 --- /dev/null +++ b/spec/models/inline_response_404_1_details_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4041Details +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4041Details' do + before do + # run before each test + @instance = CyberSource::InlineResponse4041Details.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4041Details' do + it 'should create an instance of InlineResponse4041Details' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4041Details) + end + end + describe 'test attribute "field"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_404_2_spec.rb b/spec/models/inline_response_404_2_spec.rb index 5978f2d1..ee6252aa 100644 --- a/spec/models/inline_response_404_2_spec.rb +++ b/spec/models/inline_response_404_2_spec.rb @@ -31,6 +31,18 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse4042) end end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "reason"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/inline_response_404_3_details_spec.rb b/spec/models/inline_response_404_3_details_spec.rb new file mode 100644 index 00000000..d26fcad7 --- /dev/null +++ b/spec/models/inline_response_404_3_details_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4043Details +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4043Details' do + before do + # run before each test + @instance = CyberSource::InlineResponse4043Details.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4043Details' do + it 'should create an instance of InlineResponse4043Details' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4043Details) + end + end + describe 'test attribute "field"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_404_3_spec.rb b/spec/models/inline_response_404_3_spec.rb index 29579a58..d668f8e6 100644 --- a/spec/models/inline_response_404_3_spec.rb +++ b/spec/models/inline_response_404_3_spec.rb @@ -31,7 +31,7 @@ expect(@instance).to be_instance_of(CyberSource::InlineResponse4043) end end - describe 'test attribute "status"' do + describe 'test attribute "reason"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end @@ -43,13 +43,7 @@ end end - describe 'test attribute "code"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "submit_time_utc"' do + describe 'test attribute "details"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/inline_response_404_4_spec.rb b/spec/models/inline_response_404_4_spec.rb new file mode 100644 index 00000000..e23fb5ca --- /dev/null +++ b/spec/models/inline_response_404_4_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4044 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4044' do + before do + # run before each test + @instance = CyberSource::InlineResponse4044.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4044' do + it 'should create an instance of InlineResponse4044' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4044) + end + end + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_404_5_spec.rb b/spec/models/inline_response_404_5_spec.rb new file mode 100644 index 00000000..c813d92b --- /dev/null +++ b/spec/models/inline_response_404_5_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4045 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4045' do + before do + # run before each test + @instance = CyberSource::InlineResponse4045.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4045' do + it 'should create an instance of InlineResponse4045' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4045) + end + end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_422_2_spec.rb b/spec/models/inline_response_422_2_spec.rb new file mode 100644 index 00000000..fa1bb1d2 --- /dev/null +++ b/spec/models/inline_response_422_2_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse4222 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse4222' do + before do + # run before each test + @instance = CyberSource::InlineResponse4222.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse4222' do + it 'should create an instance of InlineResponse4222' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse4222) + end + end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/inline_response_502_1_spec.rb b/spec/models/inline_response_502_1_spec.rb new file mode 100644 index 00000000..327b5cfa --- /dev/null +++ b/spec/models/inline_response_502_1_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InlineResponse5021 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InlineResponse5021' do + before do + # run before each test + @instance = CyberSource::InlineResponse5021.new + end + + after do + # run after each test + end + + describe 'test an instance of InlineResponse5021' do + it 'should create an instance of InlineResponse5021' do + expect(@instance).to be_instance_of(CyberSource::InlineResponse5021) + end + end + describe 'test attribute "submit_time_utc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details_spec.rb b/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details_spec.rb new file mode 100644 index 00000000..6b7bdcc2 --- /dev/null +++ b/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_address_details_spec.rb @@ -0,0 +1,70 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails' do + before do + # run before each test + @instance = CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails.new + end + + after do + # run after each test + end + + describe 'test an instance of InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails' do + it 'should create an instance of InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails' do + expect(@instance).to be_instance_of(CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformationAddressDetails) + end + end + describe 'test attribute "address1"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address2"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_spec.rb b/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_spec.rb new file mode 100644 index 00000000..4d82b941 --- /dev/null +++ b/spec/models/invoicing_v2_invoice_settings_get200_response_merchant_information_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation' do + before do + # run before each test + @instance = CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation' do + it 'should create an instance of InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation' do + expect(@instance).to be_instance_of(CyberSource::InvoicingV2InvoiceSettingsGet200ResponseMerchantInformation) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address_details"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/invoicing_v2_invoice_settings_get200_response_spec.rb b/spec/models/invoicing_v2_invoice_settings_get200_response_spec.rb index c7b28fc1..7a684bcd 100644 --- a/spec/models/invoicing_v2_invoice_settings_get200_response_spec.rb +++ b/spec/models/invoicing_v2_invoice_settings_get200_response_spec.rb @@ -43,4 +43,10 @@ end end + describe 'test attribute "merchant_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/invoicing_v2_invoices_get200_response_spec.rb b/spec/models/invoicing_v2_invoices_get200_response_spec.rb index 9b31523a..24994bc9 100644 --- a/spec/models/invoicing_v2_invoices_get200_response_spec.rb +++ b/spec/models/invoicing_v2_invoices_get200_response_spec.rb @@ -79,6 +79,12 @@ end end + describe 'test attribute "merchant_defined_field_values_with_definition"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "invoice_history"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition_spec.rb b/spec/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition_spec.rb new file mode 100644 index 00000000..5994e48e --- /dev/null +++ b/spec/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition_spec.rb @@ -0,0 +1,112 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition' do + before do + # run before each test + @instance = CyberSource::InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition.new + end + + after do + # run after each test + end + + describe 'test an instance of InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition' do + it 'should create an instance of InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition' do + expect(@instance).to be_instance_of(CyberSource::InvoicingV2InvoicesPost201ResponseMerchantDefinedFieldValuesWithDefinition) + end + end + describe 'test attribute "reference_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "field_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "customer_visible"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "read_only"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_min_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_max_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_default_value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "possible_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "position"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "definition_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_defined_data_index"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/invoicing_v2_invoices_post201_response_spec.rb b/spec/models/invoicing_v2_invoices_post201_response_spec.rb index 1881dd82..990d561f 100644 --- a/spec/models/invoicing_v2_invoices_post201_response_spec.rb +++ b/spec/models/invoicing_v2_invoices_post201_response_spec.rb @@ -79,4 +79,10 @@ end end + describe 'test attribute "merchant_defined_field_values_with_definition"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/invoicing_v2_invoices_put200_response_spec.rb b/spec/models/invoicing_v2_invoices_put200_response_spec.rb index 0b4bf866..4c1c043a 100644 --- a/spec/models/invoicing_v2_invoices_put200_response_spec.rb +++ b/spec/models/invoicing_v2_invoices_put200_response_spec.rb @@ -79,4 +79,10 @@ end end + describe 'test attribute "merchant_defined_field_values_with_definition"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/invoicingv2invoices_merchant_defined_field_values_spec.rb b/spec/models/invoicingv2invoices_merchant_defined_field_values_spec.rb new file mode 100644 index 00000000..e24d5b95 --- /dev/null +++ b/spec/models/invoicingv2invoices_merchant_defined_field_values_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Invoicingv2invoicesMerchantDefinedFieldValues +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Invoicingv2invoicesMerchantDefinedFieldValues' do + before do + # run before each test + @instance = CyberSource::Invoicingv2invoicesMerchantDefinedFieldValues.new + end + + after do + # run after each test + end + + describe 'test an instance of Invoicingv2invoicesMerchantDefinedFieldValues' do + it 'should create an instance of Invoicingv2invoicesMerchantDefinedFieldValues' do + expect(@instance).to be_instance_of(CyberSource::Invoicingv2invoicesMerchantDefinedFieldValues) + end + end + describe 'test attribute "definition_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/merchant_defined_field_core_spec.rb b/spec/models/merchant_defined_field_core_spec.rb new file mode 100644 index 00000000..85fae771 --- /dev/null +++ b/spec/models/merchant_defined_field_core_spec.rb @@ -0,0 +1,88 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::MerchantDefinedFieldCore +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'MerchantDefinedFieldCore' do + before do + # run before each test + @instance = CyberSource::MerchantDefinedFieldCore.new + end + + after do + # run after each test + end + + describe 'test an instance of MerchantDefinedFieldCore' do + it 'should create an instance of MerchantDefinedFieldCore' do + expect(@instance).to be_instance_of(CyberSource::MerchantDefinedFieldCore) + end + end + describe 'test attribute "field_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "customer_visible"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_min_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_max_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_default_value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "possible_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "read_only"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_defined_data_index"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/merchant_defined_field_definition_request_spec.rb b/spec/models/merchant_defined_field_definition_request_spec.rb new file mode 100644 index 00000000..b81d64af --- /dev/null +++ b/spec/models/merchant_defined_field_definition_request_spec.rb @@ -0,0 +1,88 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::MerchantDefinedFieldDefinitionRequest +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'MerchantDefinedFieldDefinitionRequest' do + before do + # run before each test + @instance = CyberSource::MerchantDefinedFieldDefinitionRequest.new + end + + after do + # run after each test + end + + describe 'test an instance of MerchantDefinedFieldDefinitionRequest' do + it 'should create an instance of MerchantDefinedFieldDefinitionRequest' do + expect(@instance).to be_instance_of(CyberSource::MerchantDefinedFieldDefinitionRequest) + end + end + describe 'test attribute "field_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "customer_visible"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_min_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_max_length"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "text_default_value"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "possible_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "read_only"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_defined_data_index"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/mit_reversal_request_spec.rb b/spec/models/mit_reversal_request_spec.rb index 41e859d1..1de7b0df 100644 --- a/spec/models/mit_reversal_request_spec.rb +++ b/spec/models/mit_reversal_request_spec.rb @@ -61,4 +61,10 @@ end end + describe 'test attribute "processor_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/payments_products_alternative_payment_methods_configuration_information_configurations_payment_methods_spec.rb b/spec/models/payments_products_alternative_payment_methods_configuration_information_configurations_payment_methods_spec.rb index fc9ab60a..0555172d 100644 --- a/spec/models/payments_products_alternative_payment_methods_configuration_information_configurations_payment_methods_spec.rb +++ b/spec/models/payments_products_alternative_payment_methods_configuration_information_configurations_payment_methods_spec.rb @@ -61,6 +61,12 @@ end end + describe 'test attribute "underwriting"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "additional_configurations"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/payments_products_alternative_payment_methods_subscription_information_spec.rb b/spec/models/payments_products_alternative_payment_methods_subscription_information_spec.rb index cca17578..060bac79 100644 --- a/spec/models/payments_products_alternative_payment_methods_subscription_information_spec.rb +++ b/spec/models/payments_products_alternative_payment_methods_subscription_information_spec.rb @@ -37,10 +37,4 @@ end end - describe 'test attribute "self_serviceability"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - end diff --git a/spec/models/payments_products_differential_fee_subscription_information_features_surcharge_spec.rb b/spec/models/payments_products_differential_fee_subscription_information_features_surcharge_spec.rb deleted file mode 100644 index c11d3505..00000000 --- a/spec/models/payments_products_differential_fee_subscription_information_features_surcharge_spec.rb +++ /dev/null @@ -1,40 +0,0 @@ -=begin -#CyberSource Merged Spec - -#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - -OpenAPI spec version: 0.0.1 - -Generated by: https://github.com/swagger-api/swagger-codegen.git -Swagger Codegen version: 2.4.38 -=end - -require 'spec_helper' -require 'json' -require 'date' - -# Unit tests for CyberSource::PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge -# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) -# Please update as you see appropriate -describe 'PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge' do - before do - # run before each test - @instance = CyberSource::PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge.new - end - - after do - # run after each test - end - - describe 'test an instance of PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge' do - it 'should create an instance of PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge' do - expect(@instance).to be_instance_of(CyberSource::PaymentsProductsDifferentialFeeSubscriptionInformationFeaturesSurcharge) - end - end - describe 'test attribute "enabled"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - -end diff --git a/spec/models/payments_products_payer_authentication_subscription_information_spec.rb b/spec/models/payments_products_payer_authentication_subscription_information_spec.rb new file mode 100644 index 00000000..6f4056d0 --- /dev/null +++ b/spec/models/payments_products_payer_authentication_subscription_information_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::PaymentsProductsPayerAuthenticationSubscriptionInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'PaymentsProductsPayerAuthenticationSubscriptionInformation' do + before do + # run before each test + @instance = CyberSource::PaymentsProductsPayerAuthenticationSubscriptionInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of PaymentsProductsPayerAuthenticationSubscriptionInformation' do + it 'should create an instance of PaymentsProductsPayerAuthenticationSubscriptionInformation' do + expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayerAuthenticationSubscriptionInformation) + end + end + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "self_serviceability"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/payments_products_payouts_configuration_information_configurations_processor_account_spec.rb b/spec/models/payments_products_payouts_configuration_information_configurations_common_aggregator_spec.rb similarity index 75% rename from spec/models/payments_products_payouts_configuration_information_configurations_processor_account_spec.rb rename to spec/models/payments_products_payouts_configuration_information_configurations_common_aggregator_spec.rb index e7f81b5d..baaf4ba6 100644 --- a/spec/models/payments_products_payouts_configuration_information_configurations_processor_account_spec.rb +++ b/spec/models/payments_products_payouts_configuration_information_configurations_common_aggregator_spec.rb @@ -13,37 +13,37 @@ require 'json' require 'date' -# Unit tests for CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount +# Unit tests for CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount' do +describe 'PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator' do before do # run before each test - @instance = CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount.new + @instance = CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator.new end after do # run after each test end - describe 'test an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount' do - it 'should create an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount' do - expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsProcessorAccount) + describe 'test an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator' do + it 'should create an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator' do + expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommonAggregator) end end - describe 'test attribute "originator_merchant_id"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "originator_terminal_id"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "supported_currencies"' do + describe 'test attribute "sub_merchant_id"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/payments_products_payouts_configuration_information_configurations_common_spec.rb b/spec/models/payments_products_payouts_configuration_information_configurations_common_spec.rb new file mode 100644 index 00000000..45d47fe2 --- /dev/null +++ b/spec/models/payments_products_payouts_configuration_information_configurations_common_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon' do + before do + # run before each test + @instance = CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon.new + end + + after do + # run after each test + end + + describe 'test an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon' do + it 'should create an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon' do + expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsCommon) + end + end + describe 'test attribute "payment_types"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_application_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "aggregator"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/payments_products_payouts_configuration_information_configurations_pushfunds_spec.rb b/spec/models/payments_products_payouts_configuration_information_configurations_pushfunds_spec.rb deleted file mode 100644 index fdf2a993..00000000 --- a/spec/models/payments_products_payouts_configuration_information_configurations_pushfunds_spec.rb +++ /dev/null @@ -1,88 +0,0 @@ -=begin -#CyberSource Merged Spec - -#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html - -OpenAPI spec version: 0.0.1 - -Generated by: https://github.com/swagger-api/swagger-codegen.git -Swagger Codegen version: 2.4.38 -=end - -require 'spec_helper' -require 'json' -require 'date' - -# Unit tests for CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds -# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) -# Please update as you see appropriate -describe 'PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds' do - before do - # run before each test - @instance = CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds.new - end - - after do - # run after each test - end - - describe 'test an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds' do - it 'should create an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds' do - expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPushfunds) - end - end - describe 'test attribute "acquirer_country_code"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "acquiring_bin"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "allow_crypto_currency_purchase"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "financial_institution_id"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "network_order"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "national_reimbursement_fee"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "originator_business_application_id"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "originator_pseudo_aba_number"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - - describe 'test attribute "processor_account"' do - it 'should work' do - # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers - end - end - -end diff --git a/spec/models/payments_products_payouts_configuration_information_configurations_spec.rb b/spec/models/payments_products_payouts_configuration_information_configurations_spec.rb index 58c71083..3026419a 100644 --- a/spec/models/payments_products_payouts_configuration_information_configurations_spec.rb +++ b/spec/models/payments_products_payouts_configuration_information_configurations_spec.rb @@ -31,13 +31,13 @@ expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurations) end end - describe 'test attribute "pullfunds"' do + describe 'test attribute "common"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "pushfunds"' do + describe 'test attribute "processors"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/post_issuer_life_cycle_simulation_request_spec.rb b/spec/models/post_issuer_life_cycle_simulation_request_spec.rb new file mode 100644 index 00000000..cc2e698f --- /dev/null +++ b/spec/models/post_issuer_life_cycle_simulation_request_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::PostIssuerLifeCycleSimulationRequest +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'PostIssuerLifeCycleSimulationRequest' do + before do + # run before each test + @instance = CyberSource::PostIssuerLifeCycleSimulationRequest.new + end + + after do + # run after each test + end + + describe 'test an instance of PostIssuerLifeCycleSimulationRequest' do + it 'should create an instance of PostIssuerLifeCycleSimulationRequest' do + expect(@instance).to be_instance_of(CyberSource::PostIssuerLifeCycleSimulationRequest) + end + end + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "card"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "metadata"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/pts_v2_incremental_authorization_patch201_response_processor_information_spec.rb b/spec/models/pts_v2_incremental_authorization_patch201_response_processor_information_spec.rb index 9c9708e1..7eb02b04 100644 --- a/spec/models/pts_v2_incremental_authorization_patch201_response_processor_information_spec.rb +++ b/spec/models/pts_v2_incremental_authorization_patch201_response_processor_information_spec.rb @@ -85,4 +85,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/pts_v2_payments_captures_post201_response_processor_information_spec.rb b/spec/models/pts_v2_payments_captures_post201_response_processor_information_spec.rb index 0e6cb7c5..a5a3b503 100644 --- a/spec/models/pts_v2_payments_captures_post201_response_processor_information_spec.rb +++ b/spec/models/pts_v2_payments_captures_post201_response_processor_information_spec.rb @@ -67,4 +67,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/pts_v2_payments_post201_response_processor_information_spec.rb b/spec/models/pts_v2_payments_post201_response_processor_information_spec.rb index b2748b27..6be8e2d8 100644 --- a/spec/models/pts_v2_payments_post201_response_processor_information_spec.rb +++ b/spec/models/pts_v2_payments_post201_response_processor_information_spec.rb @@ -301,4 +301,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/pts_v2_payments_refund_post201_response_processor_information_spec.rb b/spec/models/pts_v2_payments_refund_post201_response_processor_information_spec.rb index 643df457..83c1904e 100644 --- a/spec/models/pts_v2_payments_refund_post201_response_processor_information_spec.rb +++ b/spec/models/pts_v2_payments_refund_post201_response_processor_information_spec.rb @@ -85,4 +85,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/pts_v2_payments_reversals_post201_response_processor_information_spec.rb b/spec/models/pts_v2_payments_reversals_post201_response_processor_information_spec.rb index a18018ae..c23f52a5 100644 --- a/spec/models/pts_v2_payments_reversals_post201_response_processor_information_spec.rb +++ b/spec/models/pts_v2_payments_reversals_post201_response_processor_information_spec.rb @@ -85,4 +85,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/ptsv2payments_order_information_amount_details_spec.rb b/spec/models/ptsv2payments_order_information_amount_details_spec.rb index b397e6ba..8c02e37d 100644 --- a/spec/models/ptsv2payments_order_information_amount_details_spec.rb +++ b/spec/models/ptsv2payments_order_information_amount_details_spec.rb @@ -31,6 +31,12 @@ expect(@instance).to be_instance_of(CyberSource::Ptsv2paymentsOrderInformationAmountDetails) end end + describe 'test attribute "refund_balance"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "gift_wrap_amount"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/ptsv2payments_processor_information_reversal_network_spec.rb b/spec/models/ptsv2payments_processor_information_reversal_network_spec.rb new file mode 100644 index 00000000..9a3fc341 --- /dev/null +++ b/spec/models/ptsv2payments_processor_information_reversal_network_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Ptsv2paymentsProcessorInformationReversalNetwork +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Ptsv2paymentsProcessorInformationReversalNetwork' do + before do + # run before each test + @instance = CyberSource::Ptsv2paymentsProcessorInformationReversalNetwork.new + end + + after do + # run after each test + end + + describe 'test an instance of Ptsv2paymentsProcessorInformationReversalNetwork' do + it 'should create an instance of Ptsv2paymentsProcessorInformationReversalNetwork' do + expect(@instance).to be_instance_of(CyberSource::Ptsv2paymentsProcessorInformationReversalNetwork) + end + end + describe 'test attribute "economically_related_txn_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/ptsv2payments_processor_information_reversal_spec.rb b/spec/models/ptsv2payments_processor_information_reversal_spec.rb index 171a64be..5075f38f 100644 --- a/spec/models/ptsv2payments_processor_information_reversal_spec.rb +++ b/spec/models/ptsv2payments_processor_information_reversal_spec.rb @@ -37,4 +37,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/ptsv2payments_processor_information_spec.rb b/spec/models/ptsv2payments_processor_information_spec.rb index 1ddb72a6..efe9a2b2 100644 --- a/spec/models/ptsv2payments_processor_information_spec.rb +++ b/spec/models/ptsv2payments_processor_information_spec.rb @@ -49,4 +49,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/ptsv2paymentsid_processing_information_spec.rb b/spec/models/ptsv2paymentsid_processing_information_spec.rb index 9cb1139f..e04b3614 100644 --- a/spec/models/ptsv2paymentsid_processing_information_spec.rb +++ b/spec/models/ptsv2paymentsid_processing_information_spec.rb @@ -37,4 +37,10 @@ end end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/ptsv2reversals_processor_information_spec.rb b/spec/models/ptsv2reversals_processor_information_spec.rb new file mode 100644 index 00000000..96262672 --- /dev/null +++ b/spec/models/ptsv2reversals_processor_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Ptsv2reversalsProcessorInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Ptsv2reversalsProcessorInformation' do + before do + # run before each test + @instance = CyberSource::Ptsv2reversalsProcessorInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of Ptsv2reversalsProcessorInformation' do + it 'should create an instance of Ptsv2reversalsProcessorInformation' do + expect(@instance).to be_instance_of(CyberSource::Ptsv2reversalsProcessorInformation) + end + end + describe 'test attribute "network"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/refund_capture_request_spec.rb b/spec/models/refund_capture_request_spec.rb index a3ce5874..75b517b2 100644 --- a/spec/models/refund_capture_request_spec.rb +++ b/spec/models/refund_capture_request_spec.rb @@ -103,4 +103,10 @@ end end + describe 'test attribute "processor_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/refund_payment_request_spec.rb b/spec/models/refund_payment_request_spec.rb index 2b716cde..c5009252 100644 --- a/spec/models/refund_payment_request_spec.rb +++ b/spec/models/refund_payment_request_spec.rb @@ -103,4 +103,10 @@ end end + describe 'test attribute "processor_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/tms_bin_lookup_payment_account_information_features_spec.rb b/spec/models/tms_bin_lookup_payment_account_information_features_spec.rb index fb122a28..da152df7 100644 --- a/spec/models/tms_bin_lookup_payment_account_information_features_spec.rb +++ b/spec/models/tms_bin_lookup_payment_account_information_features_spec.rb @@ -145,4 +145,34 @@ end end + describe 'test attribute "product_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "product_id_subtype"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "three_ds_support"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "si_eligible"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "emi_eligible"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card_spec.rb b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card_spec.rb new file mode 100644 index 00000000..b55f23e7 --- /dev/null +++ b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_card_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard' do + before do + # run before each test + @instance = CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard.new + end + + after do + # run after each test + end + + describe 'test an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard' do + it 'should create an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard' do + expect(@instance).to be_instance_of(CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsCard) + end + end + describe 'test attribute "last4"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "expiration_month"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "expiration_year"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset_spec.rb b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset_spec.rb new file mode 100644 index 00000000..189c46c4 --- /dev/null +++ b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_combined_asset_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset' do + before do + # run before each test + @instance = CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset.new + end + + after do + # run after each test + end + + describe 'test an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset' do + it 'should create an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset' do + expect(@instance).to be_instance_of(CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArtCombinedAsset) + end + end + describe 'test attribute "update"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_spec.rb b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_spec.rb new file mode 100644 index 00000000..431c12e3 --- /dev/null +++ b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_card_art_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt' do + before do + # run before each test + @instance = CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt.new + end + + after do + # run after each test + end + + describe 'test an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt' do + it 'should create an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt' do + expect(@instance).to be_instance_of(CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadataCardArt) + end + end + describe 'test attribute "combined_asset"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_spec.rb b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_spec.rb new file mode 100644 index 00000000..99e799b4 --- /dev/null +++ b/spec/models/tmsv2tokenizedcardstokenized_card_idissuerlifecycleeventsimulations_metadata_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata' do + before do + # run before each test + @instance = CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata.new + end + + after do + # run after each test + end + + describe 'test an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata' do + it 'should create an instance of Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata' do + expect(@instance).to be_instance_of(CyberSource::Tmsv2tokenizedcardstokenizedCardIdissuerlifecycleeventsimulationsMetadata) + end + end + describe 'test attribute "card_art"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/tss_v2_transactions_get200_response_order_information_amount_details_spec.rb b/spec/models/tss_v2_transactions_get200_response_order_information_amount_details_spec.rb index 6213401a..84139136 100644 --- a/spec/models/tss_v2_transactions_get200_response_order_information_amount_details_spec.rb +++ b/spec/models/tss_v2_transactions_get200_response_order_information_amount_details_spec.rb @@ -67,6 +67,12 @@ end end + describe 'test attribute "refund_balance"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "surcharge"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/tss_v2_transactions_get200_response_payment_information_spec.rb b/spec/models/tss_v2_transactions_get200_response_payment_information_spec.rb index 4a87f006..07b3ac18 100644 --- a/spec/models/tss_v2_transactions_get200_response_payment_information_spec.rb +++ b/spec/models/tss_v2_transactions_get200_response_payment_information_spec.rb @@ -37,6 +37,12 @@ end end + describe 'test attribute "e_wallet"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "customer"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/tss_v2_transactions_get200_response_processor_information_spec.rb b/spec/models/tss_v2_transactions_get200_response_processor_information_spec.rb index 64158959..342bdbbc 100644 --- a/spec/models/tss_v2_transactions_get200_response_processor_information_spec.rb +++ b/spec/models/tss_v2_transactions_get200_response_processor_information_spec.rb @@ -103,6 +103,12 @@ end end + describe 'test attribute "issuer_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "event_status"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers @@ -127,6 +133,24 @@ end end + describe 'test attribute "response_details"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "raw_response_local"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "raw_response"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + describe 'test attribute "routing"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers diff --git a/spec/models/underwriting_configuration_billing_information_bank_account_information_spec.rb b/spec/models/underwriting_configuration_billing_information_bank_account_information_spec.rb new file mode 100644 index 00000000..7c97924a --- /dev/null +++ b/spec/models/underwriting_configuration_billing_information_bank_account_information_spec.rb @@ -0,0 +1,64 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationBillingInformationBankAccountInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationBillingInformationBankAccountInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationBillingInformationBankAccountInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationBillingInformationBankAccountInformation' do + it 'should create an instance of UnderwritingConfigurationBillingInformationBankAccountInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationBillingInformationBankAccountInformation) + end + end + describe 'test attribute "bank_account_country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_holder_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_routing_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_billing_information_spec.rb b/spec/models/underwriting_configuration_billing_information_spec.rb new file mode 100644 index 00000000..6a568aea --- /dev/null +++ b/spec/models/underwriting_configuration_billing_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationBillingInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationBillingInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationBillingInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationBillingInformation' do + it 'should create an instance of UnderwritingConfigurationBillingInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationBillingInformation) + end + end + describe 'test attribute "bank_account_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_client_reference_information_spec.rb b/spec/models/underwriting_configuration_client_reference_information_spec.rb new file mode 100644 index 00000000..3a5af367 --- /dev/null +++ b/spec/models/underwriting_configuration_client_reference_information_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationClientReferenceInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationClientReferenceInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationClientReferenceInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationClientReferenceInformation' do + it 'should create an instance of UnderwritingConfigurationClientReferenceInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationClientReferenceInformation) + end + end + describe 'test attribute "client_request_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "application_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_deposit_information_spec.rb b/spec/models/underwriting_configuration_deposit_information_spec.rb new file mode 100644 index 00000000..abcd7469 --- /dev/null +++ b/spec/models/underwriting_configuration_deposit_information_spec.rb @@ -0,0 +1,64 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationDepositInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationDepositInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationDepositInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationDepositInformation' do + it 'should create an instance of UnderwritingConfigurationDepositInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationDepositInformation) + end + end + describe 'test attribute "bank_account_country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_holder_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_routing_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "account_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_device_information_spec.rb b/spec/models/underwriting_configuration_device_information_spec.rb new file mode 100644 index 00000000..c35338f9 --- /dev/null +++ b/spec/models/underwriting_configuration_device_information_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationDeviceInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationDeviceInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationDeviceInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationDeviceInformation' do + it 'should create an instance of UnderwritingConfigurationDeviceInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationDeviceInformation) + end + end + describe 'test attribute "ip_address"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "fingerprint_session_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "user_agent"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_file_attachment_information_spec.rb b/spec/models/underwriting_configuration_file_attachment_information_spec.rb new file mode 100644 index 00000000..eda5ed08 --- /dev/null +++ b/spec/models/underwriting_configuration_file_attachment_information_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationFileAttachmentInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationFileAttachmentInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationFileAttachmentInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationFileAttachmentInformation' do + it 'should create an instance of UnderwritingConfigurationFileAttachmentInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationFileAttachmentInformation) + end + end + describe 'test attribute "file_group_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_merchant_application_products_spec.rb b/spec/models/underwriting_configuration_merchant_application_products_spec.rb new file mode 100644 index 00000000..0b31108b --- /dev/null +++ b/spec/models/underwriting_configuration_merchant_application_products_spec.rb @@ -0,0 +1,52 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationMerchantApplicationProducts +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationMerchantApplicationProducts' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationMerchantApplicationProducts.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationMerchantApplicationProducts' do + it 'should create an instance of UnderwritingConfigurationMerchantApplicationProducts' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationMerchantApplicationProducts) + end + end + describe 'test attribute "product_short_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "preferred_acquirer"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_merchant_application_spec.rb b/spec/models/underwriting_configuration_merchant_application_spec.rb new file mode 100644 index 00000000..e3215019 --- /dev/null +++ b/spec/models/underwriting_configuration_merchant_application_spec.rb @@ -0,0 +1,70 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationMerchantApplication +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationMerchantApplication' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationMerchantApplication.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationMerchantApplication' do + it 'should create an instance of UnderwritingConfigurationMerchantApplication' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationMerchantApplication) + end + end + describe 'test attribute "application_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "application_status"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "products"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "campaign_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "oc_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "reseller_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/payments_products_payouts_configuration_information_configurations_pullfunds_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_address_1_spec.rb similarity index 62% rename from spec/models/payments_products_payouts_configuration_information_configurations_pullfunds_spec.rb rename to spec/models/underwriting_configuration_organization_information_business_information_address_1_spec.rb index 8c73a36f..dee28f15 100644 --- a/spec/models/payments_products_payouts_configuration_information_configurations_pullfunds_spec.rb +++ b/spec/models/underwriting_configuration_organization_information_business_information_address_1_spec.rb @@ -13,61 +13,61 @@ require 'json' require 'date' -# Unit tests for CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1 # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) # Please update as you see appropriate -describe 'PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds' do +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1' do before do # run before each test - @instance = CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds.new + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1.new end after do # run after each test end - describe 'test an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds' do - it 'should create an instance of PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds' do - expect(@instance).to be_instance_of(CyberSource::PaymentsProductsPayoutsConfigurationInformationConfigurationsPullfunds) + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress1) end end - describe 'test attribute "acquirer_organization_id"' do + describe 'test attribute "country"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "acquiring_bin"' do + describe 'test attribute "address1"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "allow_crypto_currency_purchase"' do + describe 'test attribute "address2"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "card_acceptor_id"' do + describe 'test attribute "building_name"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "originator_mvv"' do + describe 'test attribute "locality"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "originator_name_abbreviation"' do + describe 'test attribute "administrative_area"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end end - describe 'test attribute "card_terminal_id"' do + describe 'test attribute "postal_code"' do it 'should work' do # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_address_2_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_address_2_spec.rb new file mode 100644 index 00000000..a1969776 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_address_2_spec.rb @@ -0,0 +1,76 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2 +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress2) + end + end + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address1"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address2"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "building_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "locality"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "administrative_area"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_address_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_address_spec.rb new file mode 100644 index 00000000..5e4e0059 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_address_spec.rb @@ -0,0 +1,76 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationAddress' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationAddress' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationAddress) + end + end + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address1"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address2"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "building_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "locality"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "administrative_area"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_business_contact_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_business_contact_spec.rb new file mode 100644 index 00000000..80a53362 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_business_contact_spec.rb @@ -0,0 +1,64 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessContact) + end + end + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "middle_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription_spec.rb new file mode 100644 index 00000000..4915c436 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_business_details_product_services_subscription_spec.rb @@ -0,0 +1,46 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetailsProductServicesSubscription) + end + end + describe 'test attribute "product_service_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "product_service_percentage"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_business_details_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_business_details_spec.rb new file mode 100644 index 00000000..0aa3a360 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_business_details_spec.rb @@ -0,0 +1,190 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationBusinessDetails) + end + end + describe 'test attribute "customer_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "percentage_split_by_b2_b"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "percentage_split_by_b2_c"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "interaction_types"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "percentage_split_by_f2_f"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "percentage_split_by_cnp"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "when_is_customer_charged"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "when_is_customer_charged_description"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "offer_subscriptions"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "monthly_subscription_percent"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "quarterly_subscription_percent"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "semiannual_subscription_percent"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "annual_subscription_percent"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "currency_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "estimated_monthly_sales"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "average_order_amount"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "largest_expected_order_amount"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "primary_account_usage"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "source_of_funds"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "receive_money3rd_parties"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "receive_transaction_frequency"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "estimated_monthly_spend"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "country_transactions"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "currencies_in"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "currencies_out"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "product_services_subscription"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_director_information_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_director_information_spec.rb new file mode 100644 index 00000000..429cadd5 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_director_information_spec.rb @@ -0,0 +1,100 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationDirectorInformation) + end + end + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "middle_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "birth_date"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "national_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "id_country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "passport_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_owner_information_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_owner_information_spec.rb new file mode 100644 index 00000000..8e677ee1 --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_owner_information_spec.rb @@ -0,0 +1,148 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationOwnerInformation) + end + end + describe 'test attribute "first_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "middle_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "last_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "birth_date"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "is_primary"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "has_significant_responsibility"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "owner_director"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "national_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "id_country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "passport_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "passport_country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "job_title"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "ownership_percentage"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "nationality"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "due_diligence_required"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone_number_country_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_spec.rb new file mode 100644 index 00000000..1e836abc --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_spec.rb @@ -0,0 +1,178 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformation' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformation) + end + end + describe 'test attribute "business_identifier"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "country_registration"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "legal_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "doing_business_as"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_description"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "registration_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "stock_exchange"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "ticker_symbol"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "start_date"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_category_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "mcc_description"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "website_url"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_type"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "local_mcc"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "country_phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "what_your_company_does"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "trading_address"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_contact"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_details"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "owner_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "director_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_business_information_trading_address_spec.rb b/spec/models/underwriting_configuration_organization_information_business_information_trading_address_spec.rb new file mode 100644 index 00000000..23f56c3a --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_business_information_trading_address_spec.rb @@ -0,0 +1,76 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformationBusinessInformationTradingAddress) + end + end + describe 'test attribute "country"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address1"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "address2"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "building_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "locality"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "administrative_area"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_organization_information_spec.rb b/spec/models/underwriting_configuration_organization_information_spec.rb new file mode 100644 index 00000000..37e8873b --- /dev/null +++ b/spec/models/underwriting_configuration_organization_information_spec.rb @@ -0,0 +1,58 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationOrganizationInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationOrganizationInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationOrganizationInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationOrganizationInformation' do + it 'should create an instance of UnderwritingConfigurationOrganizationInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationOrganizationInformation) + end + end + describe 'test attribute "parent_organization_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "organization_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "boarding_package_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "business_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_sale_representative_information_spec.rb b/spec/models/underwriting_configuration_sale_representative_information_spec.rb new file mode 100644 index 00000000..e7fc7c3b --- /dev/null +++ b/spec/models/underwriting_configuration_sale_representative_information_spec.rb @@ -0,0 +1,70 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfigurationSaleRepresentativeInformation +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfigurationSaleRepresentativeInformation' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfigurationSaleRepresentativeInformation.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfigurationSaleRepresentativeInformation' do + it 'should create an instance of UnderwritingConfigurationSaleRepresentativeInformation' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfigurationSaleRepresentativeInformation) + end + end + describe 'test attribute "sales_rep_id"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sales_rep_first_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sales_rep_last_name"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sales_rep_email"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sales_rep_numeric_phone_number_country_code"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sales_rep_phone_number"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/underwriting_configuration_spec.rb b/spec/models/underwriting_configuration_spec.rb new file mode 100644 index 00000000..42d9d789 --- /dev/null +++ b/spec/models/underwriting_configuration_spec.rb @@ -0,0 +1,94 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::UnderwritingConfiguration +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'UnderwritingConfiguration' do + before do + # run before each test + @instance = CyberSource::UnderwritingConfiguration.new + end + + after do + # run after each test + end + + describe 'test an instance of UnderwritingConfiguration' do + it 'should create an instance of UnderwritingConfiguration' do + expect(@instance).to be_instance_of(CyberSource::UnderwritingConfiguration) + end + end + describe 'test attribute "client_reference_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "merchant_application"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "metadata"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "metadata_external"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "organization_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "device_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "deposit_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "billing_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "sale_representative_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + + describe 'test attribute "file_attachment_information"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end diff --git a/spec/models/update_invoice_request_spec.rb b/spec/models/update_invoice_request_spec.rb index 050f0756..5e8e2e38 100644 --- a/spec/models/update_invoice_request_spec.rb +++ b/spec/models/update_invoice_request_spec.rb @@ -55,4 +55,10 @@ end end + describe 'test attribute "merchant_defined_field_values"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + end diff --git a/spec/models/upv1capturecontexts_capture_mandate_cpf_spec.rb b/spec/models/upv1capturecontexts_capture_mandate_cpf_spec.rb new file mode 100644 index 00000000..26429c28 --- /dev/null +++ b/spec/models/upv1capturecontexts_capture_mandate_cpf_spec.rb @@ -0,0 +1,40 @@ +=begin +#CyberSource Merged Spec + +#All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + +OpenAPI spec version: 0.0.1 + +Generated by: https://github.com/swagger-api/swagger-codegen.git +Swagger Codegen version: 2.4.38 +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for CyberSource::Upv1capturecontextsCaptureMandateCPF +# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen) +# Please update as you see appropriate +describe 'Upv1capturecontextsCaptureMandateCPF' do + before do + # run before each test + @instance = CyberSource::Upv1capturecontextsCaptureMandateCPF.new + end + + after do + # run after each test + end + + describe 'test an instance of Upv1capturecontextsCaptureMandateCPF' do + it 'should create an instance of Upv1capturecontextsCaptureMandateCPF' do + expect(@instance).to be_instance_of(CyberSource::Upv1capturecontextsCaptureMandateCPF) + end + end + describe 'test attribute "required"' do + it 'should work' do + # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers + end + end + +end From 29b804331c3dd4c945690dd72681d9b725950c15 Mon Sep 17 00:00:00 2001 From: gnongsie Date: Wed, 8 Oct 2025 20:17:58 +0530 Subject: [PATCH 2/3] Removed unintentional tab character --- lib/cybersource_rest_client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cybersource_rest_client.rb b/lib/cybersource_rest_client.rb index 4ba7b860..3e8d1ce9 100644 --- a/lib/cybersource_rest_client.rb +++ b/lib/cybersource_rest_client.rb @@ -1502,7 +1502,7 @@ require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details' -require 'cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription' +require 'cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription ' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address' From 8085ed7aa1652d824d55cb64d04f750e2b121ff9 Mon Sep 17 00:00:00 2001 From: gnongsie Date: Wed, 8 Oct 2025 20:18:56 +0530 Subject: [PATCH 3/3] Removed unintentional tab character --- lib/cybersource_rest_client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cybersource_rest_client.rb b/lib/cybersource_rest_client.rb index 3e8d1ce9..4ba7b860 100644 --- a/lib/cybersource_rest_client.rb +++ b/lib/cybersource_rest_client.rb @@ -1502,7 +1502,7 @@ require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_address_2' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_contact' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_business_details' -require 'cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription ' +require 'cybersource_rest_client/models/underwriting_configuration_business_details_product_services_subscription' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_director_information' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_owner_information' require 'cybersource_rest_client/models/underwriting_configuration_organization_information_business_information_trading_address'